Analityk biznesowy, współpracujący ściśle z kierownikiem projektu, ułatwia radzenie sobie z wyzwaniami biznesowymi. Jednakże, podczas gromadzenia wymagań dla nowego lub już istniejącego projektu, analityk biznesowy musi mieć na uwadze, że każdy projekt może wymagać stworzenia i przeprojektowania towarzyszących mu procesów. Analityk biznesowy musi więc działać jako nośnik zmiany, aby sprawić, że nowo wprowadzane procesy nie tylko zwiększają sukces projektu, lecz także zwielokrotniają szanse projektu na osiągnięcie celów biznesowych organizacji.
W czym problem z kiepskiej jakości analizami i modelami? W tym, że ich autorzy podejmują próby dodawania nowych symboli do notacji, psując spójność i jednoznaczność diagramów, stosują symbole notacji niezgodnie z nadanymi im znaczeniami albo łamią zasadę wyłączonego środka mówiącą w uproszczeniu, że jeżeli coś jest czymś to znaczy, że nie jest już niczym innym (np. jeżeli coś jest zdarzeniem to na pewno nie jest ani czynnością, ani danymi, ani regułą decyzyjną). Innymi słowy: jeżeli jakieś ziarno węgla jest kostką to na pewno nie jest ani groszkiem, ani orzechem ani miałem.A co jeżeli jednak wynik analizy jest opisem w języku naturalnym lub zestawem diagramów łamiących zasady notacji? Wtedy tak naprawdę analitykami są programiści, bo oni i tak muszą to zamienić na kod w języku programowania, którego używają. Czy to dobry pomysł? Pozostawię odpowiedź czytelnikowi...
? 70% of all project failures are as a result of poor requirements.
? There is a 60% time and cost premium to be paid on projects with poor quality requirements.
? As the projects get more interdepartmental and complex, the failure rate rises.
? It costs 80 times as much to fix defects after delivery, than at the specification stage.
? 74 per cent of all companies have immature requirements practices.
? Large scale systems project fail with alarming regularity. A typical project over-ran its budget by 189% and over-ran its schedule by 222%.
? Average project has about 30% rework. This means that for every Kshs 1,000,000, Kshs 300,000 is spent redoing something that was thought to be complete.
? The average company with low requirements maturity wastes 34% of the organization?s IT development budget.
? 68% of companies simply did not use the necessary competency in requirements discovery at the start of their project to assure project success.
Source: IAG Business Analysis Benchmark, 2008 (za HARD FACTS ON BUSINESS ANALYSIS | LinkedIn).
Stosowanie reguł (semantyki i syntaktyki) UML pozwala utrzymać spójność modeli zależnych (podległe temu diagramowi uszczegółowienia Projektu Systemu, realizacja Aktorów, przypadki użycia itp.) oraz zachować spójność logiczną i pojęciową całej dokumentacji. To zaś jest warunkiem weryfikacji poprawności całego projektu.UML to notacja, której kluczowym pojęciem jest klasyfikator (oparta jest na definiowanych pojęciach i relacjach między nimi) dlatego warto przestrzegać (zawsze warto) zasad notacji i np. nie utożsamiać Aktora System CRM (jest to jakaś abstrakcja systemu integrowanego) z konkretnym Jakimś Systemem CRM. Aktor ma konkretne znaczenie na diagramie UML (zdefiniowane wyżej) i konkretny system także. Zachowanie tego podziału (abstrakcja i jej realizacja) pozwala zdefiniować oddzielnie wymagania i oddzielnie konkretne rozwiązania je spełniające co jest istotą rozdziału wymagań od spełniających je rozwiązań.Diagramy przypadków użycia są bardzo ważnymi diagramami, gdyż stanowią "korzeń" modelu realizacji systemu zaś łamanie zasad notacji prowadzi praktycznie zawsze do utraty możliwości ich, modeli, weryfikacji.
Według Forrester zmieniający się porządek zapotrzebowania na specjalistów IT wynika głównie z trzech rzeczy: Coraz większa popularność różnych technologii i rozwiązań jak np. SaaS (Software -as-a-service) bądź Business Intelligence, które wpływają na zapotrzebowanie na konkretne umiejętności; Coraz bardziej rosnące znaczenie outsourcingu ze względu na łatwą dostępność czasową specjalistów o bardzo wysokich kwalifikacjach jak również opłacalność takiego modelu dla obu stron; Chęć redukcji kosztów wpływa coraz bardziej na decyzje podejmowane przez decydentów. Podczas badań jako skalę przyjęto skalę procentową odzwierciedlającą opinię decydentów w przebadanych firmach na temat znaczenia (ważności) ról w…
Tak więc moim zdaniem budżet zamawiającego to wiedza zamawiającego, której nie musi ujawniać. Skoro już jej nie ujawnia to powinien mieć kompetencje (własne lub wynajęte) pozwalające po pierwsze opisać projekt, po drugie zdefiniować (opisać) "to coś informatycznego" co pomorze mu ten projekt zrealizować.Wyjawienie przez klienta planów i budżetu takiemu dostawcy to postawienie się pod ścianę w negocjacjach z nim. Dlatego nie ma sensu sytuacja gdy dostawca pyta klienta o jego budżet czy oferowanie mu czegokolwiek. I nie ma tu znaczenia uczciwość tego dostawcy bo z perspektywy klienta sprzedawca na prowizji stanowi duże ryzyko dla rzetelności takiej oferty.I na koniec: napisanie tylko: "system ma wystawiać faktury VAT" jako opis tego co chcemy kupić nie ma żadnego sensu bo to stanowczo za mało by cokolwiek wycenić i ocenić.... ale też napisanie, że "kontrahenta można dodać do faktury z rozwijanej listy uruchamianej prawym klawiszem myszy", jest jeszcze większym błędem, bo po pierwsze nie raz narzuca wspomnianą kastomizacje (a to podnosi koszt), a po drugie bywają lepsze sposoby rozwiązania tego problemu. Dla gotowego systemu nie ma sensu pisanie aż takich szczegółów, a dla dedykowanego robi się to zupełnie inaczej.
To, że UML jest obcy większości analityków biznesowych to przykra prawda, dzisiaj raczej źle świadcząca o tej większości (patrz model kompetencji analityka biznesowego IIBA). Używanie UML do modelowania procesów biznesowych jest ograniczaniem możliwości tych modeli gdyż UML reprezentuje paradygmat obiektowy a BPMN procesowy a to dwa odrębne światy (to, że powstały i są wykorzystywane równolegle te dwie, różniące się od siebie, notacje notacje także o tym świadczy). Trudno także mówić o "podejściu" do modelowania procesów w UML bo to tak, jak by mówić że "łodzie reprezentują zupełnie odmienne podejście do poruszania się po drogach publicznych". Niestety są żeglarze, którzy nie uznają innej prawdy niż ta, że łodzią można wszędzie, trzeba się tylko postarać. Faktem jest, trzeba się dobrze postarać. [...] Co do wymagań samych narzędzi UML nie podejmuję się dyskusji bo narzędzia są rożne i każdy sam sobie je dobiera. Co do samej ścieżki analizy to raczej w pierwszej kolejności modelujemy biznes (modele BPMN) a potem dopiero zastanawiamy się i projektujemy narzędzie, oprogramowanie dla tego biznesu czyli pora na UML. Odwrotną kolejność sugerują dostawcy gotowego oprogramowania ale ten wątek był na tym blogu już nie raz poruszany.
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...".
Przecież analizę zrobimy sami, a jak nie - to zrobi to dostawca. Tak często rozpoczyna się tak zwana "Droga do klęski". Rzemieślnicy produkujący ?przed Kopernikiem? skomplikowane i kosztowne przyrządy do określania położenia planet i gwiazd z wiadomych powodów nie byli zainteresowani upraszczaniem modelu geocentrycznego i swoich skomplikowanych przyrządów. Dlatego zapewne nie raz jeszcze usłyszę, że dobra analiza to setki stron, tysiące wymagań, miesiące pracy.Jednak dobra analiza to tylko: dziesiątki stron i wymagań, tygodnie pracy ale nie dyktafon a zaawansowane metody, takie jak formalna analiza systemowa oparta na modelach i ich testowaniu.
Artykuł jaki ukazał się w COMPUTERWORLD skłonił mnie do konfrontacji moich doświadczeń i obserwacji z jego treścią, uwagami innych doświadczonych specjalistów. Być może warto pokusić się o pewne wnioski i sugestie... Wina klienta Według niego większość firm nie jest przygotowana na wdrożenie systemu ERP. "Firmy generalnie nie radzą sobie ze zmianami. Tymczasem wdrożenie systemu ERP pociąga ich za sobą nadzwyczaj dużo. Poza tym wiele organizacji ma problemy z odpowiednim definiowaniem procesów biznesowych. To właśnie te firmy będą miały największe problemy w uzyskaniu wymiernych korzyści z posiadanego systemu" - mówi David Bergen, były szef informatyki w…
Zwracam uwagę, że ?nowy system? to nie oprogramowanie pisane ?od zera? ale tworzenie go z komponentów (bo czym innym są szkielety programowe czyli tak zwane Frameworki). Warto taki scenariusz rozważyć zawsze jeśli koszt oprogramowania ERP wraz z modyfikacjami to kwota już nawet rzędu 200-300 tysięcy. Jeżeli to mniejsze projekty z grupy CRM, rozbudowanych stron WWW i podobnych, tym progiem są nie raz kwoty o rząd mniejsze. W takich przypadkach zawsze warto po prostu wysłać zapytania ofertowe także do firm programistycznych a nie tylko do dostawców gotowego oprogramowania.
Istotą opisu wymagań na system jest kontekst całego projektu i tej inwestycji a kontekstem tym jest model biznesowy i zakres projektu. Model biznesowy można wykonać nawet metodami formalnymi za pomocą pseudokodu czy języka relacji logicznych jednak model taki jest bezwartościowy, jeżeli nie stanowi sobą zrozumiałego przekazu dla każdego zaangażowanego w projekt czytaj "szczególnie klienta biznesowego". Kluczem do sukcesu jest tu modelowanie czyli zobrazowanie w sposób zrozumiały dla każdej strony w projekcie IT istoty biznesu i jego kontekstu w projekcie tworzenia i wdrażania oprogramowania. Model biznesowy i wewnętrzna struktura zarządzania organizacji to nie obiektowe modele a procesowe mapy łańcuchów tworzenia wartości w firmie. Model obiektowy ma zastosowanie dopiero podczas tworzenia modeli informacyjnych czyli struktury danych przechowywanych i przetwarzanych w firmie a dane to nic innego jak reprezentacja tych informacji, które firma chce przetwarzać oraz sposób w jaki chce to robić o czym wielu analityków zdaje się zapominać. Jak więc prowadzić analizy wymagań?
"Nie ulega wątpliwości, że praca analityka odgrywa coraz ważniejszą rolę w pomaganiu działom informatycznym w lepszym dostosowaniu zasobów informatycznych do celów biznesowych" - mówi Mike Burba, dyrektor ds. marketingu rozwiązań do zarządzania opracowywaniem aplikacji w firmie Compuware. - "Compuware robi wszystko, aby wspomóc analityków biznesowych w skuteczniejszej identyfikacji wymagań i efektywniejszej współpracy z partnerami".