FURPS i SMART na widłach

Co to znaczy, że wymagania są zweryfikowane? To znaczy, że z powodzeniem przeprowadzono test polegający na wykonaniu wszystkich czynności modelu procesu biznesowego. Skąd to wiemy? Bo na wejściu modelu procesu "podano" prawdziwe dokumenty, udało się na modelu wskazać wszystkie czynności wymagane do obsłużenia tego dokumentu i nie było innych zbędnych, otrzymaliśmy taki sam rezultat (wynikowy dokument i jego stan) jak w naturze oraz na liście przypadków użycia są wszystkie te i tylko te, które były potrzebne by ten proces bez błędu przeszedł do końca. Jak to się robi? Przeczytaj o tym tu.Jeżeli dokument wymagań nie spełnia tych kryteriów, to jak sam Hume twierdzi, jest on bezwartościowy, nie niesie żadnej wiedzy gdyż poszczególne wymagania są: albo niezrozumiałe, albo zrozumiałe lecz nie uzasadnione, albo zrozumiałe i zasadne lecz banalne (np. mają być Sprecyzowane). Tak więc wiemy co to znaczy FURPS i SMART (powyższe skróty). Odbierając dokumenty analiz zadawajcie pytanie: a skąd wiemy, że te wymagania (które ktoś spisał) są FURPS i SMART i co to oznacza?

Czytaj dalejFURPS i SMART na widłach
Plan rozwojowy - diagram BMM
Plan rozwojowy - diagram BMM

Większa elastyczność i lepsza obsługa klienta na szczycie listy życzeń użytkowników systemów ERP

Celem diagramów nie jest tylko rysowanie obrazków, to narzędzie analizy, które zmusza do zadawania właściwych pytań, właściwym osobom. Jako, że model BMM stanowi kompletny system pojęciowy, a przy okazji także ma swoją symboliczną wersję (notacja), pozwala tworzyć nieskomplikowane diagramy i skupić się na tym co ważne a po drugie pokazać system w sposób łatwy do weryfikacji i zrozumienia. Stworzenie spójnego tekstu na podstawie takiego diagramu jest już łatwe, w drugą stronę to niestety nie działa (łatwo jest słownie opisać skomplikowaną trasę wycieczki mając plan miasta w rękach, zrobienie tego na bazie wyobraźni jest dużo trudniejsze, jednak warto posiadać mapę).

Czytaj dalejWiększa elastyczność i lepsza obsługa klienta na szczycie listy życzeń użytkowników systemów ERP

Kilka słów o kosztach analizy przedwdrożeniowej i prawie autorskim

