Bo banki od wszystkiego są do niczego czyli złe modele dziedziny

Swego czasu na jednej z konferencji o analizie wymagań, mówiłem o potrzebie zrozumienia funkcjonowania analizowanej organizacji (firmy): ...wszystko to co nas otacza, samo w sobie jest naturalnie proste. Złożone są, nie poszczególne rzeczy, a to, że jest ich wiele i mają na siebie wzajemny wpływ. Pamiętajmy, że jedna z najtrudniejszych gier na świecie ? szachy ? to tylko kilkanaście figur i proste reguły ich przemieszczania. Nawet największą organizację można, w toku analizy, rozłożyć na skończoną liczbę ról i reguł ich postępowania i zrozumieć jej funkcjonowanie. (żr. Jarosław Żeliński, referat na konferencji o systemach ERP). Analiza biznesowa to etap opisu (zrozumienia) modelowanej organizacji (modele procesów itp.). Potem, powstaje model rozwiązania, którym jest nie raz własnie oprogramowanie, jego logika (patrz powyższy cytat) to "obiektowy model dziedziny systemu", a nie jakiś diagram klas nafaszerowany atrybutami i pozbawiony operacji bo jest dokładnie odwrotnie...

Czytaj dalejBo banki od wszystkiego są do niczego czyli złe modele dziedziny

WYCIĘTE Z MEJLI (AD ABSURDUM): Rozumiem

  Od jakiegoś czasu śledzę blog WYCIĘTE Z MEJLI (AD ABSURDUM) (gorąco polecam). Dzisiaj przeczytałem to: "Rozumiem, że lubi Pan pracować w photoshopie, ale uważamy że ten program jest za mało uniwersalny. Proszę pracować w MS Paint, będzie nam łatwiej edytować Pana pliki i wstawiać poprawki." (za pomocą WYCIĘTE Z MEJLI (AD ABSURDUM): Rozumiem). Dokładnie miesiąc temu u jednego z klientów usłyszałem analogiczny zarzut, który można by parafrazować: "Rozumiem, że lubi Pan pracować w "modelerze" (mój CASE VP-Agilian), ale uważamy że ten program jest za mało uniwersalny. Proszę pracować w MS…

Czytaj dalejWYCIĘTE Z MEJLI (AD ABSURDUM): Rozumiem
Krzywy Dom zaprojektowany przez Szczepana i Małgorzatę Szotyńskich
Krzywy Dom zaprojektowany przez Szczepana i Małgorzatę Szotyńskich

Jak wyceniać projekty IT?

Jak widać próba wyceny całego projektu już na samym jego początku to wróżenie z fusów, wykonawca przyjmie wartość bezpieczna dla siebie, a tak określony budżet i tak zostanie skonsumowany (co pokazuje praktyka, tak się składa oferty w przetargach publicznych, taka jest jakość większości zapytań przetargowych!). Wystarczy wydzielić etap projektowania (analiza i projektowanie to ok. 20% kosztu developmentu) i zawrzeć umowę na etapie co najmniej wstępnego projektu, wtedy "zawyżanie" (narzucanie zapasu na niewiedzę) spada dwukrotnie. Opracowanie kompletnego projektu przed wyceną prac developmentu to obszar bliski prawej części: estymacja kosztu z bardzo małym błędem.

Czytaj dalejJak wyceniać projekty IT?

Teoria komunikacji, dżungla ram i szkieletów

Wpadła mi niedawno w ręce książka: How to survive in the jungle of Enterpice Architecture Frameworks (autor Jaap Schekkerman, na Amazon.com dostępny fragment w tym spis treści). Dla mnie po lekturze tej książki nasuwa się jeden wniosek: moda na TOGAF to marketing The Open Group. Są inne, moim zdaniem ani gorsze ani lepsze, "ramy" architektoniczne (książka opisuje ich wiele). Podtytuł książki mówi wiele: Creating or choosing an Enterprise Architecture Framework (Tworzenie lub wybór ram architektury korporacyjnej). W zasadzie wystarczy wziąć przytaczaną powyżej definicję AE i podjąć powyższą decyzję: stworzyć lub wybrać. Nie jest to - tworzenie - łatwe, większość więc wybiera gotowe, jednak to jedynie ramy dlatego i tak nie da się tu niczego zastosować jak recepty.

Czytaj dalejTeoria komunikacji, dżungla ram i szkieletów

Słownik pojęć biznesowych: najbardziej podstawowe wymaganie

