Planowanie prac
- Pozyskanie informacji od klienta
- Analiza wymagań
- Wymagania funkcjonalne i niefunkcjonalne
- Identyfikacja głównych celów projektu
- Identyfikacja środków i narzędzi niezbędnych do realizacji
- Tworzenie struktury podziału prac
- Diagram następstw produktów
- Definicja zadań
- Ocena zadań
- czas potrzebny na realizację
- wymagane zasoby (ludzi, sprzętu i oprogramowania)
- Szeregowanie zadan
- Finalny plan - harmonogram, plan pracy
Metodyki planowania pracy: PRINCE2, Project Management Institute Scrum
Struktura podziału prac
Metoda hierarchicznego podziału projektu na części składowe, pomagająca w planowaniu przebiegu prac nad projektem.
- Produkt – efekt działalności projektu (np. program, moduł programu, kalendarz, część maszyny, nowa generacja silnika).
- Produkt główny – jeden lub więcej zasadniczych produktów, będących efektem działania projektu.
- Produkt częściowy – jeden z produktów wchodzących w skład produktu głównego.
- Produkt zewnętrzny – istniejące i zidentyfikowane produkty, które występują w projekcie i są potrzebne dla wytworzenia jednego lub większej ilości produktów projektu.
- Struktura Podziału Pracy (SPP) Work_breakdown_structure
- hierarchia pokazująca zależności pomiędzy produktem głównym a jego składowymi.
- opisuje oczekiwane cele, nie zaś zadania
- dowolny produkt główny może składać się z wielu produktów składowych (produktów podrzędnych).
- Dowolny produkt składowy przynależy jedynie do jednego i tylko jednego produktu nadrzędnego.
- Elementy WBS: produkt, dane, usługa
- Ostatecznie, każda czynność związana z projektem przypisana jest do tylko jednego, końcowego, elementu WBS
Przykład:
- Samochód
- Karoseria
- Koła
- przednie koło
- opona
- felga
- Szyby
- Wnętrze
- siedzenie
- deska rozdzielcza
- Silnik
- Tłok
- Wał
- Cylinder
- Zawory
- Wałek rozrządu
Przydatne narzędzia:
Diagram następstw produktów
Część planu ilustrująca kolejność wytwarzania lub pozyskiwania produktów oraz współzależności pomiędzy produktami, które zidentyfikowano na diagramie struktury produktów [PRINCE2].
Diagram następstwa produktów
- produkty z SPP w zależności czasowej
- produkty są układane w kolejności ich pozyskiwania lub wytworzenia
- w oparciu o ten diagram można łatwo określić harmonogram pracy
Product_flow_diagram
Activity_network_diagram
Scrum
- jedna z najbardziej znanych metody k zwinnych (Agile) : Manifesto for Agile Software Development
- metoda przyrostowa : produkt powstaje w kolejnych iteracjach
- sprawny (ale niekompletny) produkt już po pierwszej iteracji
- sprawna kontrola nad przebiegiem prac (narzędzia ułatwiające MS TFS)
- wczesne wykrywanie problemów
- zespoły 7+-2
- kontrola czasu - czynność musi być zakończona w określonym czasie
- Zespół ma charakter samoorganizujący
Pojęcia:
- Wykaz prac produktu (ang. Product Backlog)
- Sprint - iteracja o określonym czasie (7-30 dni)
- Wykaz prac sprintu (ang. Sprint Backlog). Po podziale na zadania o czasie trwanie 4-8 godzin)
- Cel sprintu
- spotkanie rozruchowe (ang. stend-up meeting): Co zrobiłeś wczoraj? Co będziesz dziś robił? Co stoi na przeszkodzie w realizacji?
- wykres malejący (ang. burn-down chart)
Team Foundation Server i Scrum
Trac - harmonogram
Podział prac i harmonogram pracy można przygotować przy pomocy Trac.
Odpowiednikami sprintu są tu etapy (milestones). W ramach każdego etapu przygotowujemy szereg zadań (product backlog). Zadanie (ticket) może być tu odpowiednikiem jedniodniowej iteracji w ramach scruma.
Etapy (milestone)
- wyszczególnienie (niezależnych) części projektu i relacji pomiędzy nimi
- istotna jest kolejność/zależność etapów/zadań
- posiadają ściśle określony czas wykonania (od 7 do 30 dni)
- jasne cele do osiągnięcia w danym etapie (np. sprawny moduł, wersja oprogramowania, dokumentacja, raport, itp.) wyszczególnione w opisie
- zasoby potrzebne do wykonania (sprzęt, środowisko pracy systemu, biblioteki, technologie, wiedza)
Zadania (tickets)
- wykaz czynności przewidzianych do wykonania w ramach poszczególnych etapów (przydziela kierownik)
- czas wykonania jeden dzień roboczy (6-8 godzin) - zatwierdzenie nowej wersji w repozytorium pod koniec dnia pracy powinno zamykać zadanie (status closed)
- zależności pomiędzy zadaniami - Plugin: MasterTickets
Przykłady:
Do poczytania:
- Trac - strona główna
- Using Trac for Agile project management - Ivan Kuznetsov
Żródła:
- Ś. Sobieski, ITA-111 Programowanie zespołowe
- Using Trac for Agile project management - Ivan Kuznetsov
- MSDN
- ?? (uzupełnić)