Poza kontekstem biznesowym i systemowo projektowym, o którym pisałem w Faza inicjacji cz. 1 – Wizja rozwiązania wcześniej warto też zastanowić się nad całokształtem przedsięwzięcia. Obok najważniejszej z nich, czyli decyzji o uruchomieniu projektu rozwoju oprogramowania, musi być podjętych szereg innych decyzji, od których zależy przebieg i powodzenie całego projektu.
Najważniejsze z nich to:
- Wybór modelu, zgodnie z którym będzie realizowane przedsięwzięcie.
- Wybór technik stosowanych w fazach analizy i projektowania.
- Wybór środowiska (środowisk) implementacji.
- Wybór narzędzia CASE i innych narzędzi do zarządzania projektem
- Określenie stopnia wykorzystania gotowych komponentów.
- Podjęcie decyzji o współpracy z innymi producentami lub zatrudnieniu ekspertów.
Niezmiernie ważna dla powodzenia dalszych prac i podjęcia odpowiednich decyzji jest również wiedza o ograniczeniach, z którymi trzeba się liczyć planując, a później realizując projekt.
- Jak duży będzie projekt?
Należy oszacować rozmiar projektu (np. w punktach funkcyjnych) oraz dopasować do niego wielkość pozostałych zasobów potrzebnych do jego wytworzenia, jak na przykład wielkość zespołu projektowego i czas realizacji. - Jaka będzie dostępność zasobów (budżet, personel, kadra)?
Należy zebrać informacje o dostępnym budżecie, formach nią przedsięwzięcia, planowanych przepływach gotówkowych i dostępności personelu itp. - Jakie są ograniczenia (krańcowe daty ukończenia wdrożenia itd.)?
Należy ustalić najważniejsze terminy w projekcie, takie jak na przykład termin dostarczenia prototypu, termin dostarczenia produktu, czas wdrożenia itp. Konieczne jest też przypisanie do odpowiednich warunków granicznych, gdyż nie każde z zidentyfikowanych ograniczeń musi mieć taki sam wpływ na powodzenie projektu. Na przykład data przekazania systemu wspierającego wybory do samorządów jest ograniczeniem kluczowym, a dostarczenie choćby jeden dzień po terminie powoduje, że staje się on bezużyteczny. - Jakie są niezbędne warunki wstępne, aby można było rozpocząć projekt?
Należy zebrać informacje o warunkach, których spełnienie oznacza rozpoczęcie realizacji projektu. Rozpoczęcie projektu może być uzależnione na przykład od zakończenia restrukturyzacji przedsiębiorstwa powodzenia innego projektu, podjęcia lub nie decyzji politycznych (np. uchwalenia przez Sejm ustawy), zaistnienia pewnych regulacji prawnych (np. przepisów wykonawczych) itd. - Jaka jest dostępność oprogramowania oraz narzędzi do rozwoju oprogramowania?
Należy zebrać informacje o dostępnym środowisku infrastruktury wspierającej działanie przyszłego systemu, określić potrzeby inwestycyjne w tym zakresie oraz możliwości zmiany lub modernizacji tego środowiska itp. - Jaka jest dostępność technologii oraz know-how?
Należy ustalić jakie technologie są dostępne, czy nie występuje konieczność zakupu pewnych technologii, przeszkolenia personelu itp. - Jaka jest dostępność specjalistów wewnątrz firmy oraz zewnętrznych ekspertów?
Należy oszacować, jacy specjaliści będą niezbędni do realizacji projektu (np. eksperci dziedzinowi) oraz ustalić, gdzie i kiedy mogą być dostępni. Jak wiadomo, dobrzy eksperci są poszukiwani i najczęściej mają dużo zleceń.
Wśród najważniejszych ograniczeń, które należy wziąć pod uwagę, znajdują się:
- Maksymalne nakłady, jakie można ponieść na realizację przedsięwzięcia.
- Dostępny personel.
- Dostępne narzędzia.
- Ograniczenia czasowe.
Warto jest opisać projekt. Pod hasłem opisać projekt rozumiem zgromadzenie jednym miejscu szeregu decyzji projektowych. Może to być dokument nieformalny lub bardziej formalny taki jak: studium osiągalności lub plan rozwoju oprogramowania. Opracowanie to jest niezwykle ważne zarówno dla klienta, który na jego podstawie będzie podejmował decyzje, jak i dla wykonawcy, który musi oszacować wielkość, złożoność i koszt planowanego przedsięwzięcia oraz zaproponować klientowi pewne ogólne rozwiązania (np. środowisko implementacji).
Przykładowe zagadnienia do zastanowienia:
Ramowy Harmonogram przedsięwzięcia
Jednym z elementów prac w fazie inicjacji jest zaproponowanie wstępnego, szkieletowego podziału zadań oraz przypisanie im czasów i terminów realizacji.
Planowanie to rozpoczyna się od przygotowania listy zadań, które powinny być wykonane w celu realizacji przedsięwzięcia. Zadania te grupuje się w odpowiednią hierarchię oraz przyporządkowuje się wstępnie do zasobów potrzebnych do ich wykonania. Zadania wykonywane w czasie projektu pozostają między sobą w określonych związkach przyczynowo-skutkowych. Niektóre z nich mogą być rozpoczęte dopiero po zakończeniu wcześniejszych, inne mogą być wykonywane równolegle bądź też ich zakończenie (rozpoczęcie) uzależnione jest od zakończenia (rozpoczęcia) innych zadań. Zależności tego typu wraz z czasem realizacji zadań przedstawia się najczęściej na wykresie zwanym diagramem Gantta. Diagram Gantta jest bardzo prostym i bardzo pomocnym narzędziem podczas planowania ramowego harmonogramu przedsięwzięcia.
Jak już mowa o harmonogramie to warto jest także określić kto go przygotowuje. Otóż za harmonogram odpowiada kierownik projektu. Kierownik projektu to specjalista w dziedzinie zarządzania projektami. Jest odpowiedzialny za planowanie, realizację i zamykanie projektu. Podstawowym zadaniem kierownika projektu jest zapewnienie osiągnięcia założonych celów projektu, wytworzenie produktu spełniającego określone wymagania jakościowe. W moim odczuciu kierownik projektu powinien pojawić się gdy wizja biznesowa, czyli planowane zmiany uzyska wstępną akceptację.
Poza tym warto by na tym etapie zaczął powstawać Rejestr ryzyk.
Rejestr ryzyk, czyli zapis zidentyfikowanych ryzyk dotyczących danego projektu, wraz z informacją o ich statusie, historii i środkach przeciwdziałania. Jest wykorzystywany do gromadzenia i przechowywania informacji o wszelkich zagrożeniach i szansach związanych z projektem.
Opracowanie rejestru Ryzyk jest czynnością którą ma na celu zmitygować. Innymi słowy zneutralizować maksymalny sposób sytuacje, które mogą w negatywny sposób wpłynąć na projekt. Rejestr Ryzyk jest utrzymywane w całym w procesie wytwórczym. Generalnie chodzi o to, aby przewidzieć wcześniej sytuacje, które mogą uniemożliwić realizację projektu.
W tym celu identyfikuje się ryzyka. Nadaję im priorytety, a następnie planuję działania, które mają pozwolić na neutralizację ryzyka.
Kolejny dokument, który warto jest przygotować to uzasadnienie projektu zwany też z angielskiego Business Case. Uzasadnienie projektu jest uzupełnieniem wizji gdyż zawarta w wizji propozycja zmiany biznesowej, opisana jest w kategoriach kosztów i korzyści. To dość istotny dokument, zwłaszcza z punktu widzenia sponsorów projektu. Faza inicjacji to faza w której musimy określić konsensus pomiędzy potrzebami interesariuszy a możliwościami zespołu projektowego oraz funduszami, jakimi dysponujemy. W fazie tej powinniśmy określić zakres projektu jako zakres projektu rozumiem wysokopoziomowe opis tego jak będzie wyglądało w procesy biznesowe oraz architektura systemów po wdrożeniu tej zmiany.
Przygotowane zostanie ramowy harmonogram projektu oraz oszacowane zostaną koszty . Uzasadnienie biznesowe powinno pozwolić nam policzyć Ile zarobimy albo Ile zyskamy albo co zyskamy po wdrożeniu zmiany. gdy zderzymy oszacowane koszty, z potencjalnymi zyskami zyskamy swego rodzaju uzasadnienie realizacji potrzeby biznesowej.
Ostatnim punktem, który powinien być już pochodną harmonogramu i zakresu jest struktura projektu, odpowiedzialności poszczególnych zespołów, a także lista produktów projektowych, które te zespoły wytworzą.
Reasumując do najważniejszych rezultatów fazy inicjacji możemy zaliczyć:
- dokument wizja biznesowa, czyli opis potrzeb biznesowych oraz celi, a także opis jak to potencjalnie wpłynie na organizację
- wstępny kosztorys
- wstępny harmonogram projektu
- wstępny rejestr ryzyk
- uzasadnienie biznesowe
- struktura zespołów projektowych
I na koniec pytanie. Czy w małych zmianach lub projektach zwinnych też muszę tworzyć tyle dokumentów?
Otóż nie musisz tworzyć wielostronicowych elaboratów. To może być jedna lub dwie strony A4. Warto pochylić się nad tymi tematami. Niestety przy dużych projektach te dokumenty będą spore. Przy zwinnym i rozsądnym podejściu wyniki powyższych analiz da się zapisać w zwięzłej formie :-).
Tu nie liczy się ilość, a to by powyższe zagadnienia przemyśleć.
Spis treści: