Porównanie podstawowych metodyk - karolinamazur.pl · •Metodyki zwinne (agile): ......

29
Zarządzanie projektami Porównanie podstawowych metodyk

Transcript of Porównanie podstawowych metodyk - karolinamazur.pl · •Metodyki zwinne (agile): ......

Page 1: Porównanie podstawowych metodyk - karolinamazur.pl · •Metodyki zwinne (agile): ... (inkrementalizm) –tworzenie ... Dlatego też jest bardziej odpowiedni do systemów z większymi

Zarządzanie projektami

Porównanie podstawowych metodyk

Page 2: Porównanie podstawowych metodyk - karolinamazur.pl · •Metodyki zwinne (agile): ... (inkrementalizm) –tworzenie ... Dlatego też jest bardziej odpowiedni do systemów z większymi

Porównanie podstawowych metodyk w zarządzaniu projektami

• PRINCE 2

• PMBOK

• TENSTEP

• AGILE

Page 3: Porównanie podstawowych metodyk - karolinamazur.pl · •Metodyki zwinne (agile): ... (inkrementalizm) –tworzenie ... Dlatego też jest bardziej odpowiedni do systemów z większymi

METODYKA PRINCE 2

Page 4: Porównanie podstawowych metodyk - karolinamazur.pl · •Metodyki zwinne (agile): ... (inkrementalizm) –tworzenie ... Dlatego też jest bardziej odpowiedni do systemów z większymi

Istota metodyki PRINCE 2

• Project IN Controlled Environments v.2

• Oparta na pochodzącej z lat 70-tych XX wieku metodzie PROMPT (Project Resource Organisation Management Planning Technique)

• Powstała formalnie na przełomie 1989/1990 (stała się standardową metodyką brytyjskiej administracji publicznej)

• Oryginalnie: dla projektów IT, obecnie: dla wszystkich projektów.

Page 5: Porównanie podstawowych metodyk - karolinamazur.pl · •Metodyki zwinne (agile): ... (inkrementalizm) –tworzenie ... Dlatego też jest bardziej odpowiedni do systemów z większymi

Metodyka PRINCE 2 - PROCESY

1. Przygotowanie założeń projektu/Uruchamianie projektu (Starting up a project)

2. Strategiczne zarządzanie projektem (Directing a project)

3. Planowanie (Planning)4. Inicjowanie projektu (Initiating a project)5. Sterowanie etapem (Controlling a stage) 6. Zarządzanie dostawą produktów (Managing

product delivery) 7. Zarządzanie zakresem etapu (Managing stage

boundaries) 8. Zamykanie projektu (Closing a project)

Page 6: Porównanie podstawowych metodyk - karolinamazur.pl · •Metodyki zwinne (agile): ... (inkrementalizm) –tworzenie ... Dlatego też jest bardziej odpowiedni do systemów z większymi

PRINCE 2 – rodzaje produktów

• Produkty proste – nie podlegają dalszej dekompozycji - oznaczane PROSTOKĄTAMI

