→ Slide 1
TFS - zarządzanie projektem w metodologii Scrum
→ Slide 2
↓ Slide 3
Model kaskadowy
Kolejne etapy następują po sobie bezpośrednio:
Model kaskadowy (waterfall), wodospadowy, liniowy
Zalety:
Klient wie dokładnie czego się spodziewać. Precyzyjnie określenie tego co program będzie realizował w ostatecznej wersji.
Możliwe całościowe oszacowanie kosztów i czasu trwania projektu.
Projekt dobrze udokumentowany na każdym etapie
Stabilność i bezpieczeństwo, np. dzięki dużej licznie dokumentacji nowa osoba może być szybko wdrożona do projektu
Łatwy nadzór
Wady:
Brak możliwości powrotu do wcześniejszych etapów
Początkowe założenia są bardzo istotne, projekt musi być w całości zaplanowany i wszystkie wymagania muszą być rozpoznane od początku projektu
Błąd popełniony w początkowej fazie może mieć drastyczny wpływ na całość projektu
Produkt jest testowany wyłącznie na końcowym etapie. Późne wykrywanie błędów podnosi koszty.
Brak uwzględnienia zmian w zapotrzebowaniu klienta, rynku, zmian w technologiach
↓ Slide 4
Metodyki zwinne - Agile
podejście przyrostowe
zakłada, że wymagania odbiorcy (klienta) często ewoluują podczas trwania projektu → regularna adaptacja do zmieniających się wymagań
późne zmiany w specyfikacji nie mają destrukcyjnego wpływu na proces wytwarzania oprogramowania,
szybkie wytwarzanie oprogramowania wysokiej jakości, działające oprogramowanie jest dostarczane okresowo (tygodniowo), każda iteracja dostarcza działające, przetestowane funkcje
bezpośredni kontakt, jako najlepsza forma komunikacji w zespole i poza nim (zazwyczaj małe zespoły), potrzeba mniej dokumentacji
bardzo ważny jest odpowiedni nadzór nad procesem wytwórczym.
Wady:
trudności z oszacowaniem czasu realizacji oraz budżetu projektu
wymagana duża aktywność i współpraca członków zespołu, bezpośredni kontakt nie zawsze możliwy w projektach np. open source
sumaryczny czas wykonania projektu zazwyczaj będzie dłuższy niż w modelu kaskadowym
zmiany personalne w zespole mogą mieć katastrofalne skutki
końcowy produkt może znaczenie odbiegać od pierwotnych założeń
→ Slide 5
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/
↓ Slide 6
Scrum
-
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
↓ Slide 7
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 role (wszyscy są developeramin)
Scrum master
odpowiedzialny za proces wytwarzania, organizację pracy, podział ról, przestrzeganie zasad Scruma
↓ Slide 8
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
Work Item - jednostka pracy, zgłoszenie, zadanie do wykonania w określonym czasie przez członka zespołu
↓ Slide 9
Sprint
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 zostało wykonane 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
→ Slide 10
Scrum w TFS
↓ Slide 11
↓ Slide 12
Product Backlog
ogólny plan prac, user story (życzenia klienta), zgłoszenie (zadania lub błędy) nieprzydzielone do iteracji
zmienia się w czasie prac nad projektem
elementy PB są zazwyczaj rozbijane na bardziej szczegółowe zadania sprintu
↓ Slide 13
Product Backlog Item
nazwa, opis, właściciel, stan: New → Approved → Commited → Done, priorytet
effort (szacowany czas), planning poker
acceptance criteria - warunek osiągnięcia celu
↓ Slide 14
Kanban Board
↓ Slide 15
Cykl życia Backlog Item
↓ Slide 16
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
↓ Slide 17
Pojemność sprintu
↓ Slide 18
Work Item - Jednostka pracy
Źródło: https://www.visualstudio.com/en-us/docs/work/backlogs
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,
↓ Slide 19
↓ Slide 20
Cykl życia zgłoszenia
↓ Slide 21
Board
↓ Slide 22
Effort
Żródło: wikipedia.org
↓ Slide 23
Raporty i zapytania
↓ Slide 24
Team room
↓ Slide 25
↓ Slide 26
Alerts
→ Slide 27
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
↓ Slide 28
↓ Slide 29
My work (TFVC)
Zarządzanie zadaniami z poziomu VS
↓ Slide 30
Zarządzanie zadaniami podczas zatwierdzania zmian (TFVC)
↓ Slide 31
Code review (TFVC)
↓ Slide 32
↓ Slide 33
Pull request (git)
→ Slide 34
Ken Schwaber, Jeff Sutherland,
Scrum Guide wersja polska
-
-
-
-