Tak więc na zakończenie zwrócę uwagę: analiza wymagań i projekt oprogramowania jest złożona, niezależnie od tego ilu użytkowników go będzie używało. Jednak koszt wdrożenia oprogramowania w firmie 10 osobowej będzie nieporównywalnie mniejszy niż w korporacji zatrudniającej 1000 osób. Tu jednak problemy leżą już gdzie indziej.Ale ktoś powie: duży ERP wymaga przewidzenia wielu ról w systemie i w związku z tym obsługi wielu etapów jakie pokonują tam dokumenty. Owszem, dlatego uważam, że należy osobno wybrać system, który wchłonie te dokumenty (np. finanse itp.) i osobno system, które je tam doprowadzi czyli "jakiś workflow". To dużo bezpieczniejsze i mniej ryzykowne. (na diagramie poniżej (dan z IBM) wdrożenie to etap instalacji i oddania do użytku.Dlatego dobrą praktyką jest raczej oddzielenie projektowania od wykonania. Zlecenie analizy i opracowania rozwiązania i przejęcie praw majątkowych do opracowania (projektu systemu) i na tej podstawie dopiero wskazanie wykonawcy daje gwarancje, że dostawca oprogramowania nie nabędzie żadnych praw do Państwa pomysłu. Daje gwarancję, że Wasz unikalny pomysł nie stanie się "modelem referencyjnym dla branży..." lub co gorsza "gotowym produktem z pudełka"...

Czytaj dalejKilka słów o kosztach analizy przedwdrożeniowej i prawie autorskim

Ach ten wstrętny, wścibski analityk

Cóż, zastąpienie procesu analizy i projektowania werbalną komunikacją to droga na skróty: czerwona strzałka. Czy to zła droga? Droga na skróty to wspomniane na początku ryzyko, ogromne bo statystyki wskazują stale, że ok. 70-80% projektów programistycznych ma poważne kłopoty. Statystyki te są takie same od lat.Od lat znany jest powyższy proces i mimo to zawsze jest te 80% klientów i ich dostawców, którzy dogadują się, że analiza i projektowania żadnemu z nich nie służy... tak jak to napisano na początku.Po co to napisałem? By każdy z Państwa sam, świadomie, oceniał ryzyko swoich projektów. Rezygnacja z analizy i projektowania to podjęcie pewnego ryzyka, przez klienta. Niestety rezygnacja z analizy i projektowania ze strony dewelopera to czasem dodatkowo skutek uznania, że analiza i projektowanie leży poza kompetencjami programistów (Ci obiektowo kodują) wiec wybierają jest droga na skróty.

Czytaj dalejAch ten wstrętny, wścibski analityk

Polemika

Na zakończenie dodam coś do manifestu: ludzie, szanujmy na wzajem swoje kompetencje bo bez tego nie da się współpracować. Po drugie, nie tylko w kontekście owych modeli, których kolega nie doświadczył: to że ktoś nigdy nie widział czarnego łabędzie nie stanowi żadnego dowodu na jego nieistnienie. Dodam od siebie: to że ktoś czegoś nie potrafi nie znaczy, ze to nie możliwe. By nie budzić zbędnych emocji: obecnie nie potrafię już dobrze programować (co by to nie miało znaczyć) ale w swym rozsądku nie neguję istnienia oprogramowania.

Czytaj dalejPolemika

Urzędnikom i ustawodawcy zawdzięczamy utratę 100 mln euro

Koszt analizy i opracowania to ok. 20% wartości implementacji i mieści się nie raz nawet w kwocie nie wymagające przetargu (co istotnie skraca czas całości). Po drugie mając projekt, wycena implementacji nie jest już wróżeniem z fusów z narzutem 200-500% na wszelkie niewiadome (powszechna praktyka wielu firm developerskich, z bożej łaski integratorów). Zlecenie całości (analiza, projektowanie, wykonanie) jednej firmie nie raz kończy się tak:Wykonawca został wybrany w trybie zamówienia z wolnej ręki, ze względu na ochronę praw wyłącznych firmy Sygnity SA. Wykonawca został wybrany zgodnie z prawem polskim, natomiast zastrzeżenia Komisji wynikają z faktu, że w owym czasie polskie prawo nie było dostosowane do unijnego

Czytaj dalejUrzędnikom i ustawodawcy zawdzięczamy utratę 100 mln euro

Managing Requirements from a Business Analyst or an Enterprise Architect perspective using BABOK 2.0 and/or TOGAF 9

Autor artykułu porównuje obie te specyfikacje i pokazuje, że są praktycznie zgodne w 100%, nie licząc metody prezentacji i perspektywy. W obu przypadkach ma miejsce analiza, porównanie i specyfikacja celów biznesowych oraz przyporządkowanie ich do narzędzi (głównie ale nie tylko IT) wspierających realizację tego celu. Jeżeli uznać, że specyfikacja coś opisuje, to zależnie od fazy projektu jest specyfikacją potrzeb a potem specyfikacją tego co się posiada (jak uda się zakup ;)).

Czytaj dalejManaging Requirements from a Business Analyst or an Enterprise Architect perspective using BABOK 2.0 and/or TOGAF 9

Czy wymagania opisują tylko to “co” system ma robić?

Bardzo często tak właśnie definiuje się produkt analizy wymagań: wymagania funkcjonalne opisują to co ma system robić. W dyskusjach (ile mam ich za sobą :)) z programistami przebija się teza, że analityk specyfikuje to "co" system ma robić, a oni już załatwia sprawę tego "jak" ma to robić. W czym problem? W tym, że funkcjonalności to test rozwiązania a nie wymagania! [...] Przypadki użycia stanowią bardzo mierne przybliżenie rzeczywistości. [...] Tak więc dokument wymagań to nie tylko przypadki użycia. Te są raczej testem poprawności rozwiązania, czy model jest poprawny (przypominam, że przypadki użycia, poza ich scenariuszami, zawierają stan początkowy i stan końcowy akcji użytkownika). [...] Programiści, proszę, nie udawajcie, że znacie się na zarządzaniu, marketingu, biznesie, sprzedaży, rynku, produkcji itp. bo to (poza pewnie istniejącymi wyjątkami) nie prawda, a projektowanie na zasadzie "wydaje mi się że rozumiem" to droga do porażki. [...] System ERP można wybrać na bazie projektu na wyższym poziomie abstrakcji. Analizy firmy także polega tu na opracowaniu modeli procesów. Jednak w tym wypadku ich celem jest stworzenie raczej "modelu filozofii działania" firmy a nie projektowanie systemu od zera.