• Produkty integracji - wymagają wykonania jednej lub większej liczby czynności (zestawienia lub skompletowania przetestowania - oznaczane PROSTOKĄTAMI

• Grupy produktów – są grupami produktów a nie produktami - oznaczane RÓWNOLEGŁOBOKAMI

• Produkty zewnętrzne - są niezbędne dla wytworzenia produktu końcowego lub stanowią ograniczenie dla projektu, ale wytwarzanie nie jest w ramach projektu kontrolowane –oznaczane ELIPSAMI.

Page 7: Porównanie podstawowych metodyk - karolinamazur.pl · •Metodyki zwinne (agile): ... (inkrementalizm) –tworzenie ... Dlatego też jest bardziej odpowiedni do systemów z większymi

METODYKA PMBOK

Page 8: Porównanie podstawowych metodyk - karolinamazur.pl · •Metodyki zwinne (agile): ... (inkrementalizm) –tworzenie ... Dlatego też jest bardziej odpowiedni do systemów z większymi

PMBoK - procesy

• Procesy rozpoczęcia – (opracowanie dokumentu otwarcia i opracowanie wstępnego zakresu projektu)

• Procesy planowania (opracowanie planu zarządzania projektem, planowanie zarządzania zakresem projektu, definiowanie zakresu projektu, opracowanie struktury podziału prac, zdefiniowanie czynności, porządkowanie czynności, szacowanie zasobów czynności, szacowanie czasu trwania czynności, opracowanie harmonogramu, szacowanie kosztów, budżetowanie kosztów, planowanie jakości, planowanie zasobów ludzkich, planowanie komunikacji, planowanie zarządzania ryzykiem, identyfikacja i analiza ryzyka, planowanie reakcji na ryzyko, planowanie zaopatrzenia, planowanie kontraktów)

• Procesy realizacji – (kierowanie i zarządzanie realizacją projektu, zapewnienie jakości, przyjmowanie członków zespołu, rozwój zespołu, dystrybucja informacji, rekrutacja sprzedawców)

• Procesy kontroli – (monitorowanie i nadzór nad pracami projektu, zintegrowane zarządzanie zmianami, weryfikacja zakresu, sterowanie zakresem, nadzór nad harmonogramem i kosztami, kontrola jakości, zarządzanie zespołem, raportowanie postępu prac, zarządzanie interesariuszami, monitorowanie i nadzór nad ryzykiem, administrowanie kontraktem)

• Procesy zakończenia – (zamknięcie projektu i kontraktu)

Page 9: Porównanie podstawowych metodyk - karolinamazur.pl · •Metodyki zwinne (agile): ... (inkrementalizm) –tworzenie ... Dlatego też jest bardziej odpowiedni do systemów z większymi

PMBoK – obszary wiedzy

1. Zarządzanie integracją projektu2. Zarządzanie zakresem3. Zarządzanie czasem4. Zarządzanie kosztami5. Zarządzanie jakością6. Zarządzanie zasobami ludzkimi7. Zarządzanie komunikacją8. Zarządzanie ryzykiem9. Zarządzanie zaopatrzeniem10. Zarządzanie interesariuszami

Page 10: Porównanie podstawowych metodyk - karolinamazur.pl · •Metodyki zwinne (agile): ... (inkrementalizm) –tworzenie ... Dlatego też jest bardziej odpowiedni do systemów z większymi

METODYKA TENSTEP

Page 11: Porównanie podstawowych metodyk - karolinamazur.pl · •Metodyki zwinne (agile): ... (inkrementalizm) –tworzenie ... Dlatego też jest bardziej odpowiedni do systemów z większymi

TenStep• Metodyka stworzona na bazie metodologii Project Management Body of

Knowledge (PMBoK)

• Opiera się na krokach (ang. steps),

• Metodyka ta zakłada zwiększanie dyscypliny zarządzania wraz ze wzrostem skali projektu

• Przykład:– Każdy projekt powinien zostać zdefiniowany (step 1), (nawet jeśli nie będzie tworzony

formalny harmonogram)

– Jeśli projekt osiągnie pewną skalę, należy wprowadzić harmonogram (step 2)

– Jeśli zostanie utworzony, harmonogram, konieczne jest zarządzani nim (step 3)

– Jeśli projekt jest mały, zbędne jest zarządzanie ryzykiem i jakością, ale trzeba zająć się problemami krytycznymi (step 4)

– Jeśli projekt będzie większy, należy wprowadzić zarządzanie zmianą (step 5)…..

bi.gazeta.pl/im/2/4579/m4579772.pdf

Page 12: Porównanie podstawowych metodyk - karolinamazur.pl · •Metodyki zwinne (agile): ... (inkrementalizm) –tworzenie ... Dlatego też jest bardziej odpowiedni do systemów z większymi

TenStep – rodzaje kroków

Kroki planowane

• Krok 1 - Zdefiniowanie Pracy do Wykonania

• Krok 2 – Budowanie planui budżetu

Kroki zarządzane• Krok 3 – Zarządzanie

Harmonogramem i Budżetem• Krok 4 – Zarządzanie

Problemami Krytycznymi• Krok 5 – Zarządzanie Zmianą• Krok 6 – Zarządzanie

Komunikacją• Krok 7 – Zarządzanie Ryzykami• Krok 8 – Zarządzanie ludźmi• Krok 9 – Zarządzanie Jakością• Krok 10 – Zarządzanie

Pomiarem

bi.gazeta.pl/im/2/4579/m4579772.pdf

Page 13: Porównanie podstawowych metodyk - karolinamazur.pl · •Metodyki zwinne (agile): ... (inkrementalizm) –tworzenie ... Dlatego też jest bardziej odpowiedni do systemów z większymi

METODYKA AGILE

Page 14: Porównanie podstawowych metodyk - karolinamazur.pl · •Metodyki zwinne (agile): ... (inkrementalizm) –tworzenie ... Dlatego też jest bardziej odpowiedni do systemów z większymi

Porównanie

• Metodyki kaskadowe (waterfall):

– Projekt podzielony jest na kilka następujących po sobie faz (analizy, projektowania, całego rozwiązania, dewelopmentu, testów i ostatecznej akceptacji)

• Metodyki zwinne (agile):

– Projekt podzielony jest na przedsięwzięcia

– Stosowany jest model iteracyjny PLC

www.sollers.pl/sites/default/files/.../MU_grudzien2012_sollers.pdf

Page 15: Porównanie podstawowych metodyk - karolinamazur.pl · •Metodyki zwinne (agile): ... (inkrementalizm) –tworzenie ... Dlatego też jest bardziej odpowiedni do systemów z większymi

Agile

• Nazwa odnosi się nie do grupy metodyk

• Założenia (Manifest Agile):– Podkreślona rola ludzi i ich relacji, zmniejszona rola

procedur

– Podkreślona rola oprogramowania, rola dokumentów zmniejszona do niezbędnego minimum

– Współpraca z klientem jest nadrzędna ponad negocjację umów

– Jest duża otwartość na zmianę zakresu projektu w przypadku zmiany wymagań i priorytetów klienta

www.sollers.pl/sites/default/files/.../MU_grudzien2012_sollers.pdf

Page 16: Porównanie podstawowych metodyk - karolinamazur.pl · •Metodyki zwinne (agile): ... (inkrementalizm) –tworzenie ... Dlatego też jest bardziej odpowiedni do systemów z większymi

Agile cd

• Cechy modelu Agile:

– Iteracyjność: projekty realizowane są w oparciu o mniejsze przedsięwzięcia

– Przyrostowość (inkrementalizm) – tworzenie produktu poprzez dobudowywanie do niego kolejnych elementów podczas każdej iteracji (dodawanie wartości)

www.sollers.pl/sites/default/files/.../MU_grudzien2012_sollers.pdf

Page 17: Porównanie podstawowych metodyk - karolinamazur.pl · •Metodyki zwinne (agile): ... (inkrementalizm) –tworzenie ... Dlatego też jest bardziej odpowiedni do systemów z większymi

• Lider zespołu

• Właściciel produktu

• Zespół

• Pozostali interesariusze

Agile – Role w projekcie

Page 18: Porównanie podstawowych metodyk - karolinamazur.pl · •Metodyki zwinne (agile): ... (inkrementalizm) –tworzenie ... Dlatego też jest bardziej odpowiedni do systemów z większymi

AGILE – PODSTAWOWE METODYKI

Page 19: Porównanie podstawowych metodyk - karolinamazur.pl · •Metodyki zwinne (agile): ... (inkrementalizm) –tworzenie ... Dlatego też jest bardziej odpowiedni do systemów z większymi

Podstawowe metodyki

• eXtreme Programming (XP)• Adaptive Software Development (ASD)• Crystal• Scrum• Feature Driven Development (FDD)

• http://analizait.pl/2012/sprint-przez-metodyki-zwinne-agile/

Page 20: Porównanie podstawowych metodyk - karolinamazur.pl · •Metodyki zwinne (agile): ... (inkrementalizm) –tworzenie ... Dlatego też jest bardziej odpowiedni do systemów z większymi

eXtreme Programming (XP)• Najbardziej znana z metodyk zwinnych. Kieruje się czterema wartościami:

– komunikacja (bo większość projektów nie udaje się z powodu braków w komunikacji)– prostota (bo wystarczy wykonać najprostszy produkt, który odpowiada potrzebom klienta)– informacja zwrotna (bo programiści powinni otrzymać feedback od klienta, systemu i reszty zespołu)– odwaga (bo czasem trzeba podjąć trudną decyzję, która pomoże projektowi)

• Czy zwinność to swoboda i duża dowolność? NIE! XP wymaga rygorystycznego trzymania się ustalonych praktyk.

• Praktyki:– ciągła obecność klienta– gra planistyczna – klienci i zespół negocjują wymagania w formie historyjek na karteczkach– historyjki (stories)– krótkie cykle – maksymalnie 3 tygodniowe– zbiorowa własność – każdy może pracować nad wszystkim– programowanie w parach (pair programmig) – dwóch programistów pracuje nad jednym kodem– prosty projekt (simple design)– refaktoring – kiedy kod zaczyna przypominać spagetti, porządkujemy go bez zmieniania jego działania– standardy kodowania – ustalone i ściśle przestrzegane przez zespół– testy w pierwszej kolejności (test first) – najpierw tworzy się przypadki testowe, potem przygotowuje

kod, który te przypadki przejdzie– ciągła integracja (continuous integration) – każdego dnia oprogramowanie jest scalane (z wersji

każdego z deweloperów) i ma działać!– pracujemy 40 godzin tygodniowo i ani chwili dłużej!

http://analizait.pl/2012/sprint-przez-metodyki-zwinne-agile (data dostępu 19.12.2016)

Page 21: Porównanie podstawowych metodyk - karolinamazur.pl · •Metodyki zwinne (agile): ... (inkrementalizm) –tworzenie ... Dlatego też jest bardziej odpowiedni do systemów z większymi

Adaptive Software Development (ASD)• Cykle:

– Spekulowania (Speculate)– Opracowywania/Współpracy (Collaboration)– Uczenia (Learn)

• Najważniejsze jest ciągłe uczenie i adaptacja do obecnego stanu projektu.

• Słowa klucze:– skoncentrowany na misji– planujący w oparciu o funkcje– sterowany ryzykiem, tolerancyjny na zmiany. Praktyki:

• Praktyki:– iteracyjny rozwój (iterative development)– planowanie oparte na funkcjach (feature-based planning)– grupy focusowe klientów (focus groups)

http://analizait.pl/2012/sprint-przez-metodyki-zwinne-agile (data dostępu 19.12.2016), www.adaptivesd.com

Page 22: Porównanie podstawowych metodyk - karolinamazur.pl · •Metodyki zwinne (agile): ... (inkrementalizm) –tworzenie ... Dlatego też jest bardziej odpowiedni do systemów z większymi

Crystal• Inspiracja: metodyki zwinne sterowanych planem, psychologia i wieloletnie badania autora

(Alistar Cockburn)• rodzina metodyk opartych na ludziach, adaptujących się, ultralekkich i dopasowujących się

do potrzeb.• występuje w różnych postaciach w zależności od wielkości zespołu i ryzyka w projekcie.• Kryształ (crystal) charakteryzuje kolor i twardość. Każdy z wariantów kolorów (liczba ludzi)

ma swoją nazwę:– Clear,– Yellow,– Orange,– Red.

• Warianty twardości (ryzyko) to:– komfort (Comfort),– niekluczowe fundusze (Discretionary money),– kluczowe fundusze (Essential money),– życie (Life).

• Przy dobieraniu opcji twórca poleca kierować się myślą: „lighter is better as long it lasts”.

http://analizait.pl/2012/sprint-przez-metodyki-zwinne-agile (data dostępu 19.12.2016), http://alistair.cockburn.us/Crystal+methodologies

Page 23: Porównanie podstawowych metodyk - karolinamazur.pl · •Metodyki zwinne (agile): ... (inkrementalizm) –tworzenie ... Dlatego też jest bardziej odpowiedni do systemów z większymi

Scrum• Ppodejście skoncentrowane na zarządzaniu projektem• Nazwa wywodzi się z młyna (scrum) w rugby. Analogia ta nawiązuje do szybkiego

dopasowywania się do zmiennych okoliczności. Wprowadzenie Scruma jest proste – nie wymaga przeprowadzania zmian w organizacji. Odnotowano też sukcesy w wykorzystywaniu tej metodyki w większych projektach. W takich przypadkach jest jednak konieczny udział ekspertów od Scruma.

• Praktyki:– sprinty – równe okresy, w których przygotowuje się kolejne funkcje i prezentuje klientowi, np. 30 dni– backlog – lista wymagań (z priorytetami) do wykonania w projekcie (product backlog) lub sprincie (sprint backlog)– codzienne 15-minutowe spotkania – na stojąco (bo tak krótsze spotkania) każdy członek zespołu mówi o tym, co

zrobił wczoraj, co będzie robił dzisiaj (monitorowanie statusu) i jakie napotkał problemy– spotkania na rozpoczęcie (planowanie) i zakończenie sprintu (podsumowanie)– cel sprintu (sprint goal) – kryteria uznania za zakończony sukcesem

• Ważne role:– Product Owner (określanie funkcji systemu, które najlepiej spełnią postawione przed nim cele)– Scrum Master (dbanie o zgodność z metodyką, konsultant, trener),– Scrum Team (wytwarzanie, programowanie).

http://analizait.pl/2012/sprint-przez-metodyki-zwinne-agile (data dostępu 19.12.2016), : http://www.controlchaos.com/

Page 24: Porównanie podstawowych metodyk - karolinamazur.pl · •Metodyki zwinne (agile): ... (inkrementalizm) –tworzenie ... Dlatego też jest bardziej odpowiedni do systemów z większymi

Agile - Szkielet Scrum

iteracja

inspekcjaokresowa

Do zrobienia zostało….

przyrost funkcjonalności

Page 25: Porównanie podstawowych metodyk - karolinamazur.pl · •Metodyki zwinne (agile): ... (inkrementalizm) –tworzenie ... Dlatego też jest bardziej odpowiedni do systemów z większymi

• Definiuje wymagania, jakość i wartości produktu

• decyduje o kolejności tworzenia funkcjonalności

• Kontroluje zaległości

• Zatwierdza rezultaty pracy zespołu

Agile -Właściciel produktu (Product Owner)

Page 26: Porównanie podstawowych metodyk - karolinamazur.pl · •Metodyki zwinne (agile): ... (inkrementalizm) –tworzenie ... Dlatego też jest bardziej odpowiedni do systemów z większymi

• Jest liderem, a nie kierownikiem

• Pomaga właścicielowi produktu w wyborze zaległości produktowych i w zamianie zaległości w funkcjonalność (np. poprzez rozwiązanie konfliktów)

Agile - Lider zespołu (Scrum Master)

Page 27: Porównanie podstawowych metodyk - karolinamazur.pl · •Metodyki zwinne (agile): ... (inkrementalizm) –tworzenie ... Dlatego też jest bardziej odpowiedni do systemów z większymi

• Samodzielnie organizuje pracę tak, aby spełnić wymagania metodyki,

• Składa się z 5 do 7 osób

• Jest interdyscyplinarny,

• Jest samowystarczalny

Agile - Zespół (Team)

Page 28: Porównanie podstawowych metodyk - karolinamazur.pl · •Metodyki zwinne (agile): ... (inkrementalizm) –tworzenie ... Dlatego też jest bardziej odpowiedni do systemów z większymi

Agile – ogólny opis• Praca zespołu objęta jest ramami czasowymi zwanymi przebiegiem (ang. sprint).

• Efekt przebiegu: nowa wersja (udoskonalona) produktu

• Przebieg trwa od 1 do 4 tygodni (zalecane są stałe długości)

• Na początku pracy klient przedstawia listę wymagań (tzw „historyjki” - ang. User Stories), każda z nich opisuje cechę produktu

• Właściciel produktu kontroluje priorytety wymagań klienta

• Na końcu tworzony jest rejestr wymagań (ang. Product Backlog), planowany jest przebieg (ang. Sprint Planning) i wybierane są zadania o najwyższym priorytecie

• Następnie szacowane są: lista zadań i czas realizacji (tzw. Sprint Backlog), pracochłonność, złożoność i ryzyko każdego zadania

• Po planowaniu zespół przechodzi do realizacji przebiegu

• Zasada Daily Scrum: przeprowadzanie codziennych (maksymalnie 15-minutowych) spotkań, na których omawiane są zadania zrealizowane poprzedniego dnia, problemy występujące przy ich realizacji oraz zadania do wykonania w dniu spotkania.

• Sprint kończy się spotkaniem będącym przeglądem przebiegu (ang. Sprint Review) –prezentacją wyniku pracy zespołu

Page 29: Porównanie podstawowych metodyk - karolinamazur.pl · •Metodyki zwinne (agile): ... (inkrementalizm) –tworzenie ... Dlatego też jest bardziej odpowiedni do systemów z większymi

Feature Driven Development (FDD)• FDD stawia na:

– prosty proces,– efektywne modelowanie,– krótkie iteracje przynoszące wartościowy produkt klientowi

• Kierownik powinien raczej wspierać zespół, niż nim sterować. • Po starannym zebraniu i dobrym zrozumieniu wymagań ma miejsce pięć faz procesu:

– przygotuj model produktu, by uchwycić zakres dziedziny– przygotuj listę funkcji bazując na potrzebach biznesu– przygotuj plan realizacji na podstawie listy funkcji– przygotuj projekt pakietów i przydziel funkcje do iteracji– zaprogramuj funkcje

• Czym to podejście różni się od kaskadowego? Zwinność polega na tym, że zdolni ludzie wychwycą moment, kiedy trzeba powrócić do poprzednich faz.

• Czym FDD różni się od XP?– Zakłada przydzielanie zadań do programistów i wykonanie za pierwszym razem właściwego projektu

systemu. Dlatego też jest bardziej odpowiedni do systemów z większymi wymaganiami stabilności. Można go także łatwo skalować do większych projektów.

• Ważne role: – główny architekt (Chief Architect)– główny programista (Chief Programmer).

http://analizait.pl/2012/sprint-przez-metodyki-zwinne-agile (data dostępu 19.12.2016), www.togethercommunity.com