TFS - zarządzanie projektem w metodologii Scrum
Metodologia Scrum
- jedna z najbardziej znanych metodyk 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 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
Scrum - role
- product owner - odpowiada za projekt przed klientem
- scrum master - odpowiedzialny za proces wytwarzania, organizację pracy, podział ról
- team members
Artefakty i zdarzenia
- Product Backlog - wykaz prac produktu (np. produkty WBS)
- Sprint backlog - lista zadań w sprincie
- Sprint - pojedyncza iteracja (7-30 dni): planowanie, realizacja, podsumowanie
- planowanie sprintu - wybór zadań, czas realizacji zadań z góry ustalony, lista zadań nie powinna się zmieniać w czasie iteracji
- codzienny scrum: spotkanie 15 min. na stojąco prowadzone przez scrum master
- przegląd: podsumowanie na zakończenie sprintu, retrospektywa sprintu
- Work Item - jednostka pracy, zgłoszenie, zadanie do wykonania w określonym czasie przez członka zespołu
Przykładowy projekt
- Fabrikam Fiber Web Team Home View - projekt demo
, Źródło: http://msdn.microsoft.com/
Product Backlog
- zgłoszenie (zadania lub błedy) nieprzydzielone do iteracji
- ogólny plan prac, user story (życzenia klienta)
- zmienia się w czasie prac nad projektem
- elementy są zazwyczaj rozbijane na bardziej szczegółowe zadania
Product Backlog Item
- nazwa, opis, właściciel, stan: New → Approved → Commited → Done, priorytet
- effort (szacowany czas), planning poker
Kanban Board
Cykl życia Backlog Item
Iteration backlog
- Iteracja (sprint), określona w pewnym okresie czasu
- Lista zadań - zazwyczaj rozbite elementy z lisy Product Backlog
- Wykresy obrazujące postęp prac
- Capacity - określenie czasu jaki członkowie mogą poświęcić dziennie na pracę oraz ich specjalizacji
Work Item - Jednostka pracy
- Rodzaj: task, bug, impediment(issue), user story, test case, …
- Assigned to: osoba odpowiedzialna za wykonanie
- Stan: To do, In progress, Done, Removed
- połączenia między zadaniami: hierarchiczne lub płaskie
- każdy typ posiada swój własny cykl życia
- możliwość definiowania własnych typów (XML)
- integracja z systemem kontroli wersji, z systemem buildów, testów
- połączenia zadań z różnymi zasobami: strony www, dokumenty, multimedia,
Cykl życia zgłoszenia
Cykl życia zgłoszenia - ogólnie
Typowy cykl życia zgłoszenia:
- osoba posiadająca uprawnienia do raportowania wprowadza informację o błędzie
- osoba lub system określa osobę, której dotyczy błąd i generowane jest powiadomienie
(alerty, email i inne kanały komunikacji), - osoba, która otrzymała powiadomienie, akceptuje go do poprawy lub deleguje ten błąd do innej osoby,
- osoba odpowiedzialna kończy pracę nad błędem na jeden z kilku sposobów – informując, że błąd został poprawiony, odłożony w czasie, nie jest możliwy do poprawy czy, że zgłoszenie błędu było niepoprawne,
- jeśli błąd usunięto, osoba odpowiednio uprawiona osoba weryfikuje, czy błąd faktycznie został usunięty i zwykle zgłoszenie błędu jest zamykane.
- po ostatecznym rozwiązaniu problemu (np. po opublikowaniu albo instalacji u klienta wersji pozbawionej błędu) błąd jest zamykany.
Typowy cykl życia
Żródło: http://trac.edgewall.org/chrome/common/guide/basic-workflow.png
Board
Effort
- effort - wskaźnik postępu ukończenia kolejnych funkcjonalności
- każde zadanie ma określony (zaplanowany) czas realizacji
- Burndown Chart
Raporty i zapytania
Scrum w Visual Studio 2013
- Team Explorer → Work Items - lista zadań projektu
- Team Explorer → My Work - lista zadań powiązanych z zalogowanym użytkownikiem
- Queries (raporty i zapytania) Team → New query
- Dodawanie zgłoszeń Team → Add New Work Item
- Powiązanie zgłoszenia (Work Item, asociate, resolve) z wysłaniem kodu (Check In) do repozytorium
Więcej informacji
- Scrum Guide wersja polska
- Agile Project Management using TFS by Suliman Battat
- Projekt demo: Fabrikam Fiber