TFS - zarządzanie projektem w metodologii Scrum

Metodologia Scrum

Scrum to ramy postępowania (framework), dzięki którym ludzie mogą z powodzeniem rozwiązywać złożone problemy adaptacyjne, by w sposób produktywny i kreatywny wytwarzać produkty o najwyższej możliwej wartości. Scrum Guide, http://www.scrumguides.org/

jedna z najbardziej znanych metodyk zwinnych (Agile) : Manifesto for Agile Software Development

metoda przyrostowa : produkt powstaje w kolejnych krótkich iteracjach (sprintach)

używalny (ale niekompletny) produkt już po pierwszej iteracji

częste kontakty w zespole oraz z klientem

inspekcje i adaptacje projektu sprzyjają wczesnemu wykrywaniu problemów i dopasowaniu do potrzeb

sprawna kontrola nad przebiegiem prac (narzędzia TFS)

zespoły 7+-2, zespół ma charakter samoorganizujący i międzyfunkcjonalny

kontrola czasu - czynność musi być zakończona w określonym czasie

przejrzystość (proste zasady) ... jednak nie takie proste do zastosowania

Scrum - role

Zespół scrumowy:

Product owner
odpowiada za projekt przed klientem, ustala co ma być wykonane w kolejnych sprintach

Development Team
odpowiada za wykonany w danym sprincie przyrost. Brak podziału na rele (wszyscy są developeramin)

Scrum master
odpowiedzialny za proces wytwarzania, organizację pracy, podział ról, przestrzeganie zasad Scruma

Źródło: http://www.slideshare.net/

Artefakty i zdarzenia

Product Backlog - wykaz prac produktu (np. produkty WBS), nakreśla znane i najlepiej rozumiane wymagania. Zmienny i zazwyczaj niekompletny.

Sprint backlog - lista zadań w sprincie

Sprint - pojedyncza iteracja (7-30 dni): planowanie, realizacja, przegląd sprintu, retrospektywa

planowanie sprintu - max. 8h, określenie celu 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. zespołu programistycznego na stojąco prowadzone przez scrum master. Co wykonane zostało i co jest do zrobienia?

przegląd: max. 4h , podsumowanie osiągniętych celów, modyfikacja listy product becklog

retrospektywa sprintu: max. 3h, inspekcja działań (relacje członków, procesy i narzędzia) i plany usprawnień do najbliższego sprintu

Work Item - jednostka pracy, zgłoszenie, zadanie do wykonania w określonym czasie przez członka zespołu

Narzędzia Scrum

Visual Studio Team Services, dawniej Visual Studio Online, jeszcze dawniej Team Foundation Service

Team Foundation Server - Scrum jednym z 2 domyślnych szablonów wytwórczych

IceScrum

Agile Trac Plugin

Agilo for trac

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

Pojemność sprintu

Capacity - określa czasu jaki członkowie mogą poświęcić dziennie na pracę (uwzględniając dni wolne) oraz specjalizację członków zespołu

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

Board

Effort

effort - wskaźnik postępu ukończenia kolejnych funkcjonalności

każde zadanie ma określony (zaplanowany) czas realizacji

Burndown Chart

Żródło: wikipedia.org

Raporty i zapytania

Team room

Alerts

Scrum w Visual Studio 2013/2015

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

VS Team Explorer

msdn.microsoft.com

My work

Zarządzanie zadaniami z poziomu VS

Zarządzanie zadaniami podczas zatwierdzania zmian

Code review

Więcej informacji

Ken Schwaber, Jeff Sutherland, Scrum Guide wersja polska

Application Lifecycle Management with Visual Studio TFS MSDN

Agile Project Management using TFS by Suliman Battat

Projekt demo: Fabrikam Fiber

Comparison of issue tracking systems