Zastosowanie metodyk zarządzania projektami w tworzeniu aplikacji internetowych Mirosław Prywata UNIA EUROPEJSKA UNIA EUROPEJSKA EUROPEJSKI FUNDUSZ EUROPEJSKI FUNDUSZ ROZWOJU REGIONALNEGO ROZWOJU REGIONALNEGO Autor: Mirosław Prywata Infovide-Matrix Wydawca: Polska Agencja Rozwoju Przedsiębiorczości (PARP) ul. Pańska 81/83 00-834 Warszawa www.parp.gov.pl Skład: Małgorzata Gałązka Infovide-Matrix Wydanie I Publikacja bezpłatna Publikacja powstała w ramach projektu Uruchomienie wielofunkcyjnej platformy komunikacji inter- netowej wspierającej realizację działań 8.1 i 8.2 Programu Operacyjnego Innowacyjna Gospodarka , realizowanego przez Polską Agencję Rozwoju Przedsiębiorczości, współfinansowanego ze środków Unii Europejskiej w ramach Europejskiego Funduszu Rozwoju Regionalnego. Wspieramy e-biznes www.web.gov.pl Copyright � by Polska Agencja Rozwoju Przedsiębiorczości Warszawa 2010, Wszelkie prawa zastrze- żone. Żaden fragment nie może być wykorzystywany w jakiejkolwiek formie ani przekładany na język mechaniczny bez zgody PARP. Spis treści 1. Wprowadzenie 4 2. Definicje 4 3. Metodyki projektowe 4 3.1. PRINCE2 5 3.2. Project Management Body of Knowledge 6 4. Metodyki wytwórcze 7 5. Dostosowanie metodyk do małych projektów 8 6. Podsumowanie 9 7. yródła 9 Zastosowanie metodyk zarządzania projektami w tworzeniu aplikacji internetowych 3 www.parp.gov.pl www.web.gov.pl 1. Wprowadzenie Jednym z istotnych aspektów działalności organizacji jest godzenie bieżącej działalności operacyjnej z wyzwaniami ciągłej zmiany, doskonalenia i dostosowywanie się do warunków zewnętrznych. Przedsięwzięcia te ze względu na swój charakter określane są zwykle mianem projektów. W niniejszym e-booku przyjrzymy się sposobowi podejścia do realizacji takich przedsięwzięć, istniejącym praktykom na rynku oraz przykładem wykorzystania takiej metody w odniesieniu do niedużego projektu. 2. Definicje Projekt definiuje się jako wspólne przedsięwzięcie, uprzednio zaplanowane, realizowane aby osiągnąć określony cel. W metodykach zarządzania projekt definiuje się jako tymczasowe przedsięwzięcie mające na celu dostarczenie produktu, usługę lub rezultat. Metodyki projektowe zwykle posiadają własne defi- nicje projektu, które uwzględniają specyfikę projektu oraz kładą nacisk na te elementy, które są istotne z punktu widzenia danej metodyki. Zarządzanie projektami to dyscyplina z obszaru zarządzania, zajmująca się wiedzą, umiejętnościami i technikami związanymi z projektami. Metodyka zarządzania projektami to zbiór metod stanowiący spójne pojęciowo podejście do zarządzania projektem, zbiór zasad dotyczących sposobów wykonywania jakiejś pracy lub trybu postępowania pro- wadzącego do określonego celu. W Polsce jedną z najpopularniejszych metodyk zarządzania projektami jest PRINCE2TM. Kompendium Wiedzy z ang. Body of Knowledge, to ogólne określenie na zbiór dobrych praktyk, technik, terminów określających obszar dyscypliny zawodowej. Kompendia wiedzy zwykle tworzone są i publiko- wane przez organizacje skupiające osoby zawodowo zajmujące się danym obszarem. W Polsce jednym z najbardziej popularnych kompendiów wiedzy jest PMBoK. Project Management Institute (PMI) to organizacja, która jest właścicielem PMBoK, zrzeszająca ok. pół miliona członków. 3. Metodyki projektowe Projekt jako przedsięwzięcie, charakteryzuje się kilkoma specyficznymi cechami 1 " jest unikalny, " jest ograniczony w czasie, " ma określony koszt i czas trwania, " posiada cel. Cechy te odróżniają projekty od działalności operacyjnej firmy (tzw. business as usual). Z tego też względu przy zarządzaniu takim przedsięwzięciami nie sprawdzają się operacyjne metody zarządza- nia. Jednocześnie cechy wspólne dla projektów powodują, że możemy mówić o pewnych aspektach podobieństwa. To z kolei oznacza, że mimo różnorodności jest możliwe opracowanie metod wspólnych dla zarządzania takimi przedsięwzięciami. Obszar ten zajmują metodyki zarządzania projektami. Dla powodzenia projektu bardzo istotne jest to, aby jego cele zostały prawidłowo sformułowane. Często do określenia dobrych celów projektu używa się mnemotechnicznej reguły S.M.A.R.T. (z ang. Bystry, inteli- gentny, sprytny). Kolejne litery kodują charakterystykę celów. " S specific, szczegółowy, " M measurable, mierzalny, " A achievable, osiągalny, " R realistic, realistyczny, " T time bound, określony w czasie. Powyższe rozszyfrowanie skrótu jest tylko jedną możliwością można się spotkać w literaturze z różnymi modyfikacjami powyższych 2 . Zwykle metodyki zarządzania projektami nie obejmują technicznych aspektów wytwarzania produktów. Podejście takie umożliwia określenie wspólnych metod, technik, dobrych praktyk w zakresie zarządzania 1 Metodyki zarządzania projektami definiują znacznie bardziej szczegółowo zestaw cech, które charaktery- zuje projekt. Podane tutaj charakterystyki zostały wybrane i sformułowane na potrzeby niniejszego e-booka. 2 Przykłady innych rozwinięć są dostępne np. na stronach Wikipiedii http://en.wikipedia.org/wiki/SMART_cri- teria Zastosowanie metodyk zarządzania projektami w tworzeniu aplikacji internetowych 4 www.parp.gov.pl www.web.gov.pl projektami, bez szczegółowego wnikania w zakres projektu oraz określanie specjalistycznych prac, które trzeba wykonać aby osiągnąć cel projektu. Bardzo istotną cechą projektu jest jego tymczasowość projekt po osiągnięciu celu przestaje istnieć. Prace są podsumowywane, wyniki projektu są przekazywane organizacji, która je przejmuje a zespół projek- towy zostaje rozwiązany. Dobre określenie celów projektu pozwoli zakończyć go z sukcesem, przy jedno- czesnym dostarczeniu organizacji produktów bądz usług, które umożliwią realizację korzyści. W zakresie projektu mogłoby również znalezć się przeprowadzenie kampanii informacyjnej adresowanej do poten- cjalnych klientów. Zakończenie projektu oznacza, że od tej pory organizacja przejmuje aplikację interne- tową, utrzymuje ją (formą utrzymania może być wykupienie usług outsourcingowych) oraz realizuje, przy wykorzystaniu tej aplikacji działania operacyjne. Jeśli tą aplikacją byłby serwis internetowy, to działanie operacyjne oznacza umieszczanie tam treści zgodnych z przeznaczeniem, udostępnianie usług, umiesz- czanie reklam, organizowanie promocji, akcji informacyjnych. W przypadku serwisu informacyjnego prze- jęcie przez organizację produktu będzie oznaczało wyznaczenie osób do publikowania treści, moderowa- nia komentarzy (jeśli takie są przewidziane), poszukiwania reklamodawców (jeśli serwis zakładał sprze- daż reklam). W projekcie mamy do czynienia z różnymi obszarami działań można podzielić je na działania zarządza- nia, wytwarzania oraz działania wsparcia. Te ostatnie to wsparcie prawne, księgowe, rozliczenia, zarządza- nie dokumentacją, prace organizacyjne (np. rezerwacja sal). W dużych projektach bądz w dużych orga- nizacjach prace wsparcia są zwykle centralizowane w Biurach Projektów. Pozwala to efektywnie wyko- rzystywać zasoby w wielu projektach jednocześnie obciążenie pracami wsparcia jest różne zależnie od momentu w cyklu życia projektu. Rysunek 1. Typowy przebieg nakładów w projekcie - zaznaczona została faza wstępna z procesami inicjowania i planowania, faza realizacji oraz faza końcowa (na podstawie PMBoK 3). Kolejną istotną kwestią jest ogólny podział na rodzaje faz w projekcie oraz związana z tym intensywność prac projektowych. Zwykle na początku projektu musimy zaplanować prace plany te są pózniej pod- stawą do monitorowania postępów. Jednocześnie tworzony jest zespół projektowy wybierane są metody działania, określane koszty i korzyści z projektu (w celu oceny zasadności realizacji). Właściwa praca wyko- nywana jest w fazach pośrednich to tutaj realizowane są prace wykonawcze, przeprowadzane testy oraz dokonywane odbiory. Istnieje wiele metodyk zarządzania projektami. Różnią się one podejściem do projektu, stopniem szcze- gółowości, różnie rozłożone są w nich akcenty. Poniżej omówione zostaną krótko dwie najbardziej popu- larne w Polsce - PRINCE2 i PMBoK. 3. 1. PRINCE2 PRINCE2 to metodyka zarządzania projektami, która prezentuje procesowe podejście do całego pro- jektu. Właścicielem metodyki jest OGC (Office of Government Commerce brytyjska agenda rządowa). Sama nazwa metodyki to skrótowiec Projects IN Controled Environment (projekty w środowiskach stero- walnych). Metodyka powstała w 1989r. na bazie metodyki PROMPTII. Posiada obecnie drugą wersję (stąd nazwa PRINCE2) a ostanie wydanie to PRINCE2:2009. Metodyka została w tej wersji uzgodniona w zakresie terminologii i sposobu podejście z innymi metodykami OGC. 3 A guide to Project Management Body of Knowledge (wydanie czwarte), 2008, PMI Zastosowanie metodyk zarządzania projektami w tworzeniu aplikacji internetowych 5 www.parp.gov.pl www.web.gov.pl Rysunek 2. Ogólny uproszczony schemat metodyki PRINCE2:2009 (na podstawie metodyki PRINCE2 4) PRINCE2 składa się z pryncypiów (podstawowych zasad metodyki), procesów (mówiących co po kolei należy robić w projekcie) oraz tematów (opisujących jak i za pomocą czego to robić). Rysunek 2 przedsta- wia schemat metodyki PRINCE2. Metodyka definiuje także produkty zarządcze, których skład i przezna- czenie określone są w podręczniku. Metodyka definiuje strukturę organizacyjną projektu, w której ogólne ukierunkowanie projektu, odpowiedzialność i podstawowe decyzje leżą w gestii Komitetu Sterującego (jednoosobową odpowiedzialność za projekt ponosi Przewodniczący). Ważnym elementem metodyki jest opis sposobu dostosowania metodyki do warunków projektu kwestia ta zostanie przybliżone w dalszej części e-booka. Duży nacisk w metodyce jest położony na istnienie aktualnego Uzasadnienia Biznesowego w projek- cie, które stanowi jego siłę napędową (projekt realizujemy dla korzyści, a te opisane są w Uzasadnieniu Biznesowym). Prezentuje podejście produktowe, definiuje organizację projektu oraz powiązanie organi- zacji projektu ze strukturami zewnętrznymi, np. firmowymi. Podstawę metodyki stanowi podręcznik Skuteczne zarządzanie projektami PRINCE2, 2009. 3. 2. Project Management Body of Knowledge Project Management Body of Knowledge to standard utworzony przez PMI (Project Management Institute). Podstawą jest publikacja A guide to Project Management Body of Knowledge (wydanie czwarte) w skrócie nazywany PMBoK Guide. Pierwsza wersja PMBoK została oficjalnie wydana przez PMI w 1996r. Obecnie jest dostępna czwarta wer- sja z grudnia 2008r. (wydanie polskie 2009r.). Rysunek 3. Schemat PMBoK - obszary wiedzy i procesy (na podstawie PMBoK 6) 4 PRINCE2. Skuteczne zarządzanie projektami, wydanie 2009 (wersja polska 2010), TSO. 5 http://www.pmi.org 6 A guide to Project Management Body of Knowledge (wydanie czwarte), 2008, PMI Zastosowanie metodyk zarządzania projektami w tworzeniu aplikacji internetowych 6 www.parp.gov.pl www.web.gov.pl PMBoK posiada formę kompendium wiedzy, które zostało tak zbudowane aby dostarczyć Kierownikowi Projektu reguł i metod działania w całym cyklu życia projektu. Zbudowane jest w oparciu o procesy (42 procesy) podzielone na pięć grup (Rysunek 3. Schemat PMBoK - obszary wiedzy i procesy) " Procesy inicjowania " Procesy planowania " Procesy monitorowania i kontroli " Procesy wykonawcze " Procesy zamknięcia. Każdy proces jest zdefiniowany poprzez " Wejścia, " Wyjścia, " Narzędzia i techniki, których można użyć w działaniach. Metodyka zawiera dziewięć obszarów wiedzy o zarządzaniu projektami (patrz Rysunek 3) do każdego z obszarów przypisane są procesy, których realizacja jest konieczna by zarządzanie projektem w tym obszarze było efektywne. W ten sposób tworzy się macierz procesy-obszary wiedzy, w której rozmiesz- czone są wszystkie procesy. Model PMBoK daje możliwość swobodnego wyboru w zakresie korzystania procesów w projekcie. Jednocześnie jest skalowany, tzn. nadaje się do zastosowania zarówno w dużych jak i w małych projektach. 4. Metodyki wytwórcze Metodyki zarządcze zorientowane są na zarządzanie przedsięwzięciami różnych typów i często abstrahują od konkretnych sposobów, w jaki można wytwarzać oprogramowanie. Tymczasem metodyki wytwórcze skupiają się na metodach, narzędziach związanych ze specyfiką dostarczanych przez projekt produktów. W szczególności charakteryzują produkty i działania pośrednie, które trzeba wykonać, by osiągnąć pro- dukt końcowy. Poniżej przedstawiono dwa przykłady metodyk wytwórczych związanych z wytwarza- niem oprogramowania. Metodyki te mogą być zastosowane w tworzeniu aplikacji lub stron interneto- wych. Jako przykłady wybrane zostały skrajnie różne podejścia " Model Kaskadowy będący usystematyzowaną procedurą o przewidywalnych krokach, " Scrum, jako przykład procesu adaptacyjnego wytwarzania oprogramowania. Model kaskadowy wytwarzania oprogramowania Model kaskadowy jest to proces wytwarzania oprogramowania, w którym kolejne etapy prac specjali- stycznych następują w sekwencji, przy czym rozpoczęcie kolejnego etapu jest uwarunkowane zakończe- niem poprzedniego. Przykładowe sekwencja działań 7 to: " Wymagania " Analiza " Projektowanie " Programowanie " Testowanie " Wdrożenie Słowo kaskadowy związane jest z sekwencyjnością działań. Podobnie jak w kaskadzie, gdzie woda, która spadnie z wyższego stopnia nie ma szansy wrócić. Etapy w modelu kaskadowym związane są z kon- kretnymi rodzajami prac specjalistycznych i zgodnie z tą filozofią powinny w całości zostać zamknięte. Model kaskadowy wytwarzania oprogramowania jest wykorzystywany w wielu procesach wytwórczych. Opozycją do modelu kaskadowego są modele iteracyjne, w których działania są częściowo zamykane w kolejnych iteracjach. Scrum Scrum to rodzaj iteracyjnego i przyrostowego procesu wytwarzania oprogramowania. Definiuje podstawę procesu wytwarzania poprzez role w zespole oraz zbiór dobrych praktyk wytwarzania oprogramowania. Wytwarzanie oprogramowania odbywa się w przebiegach (z ang. sprint) stanowiących iteracje wytwór- cze. Zaleca się by trwały one 2-6 tygodni, przy czym czasy te były ustalone w ramach jednego projektu. Po każdej iteracji (przebiegu) użytkownik powinien otrzymać działającą część systemu lub produktu. Scrum definiuje także role. Wśród nich są Mistrz Scrum (z ang. Scrum Master), Właściciel Produktu (z ang. Product Owner) oraz Zespół (z ang. Team). 7 http://www.cs.umd.edu/class/spring2003/cmsc838p/Process/waterfall.pdf Zastosowanie metodyk zarządzania projektami w tworzeniu aplikacji internetowych 7 www.parp.gov.pl www.web.gov.pl Rysunek 4. Schemat procesu wytwórczego opartego na Scrum (na podstawie metodyki Scrum8). Podstawową zasadą Scrum jest założenie, że podczas projektu klient zmienia zdanie w kwestii tego, czego oczekuje od produktu. Powoduje to, że takie zmiany są trudne do obsługi w tradycyjnych procesach wytwórczych. 5. Dostosowanie metodyk do małych projektów Metodyki projektowe starają się narzucać tylko ogólne zasady. Wynika to z tego, że twórcy starają się je tak konstruować, by miały jak najszerszy zakres zastosowania. Powoduje to, że w przypadku konkretnego pro- jektu wskazania mogą być zbyt ogólne. Dlatego też podstawą sukcesu każdego projektu jest odpowied- nie dostosowanie metodyki do warunków projektu, czyli wybranie metodyki oraz wykorzystanie jej ele- mentów zgodnie z wytycznymi tak, by podnieść skuteczność realizowania przedsięwzięcia. W przypadku kompendiów wiedzy, które są zbiorem dobrych praktyk, odpowiednie dostosowanie pole- gałoby na identyfikacji kluczowych dla danego projektu obszarów oraz w ramach tych obszarów wybra- nie narzędzi i technik, które podniosą skuteczność realizacji projektu. Ze względu na nienakazowy charak- ter zbiorów wiedzy i jednocześnie luzne powiązanie różnych obszarów jest to najlepszy sposób na takie dostosowanie. Inaczej wygląda sytuacja w przypadku metodyki PRINCE2, gdzie zamiast wyboru pojedynczych elemen- tów należy dostosować do warunków projektu całość metodyki. Dostosowanie metodyki PRINCE2 ozna- cza zastosowanie wszystkich pryncypiów, dostosowanie tematów oraz implementacja procesów. Na przykładzie PRINCE2 pokażemy, jak można metodykę tą dostosować do małych projektów jak np. two- rzenie aplikacji internetowych. Zastosowanie komponentów " Uzasadnienie Biznesowe każdy projekt powinien mieć Uzasadnienie Biznesowe (powi- nien być zasadny biznesowo). Jeśli korzyści projektu są niemierzalne lub trudno mierzalne, to Uzasadnienie Biznesowe powinno zawierać przynajmniej opis odniesienia korzyści. " Plany powinien istnieć co najmniej opis produktu projektu oraz innych kluczowych produk- tów. Zamiast harmonogramów wystarczy lista kontrolna produktów, która pozwoli monitoro- wać status wykonania produktów podstawowe kamienie milowe (najważniejsze punkty w pro- jekcie). " Jakość uzgodnienie sposobu testowania aplikacji, w opisach produktów zawarte są kryteria jakościowe. " Ryzyko okresowe przeglądy ryzyk, rejestr ryzyk prowadzony przez Kierownika Projektu w ramach dziennika projektu (w sposób nieformalny). Analiza ryzyk jest uproszczona, identyfi- kowane są najważniejsze ryzyka oraz planowane reakcje. 8 http://www.scrumalliance.org/ Zastosowanie metodyk zarządzania projektami w tworzeniu aplikacji internetowych 8 www.parp.gov.pl www.web.gov.pl " Zmiana zarządzanie konfiguracją poprzez umieszczanie produktów w ustalonym miejscu (utworzenie repozytorium np. na firmowym dysku sieciowym) z określonymi prawami dostępu. Uzgodniony system nazewnictwa i wersjonowania plików. Prosta procedura zmian, przy czym Rejestr Zagadnień jest obsługiwany przez Kierownika Projektu w ramach Dziennika Projektu. " Postępy uzgodniony sposób monitorowania, w tym raporty przekazywane ustnie bądz pocztą elektroniczną w przypadku ważniejszych zdarzeń. Jasno określone delegowanie uprawnień. " Organizacja uproszczona struktura organizacyjna, czyli łączone role Przewodniczącego i Głównego Użytkownika w Komitecie Sterujących. Kierownik Projektu jest jednocześnie Kierownikiem Zespołu. Kierownik Projektu będzie zlecał zadania członkom zespołu projekto- wego bezpośrednio, raporty z punktów kontrolnych będą składane ustnie. W trakcie projektu powinny być zaimplementowane wszystkie procesy, przy czym w prostym projekcie można rozważyć połączenie procesów Przygotowania Projektu i Inicjowania Projektu w ramach którego powstanie prosta Dokumentacja Inicjowania Projektu. Produkty zarządcze Ze względu na rozmiary projektu dokumentacja zarządcza powinna być uproszczona i zawierać jedynie niezbędne elementy. Istotne jest pokrycie funkcji, którą spełniają dokumenty zarządcze przez dokonany wybór. " Raporty większość lub nawet wszystkie raporty mogą być składane ustnie. Należy pamiętać jednak o niebezpieczeństwie różnego zapamiętania rozmowy przez uczestników. Dlatego też dobrze jest najważniejszym raportom nadanie trwałej postaci mogą to być emaile z punkto- wym podsumowaniem statusu. To samo dotyczy dokumentowania ważniejszych decyzji w pro- jekcie np. w formie korespondencji elektronicznej. W ramach raportów okresowych przesyłane mogą być aktualne statusy produktów. " Dokumentacja Inicjowania Projektu (DIP) może mieć postać slajdów prezentacji i obejmować powinna najważniejsze obszary (w tym informację o tym, jak te obszary będą obsługiwane). W ramach DIP jest Uzasadnienie Biznesowe (informacja o rozważanych opcjach; kosztach, cza- sie i korzyściach) strategie zarządzania ryzykiem, jakością, komunikacją, zmianą (po 1-2 slajdy na obszar z wyjaśnieniem, jakie działania będą realizowane w tych obszarach w projekcie), struk- turę organizacyjną z rolami i obowiązkami, Plan Projektu zawierający opisy produktów i listę kontrolną produktów z datami dostaw. " Dziennik projektu będzie służył Kierownikowi Projektu do gromadzenia m.in. informacji o spra- wach bieżących oraz zagadnieniach projektowych, ryzykach, przeglądach jakości, doświad- czeniach. " Raport końcowy projektu w formie slajdów prezentacji i zawierający podsumowanie doświad- czeń z projektu. Ze względu na to, że prosty projekt posiada zwykle jeden etap realizacyjny Plan Projektu będzie jed- nocześnie Planem Etapu. Plany Zespołów nie są potrzebne ponieważ Kierownik Projektu będzie zlecał prace bezpośrednio członkom zespołu i szczegółowość występująca w Planie Projektu może być do tego wystarczająca. Na powyższym przykładzie widać w jaki sposób można dostosowywać metodykę projektową PRINCE2 do warunków projektu. 6. Podsumowanie Tworzenie aplikacji internetowych to jeden z rodzajów projektów, do których można wykorzystać istnie- jące na rynku i sprawdzone metodyki prowadzenia takich przedsięwzięć. Mogą one pomóc w realiza- cji nawet prostych przedsięwzięć przyczyniając się do ich sukcesu. Niniejszy e-book przedstawił najważ- niejsze zagadnienia oraz wybrane standardy związane z realizacją projektów. Ze względu na obszerność tematu nie wyczerpuje wszystkich zagadnień a jedynie sygnalizuje najistotniejsze kwestie. 7. yródła http://www.ogc.gov.uk/methods_prince_2.asp - oficjalna strona OGC poświęcona PRINCE2 http://www.apmg-international.com/APMG-UK/PRINCE2/PRINCE2Home.asp - strony APM Group poświę- cone PRINCE2 PRINCE2. Skuteczne zarządzanie projektami, wydanie 2009 (wersja polska 2010), TSO. http://www.pmi.org strona Project Management Institute http://www.pmi.org.pl strona polskiego oddziału PMI Zastosowanie metodyk zarządzania projektami w tworzeniu aplikacji internetowych 9 www.parp.gov.pl www.web.gov.pl A guide to Project Management Body of Knowledge (wydanie czwarte), 2008, PMI http://pmit.pl/wordpress/wp-content/uploads/2009/02/pm%20certificates%20full%20pl.htm porów- nanie różnych certyfikatów zarządzania projektami http://www.scrumalliance.org/ - strona organizacji Scrum Alliance mającej na celu zbieranie i udostępnia- nie materiałów związanych ze Scrum Zastosowanie metodyk zarządzania projektami w tworzeniu aplikacji internetowych 10 www.parp.gov.pl www.web.gov.pl