Pierwszym etapem analizy, bardzo trudnym, jest opracowanie modelu pojęciowego. Celem budowy tego modelu jest zrozumienie na poziomie komunikacji (tak zwany biznes z developerem -> zagwarantowanie jednoznaczności) oraz zrozumienie tego co jest przedmiotem projektu (modelując magazyn raczej planujemy oprogramowanie symulujące kartoteki magazynowe a nie produkty w magazynie). Ważne jest by na oprogramowanie patrzeć jak na narzędzie, bo ono nim jest. Oprogramowanie wspomagające zarządzanie magazynem, nie zastępuje tego magazynu i towarów w nim... Tak więc oprogramowanie, nazwy w nim używane, muszą spełnić warunek zgodności ze "słownikiem biznesowym": biznesowy słownik pojęć (zgodność z nim) to jest wymaganie.

Czytaj dalejSłownik pojęć biznesowych: najbardziej podstawowe wymaganie

Jawność ofert – zawsze mów prawdę

Na prawdę uważam, że ukrywanie treści ofert to sygnał: "jestem kanciarzem" (podobnie jak niepodpisywanie ich imieniem i nazwiskiem autora). Nie widzę nawet jednego powodu by np. cena była "know-how" firmy... jeżeli ktoś tak uważa to ... współczuję. Prawdziwe know-how spokojnie chroni prawo autorskie czy patentowe, tajemnica firmy - a np. szczegóły organizacyjne firmy (tajemnica), to raczej nie jest przedmiot oferty ani zapytania.

Czytaj dalejJawność ofert – zawsze mów prawdę

Strategia, model biznesowy, architektura korporacyjna ? jak to powiązać?

Jak widać mamy do dyspozycji BMM, który "pasuje" do omawianego problemu. Uzupełniona systemami pojęciowymi "dziedzinowymi" czyli BPMN (procesy biznesowe powiązane z zasobami) oraz UML (struktury i systemy) mam kompletny i spójny pojęciowo (dba o to organizacja OMG) zestaw narzędzi stanowiący w moich oczach odpowiedź na tytułowe pytanie. I teraz moja konkluzja: bazując na "brzytwie Ockhama" podjąłem próbę sprawdzenia czy przypadkiem odpowiedź na tytułowe pytanie sformułowane przez Andrzeja, już nie istnieje... Odnoszę wrażenie, że właśnie prace OMG, ich wynik, są chyba odpowiedzią na to pytanie. Faktem jest, że nie wprost, ale chyba analizując te systemy pojęciowe, architekturę korporacyjna oraz BMM, można uznać, że tytułowe powiązanie istnieje. Opisałem to z nieco innej strony w artykule Architektura Korporacyjna z OMG.

Czytaj dalejStrategia, model biznesowy, architektura korporacyjna ? jak to powiązać?

Nieudane wdrożenie systemu biznesowego – czy uczymy się na błędach innych

Jeżeli jednak okaże (analiza) się, że zakup programu ma pomóc, to należy opisać wymagania jakie taki program musi spełnić (wymagania wobec produktu). Te wymagania są podstawą do wyboru gotowego, dostępnego na rynku oprogramowania, lub decyzji o napisaniu dedykowanego, jeżeli poszukiwania nie dadzą pozytywnego rezultatu (ale etap szukania gotowego powinien dla zasady mieć miejsce). Dedykowane rozwiązanie wymaga jego zaprojektowania, to można (zalecane) zrobić przed wyborem wykonawcy lub zlecić wybranemu wcześniej wykonawcy. Wariant drugi naraża nas jednak na utratę panowania nad projektem bo wykonawca będzie forsował metody budujące mu marże a potem sam sobie świadczy nadzór autorski. Wbrew pozorom, angażowanie audytora projektu, który nie jest autorem dokumentacji wymagań nie wnosi nic, a komplikuje cały proces: taki audytor może jedynie ocenić zgodność działań projektowych z dokumentacją wytworzoną przez (audytowanego) wykonawcę, a w przypadku sporu i tak tu "władzę" ma autor projektu a nie audytor. I teraz: ogłoszenie przetargu na całość na początku tej drogi jest jak widać idiotyzmem bo nie mamy żadnej wiedzy by ocenić wynik pracy a dostawca żadnej by cokolwiek sensownie wyceniać. Pominięcie jakiegokolwiek z tych w/w opisanych etapów to podnoszenie ryzyka projektu, co mam na dzieję widać. Każde wymaganie może być zero jedynkowe na każdym z tych etapów, wystarczy chcieć i umieć. Owszem, można je dzielić na biznesowe itp... ale to tylko sztuczne podziały, po prostu podczas realizacji mamy już tylko etap i jego wymagania. (Nieudane wdrożenie systemu biznesowego - czyli uczmy się na błędach innych | LinkedIn). I tylko tu pojawia się pytanie jak w filmie MIŚ: a może to faktycznie ma być drogie i nieprzydatne a ja zupełnie bez sensu jestem tym zdziwiony?

Czytaj dalejNieudane wdrożenie systemu biznesowego – czy uczymy się na błędach innych