Czytaj dalejCzy wymagania opisują tylko to “co” system ma robić?

Postrzyżyny, czyli przyszedł Groupon do fryzjera

Co mogę poradzić małym i średnim firmom? To, że jak już raz ustalą cenę by jej nie zmieniały bez mocnego uzasadnienia. Promocja to nie prosta obniżka ceny a wymiana ustępstw pomiędzy dostawcą a kupującym. Jeżeli jest to wprowadzanie nowego produktu na rynek, to obniżka ceny jest rekompensatą za ryzyko kupowania czegoś nowego czego się nie zna. Często można usłyszeć o promocji na np. jogurty, sprzedawane są po obniżonej cenie produkty, którym kończy się termin przydatności do spożycia ale to nazwał bym raczej wyprzedażą. W obu jednak przypadkach obniżona cena ma uzasadnienie i powrót do poprzedniej wyżej ceny jest możliwy bez psucia sobie wizerunku. Klient, który coś kupi taniej a później znowu widzi wyższą (np. poprzednią cenę) czuje się oszukany.

Czytaj dalejPostrzyżyny, czyli przyszedł Groupon do fryzjera

Czego moglibyśmy się nauczyć od naukowców?

I tu zaczynają się schody. Bo jeżeli rozumiem programistów, że lubią się bawić, to nie rozumiem dlaczego od razu chcą latać na prototypach samolotów, gorzej, nie chcą czekać na projekt i te śmieszne rysunki techniczne. Dlaczego inżynier mechanik chce zajmować się projektowaniem tego jak ma wyglądać i latać samolot skoro jego rola i kompetencje to konstruowanie a nie np. badanie satysfakcji klienta z lotu na wygodnym fotelu...Jak mam sobie wyobrazić tworzenie samolotu w postaci podstawianych na lotnisko pasażerskie kolejnych prototypów? Czy każdy projekt IT to samoloty? Tak! Tam pracują ludzie, płacą za to i cierpi ich biznes jak oprogramowanie nie zadziała jak trzeba! Co mogę po tym powiedzieć? Państwo sami zdecydujcie co wolicie w swoich projektach: 200% narzutu na swobodne podejście dostawców oprogaramowania czy 20% na dobrego analityka projektanta...

Czytaj dalejCzego moglibyśmy się nauczyć od naukowców?

Sprawna Inżynieria Oprogramowania: Ekstremalna obiektowość

W projektach informatycznych najczęściej spotykamy: analityka wymagań (AW), analityka systemowego (AS), dewelopera w tym architekta systemu (D). W zasadzie trudno powiedzieć co jest produktem każdego z nich. Najczęściej AW dostarcza jakiś opis tego czego oczekuje klient, AS robi porządkuje to zrobił AW np. z pomocą przypadków użycia a D bierze to do ręki i musi zaprojektować i wykonać oprogramowanie. Jak widać, odpowiedzialność za to co powstanie jest rozmyta. Klient najpierw przekazuje swoje oczekiwania AW zaś otrzymuje produkt od D. Konia z rzędem temu, kto mi powie jak tego dokonać bez permanentnych iteracyjnych wyjaśnień i bombardowania Klienta pytania w rodzaju "co Państwo mieli na myśli pisząc...".

Czytaj dalejSprawna Inżynieria Oprogramowania: Ekstremalna obiektowość

(nie)przemyślany zakup w policji

No cóż, analiza biznesowa to nie tylko IT. Projektów z poza tej dziedziny mam mało, to raczej rodzynki. Prawdopodobnie dlatego, że "analiza wymagań" kojarzy się najczęściej z oprogramowaniem a to duży błąd. Dlaczego? Cóż, wymagania to wymagania, są uniwersalne i nie muszą być od razu "informatyczne". Ale metody analizy pozostają te same, o ile chce się je zastosować. Po co? Jak zawsze: by uniknąć ryzyka złego wyboru, złej decyzji.

Czytaj dalej(nie)przemyślany zakup w policji

Koniec treści

Nie ma więcej stron do załadowania