User Stories, czym jest?

Tak więc programista implementuje logikę biznesową, tę musi jednoznacznie udokumentować analityk, oraz zapewnia uzgodnioną jakość (wymagania pozafunkcjonalne). Ma więc dużo pracy... ale nie powinien podejmować prób wpływu na implementowaną logikę biznesową. Czyli np. "jako sprzedawca, dostaję od klientów zamówienia, na podstawie których muszę wystawiać faktury VAT", do tego analityk doda, np. po analizie otrzymanej partii dokumentów, strukturę zamówienia i faktury VAT oraz "algorytm" wyliczenia podatków. Jeżeli programista zaczyna "lepiej wiedzieć" od zamawiającego, forsując np. prostszą implementację, to znaczy, że przekroczył swoje kompetencje, sam sobie - jako developerowi - robi krzywdę psując to oprogramowanie bo klient i tak prędzej czy później na tych uproszczeniach "polegnie". Rolą analityka są także ewentualne negocjacje z zamawiającym, uproszczeń lub rozwinięć tego opisu. Czy analityk może być "pracownikiem" dostawcy? Jak sądzicie?

Czytaj dalejUser Stories, czym jest?
Read more about the article Teoria a praktyka – czyli kompetencyjna tragedia
nie istnieją proste rozwiązania złożonych problemów

Teoria a praktyka – czyli kompetencyjna tragedia

Co jakiś czas czytamy o porażkach projektów w sferze publicznej, zapewniam, że są one nie takim rzadkim zjawiskiem w sferze prywatnej. Dlaczego nie czytamy o tym? Bo, na szczęście dla firm prywatnych, nie dotyczy ich ustawa o dostępie do informacji publicznej itp., projekt nabywa status "tajemnica korporacji"' i nikt nie wie poza tymi, co brali udział w projekcie. Miewam konsultacje, korepetycje, coaching itp. Pytany jestem często: "czy zdarza się Panu w projektach, że np. kierownik projektu mówi, że nie ważna jest jakość tych projektów tylko termin i protokół odbioru, klient i tak nie potrafi tego skontrolować". Powiem tak, zdarza mi się i wtedy odmawiam albo rezygnuje z udziału w projekcie, jednak ja nie mam umowy o prace i jestem nią szantażowany (jej utratą). Prawdę mówiąc nie wiem co mam tym ludziom mówić, poza powyższym oczywiście, ale i tak zawsze mówię: bądź uczciwy (co jest bardzo trudne).

Czytaj dalejTeoria a praktyka – czyli kompetencyjna tragedia

Policja znów ma wadliwy system czyli wzorcowy przykład patologii

Nie raz rozpisuję się na temat dokonań projektowych państwowego IT za publiczne pieniądze. Są tacy co zarzucają mi czepianie się i złośliwości. Powód jest jednak tylko jeden: sami proszą się by być antywzorcami i to zarówno instytucje publiczne jak i wykonawcy tych  projektów. Mamy kolejny. Najpierw terminy: Aż 15 miesięcy po terminie Komenda Główna Policji odebrała unikatowy system do obsługi policji, choć ma wątpliwości, czy zadziała ? siedmiokrotne próby testowe wyszły negatywnie.[...] KGP na zrealizowanie przedmiotu umowy przewidziała tylko rok. [...] Czyli statystyki mówią prawdę:  tu czas trwania to 225%  czasu…

Czytaj dalejPolicja znów ma wadliwy system czyli wzorcowy przykład patologii

Mucha – czyli jak staję się biurokratą

Tak więc gdy trafisz na klienta myślącego prostymi schematami, opowiedz mu co proponujesz i nie narzucaj się. Klient, który "wie lepiej" - nie mówiąc Ci o tym - i tak pogrzebie Twoja pracę... A na początku zawsze ostrzegaj swoich klientów tak ja ja: "zanim zapytacie, bądźcie pewni, że chcecie poznać odpowiedź"... Niestety bywa tak, że klient na początku pokazuje, że przyjmuje z pokorą to co mówisz, a powie Ci o tym, że nie uznaje odpowiedzi dopiero jak ją pozna , wtedy jedynym co można zrobić jest wyjęcie segregatora, który zawiera zapisane wszystkie, zaakceptowane po drodze, kluczowe etapy tej współpracy... miej je zawsze. Drugim wyjście jest ... wyjście z tego projektu. Rada dla firm angażujących analityków: sprawdź czy przypadkiem angażowany analityk nie jest badaczem much... Rada dla angażowanych analityków: upewnij się, czy przypadkiem organizacja, która Cię angażuje, nie jest wioską szamana...

Czytaj dalejMucha – czyli jak staję się biurokratą

Koniec treści

Nie ma więcej stron do załadowania