→ Slide 1

Zarządzanie projektem w Azure Boards

→ Slide 2

Źródło: wikipedia.org

↓ Slide 3

Model kaskadowy

  • Model kaskadowy (waterfall), wodospadowy, liniowy
    Kolejne etapy następują po sobie bezpośrednio

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 bogatej 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

www.pmpp.pl_wp-content_uploads_2019_02_agile-project-management-1200x850.jpg

  • podejście przyrostowe: produkt rozwijany w iteracjach, każda iteracja dostarcza działające i przetestowane funkcje
  • szybkie wytwarzanie oprogramowania wysokiej jakości
  • regularna adaptacja do zmieniających się wymagań (np. zmiana wymagań klienta)
  • późne zmiany w specyfikacji nie mają destrukcyjnego wpływu na proces wytwarzania oprogramowania
  • bezpośredni kontakt, jako najlepsza forma komunikacji w zespole i poza nim (zazwyczaj małe zespoły) → mniej dokumentacji
  • bardzo ważny jest odpowiedni nadzór nad procesem wytwórczym → Scrum

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

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

  • jedna z najbardziej znanych metodyk zwinnych (Agile)
  • 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
  • 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, zarządza backlogiem produktu
  • Development Team
    odpowiada za wykonany w danym sprincie przyrost
    od 3 do 9 specjalistów o rożnych kompetencjach,
    międzyfunkcjonalność i samoorganizacja
  • Scrum master
    odpowiedzialny za proces wytwarzania, organizację pracy, podział ról, przestrzeganie zasad Scruma
↓ Slide 8

Artefakty

  • Product Backlog - uporządkowany wykaz prac produktu, nakreśla znane i najlepiej rozumiane wymagania. Zmienny i zazwyczaj niekompletny.
  • Sprint backlog - lista zadań w sprincie, których celem jest realizacja wymagania z PB
  • 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

↓ Slide 10

Zdarzenia w Sprincie

  • 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 11
↓ Slide 12

Work Items

  • przegląd listy zadań
  • filtrowanie zadań względem różnych kryteriów

↓ Slide 13

Work Item - Jednostka pracy

  • definicja elementu pracy: tytuł, opis, itd.

  • Rodzaj: task, bug, impediment (issue), user story, test case, …
  • Pola zależą od procesu wytwórczego (Scrum, Agile) oraz typu zgłoszenia
  • Assigned to: osoba odpowiedzialna za wykonanie
  • Stan, np. To do, In progress, Done
  • cykl życia - możliwe przejścia między stanami
  • połączenia między zadaniami: hierarchiczne lub płaskie
  • 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 14

Jednostki pracy Scruma

  • Product Backlog Item, Tasks - wymagania backlogu projektu i zadania sprintu
  • Bug - defekty kodu
  • Epic, Feature - grupowanie zadań w bardziej pojemne scenariusze

↓ Slide 15

Boards

  • tablice Kanban, łatwy sposób śledzenia postępów

↓ Slide 16

Backlogs

  • lista elementów Product Backlog
  • ogólny plan prac, user story, zgłoszenie (zadania lub błędy)
  • elementy PB są rozbijane na zadania sprintu

↓ Slide 17

Product Backlog Item

  • nazwa, opis, właściciel, stan, priorytet
  • effort (szacowany czas, story points), planning poker
  • acceptance criteria - warunki osiągnięcia celu

↓ Slide 18

Cykl życia Backlog Item

  • stany: New → Approved → Commited → Done

↓ Slide 19

Sprints

  • zarządzenie zadaniami w sprincie (tablica Kanban, backlog sprintu)
  • planowanie pojemności (capacity), burndown chart
  • zakres czasowy sprintu

↓ Slide 20

Cykl życia zadania

  • stany zadania: To do → In progress → Done

↓ Slide 21

Pojemność sprintu

  • Capacity - ilość czasu jaką członkowie przeznaczają dziennie na pracę

↓ Slide 22

Queries: Raporty i zapytania

  • listy zadań filtrowane przez zapytania

↓ Slide 23

Dashboard

  • widgety z informacjami na temat projektu

↓ Slide 24

Burndown Chart

→ Slide 25
  • Team Explorer → Work Items - lista zadań
  • Tworzenie zadań Team → Add New Work Item
  • Tworzenie gałęzi kodu powiązanych z zadaniami
  • Queries (raporty i zapytania) Team → New query
  • Powiązanie zadania ze zmianami kodu w git
↓ Slide 26

Lista zadań

  • Assigned to me: twoja lista zadań
  • Following: śledzone zadania
  • Mentioned: zadania, w których zostałeś wspomniany
  • My activity: ostatnio przeglądane zadania

↓ Slide 27

Operacje na zadaniach

  • Assign to me: przydziel mi to zadanie
  • New Branch: nowa gałąź automatycznie połączona z zadaniem
  • Complete work item: zmiana stanu zadania na Completed, Done lub Closed
  • Relate to changes: powiąż ostatnie zmiany kodu z zadaniem

↓ Slide 28

Skojarzenie zadań z rewizją git

  • możliwe także powiązanie w treści wiadomości
    git commit -m „Zmiana związana z zadaniem #123”

Źródło: https://msdnshared.blob.core.windows.net

↓ Slide 29

VS2019 Legacy experience

  • W VS2019 domyślnie zapytania i zadania obsługiwane przez Web Portal
  • Przywrócenie funkcjonalności dostępnych w poprzednich wersjach VS
    Tools → Options → Work Items → Legacy experience

  • dodawanie nowych elementów pracy
  • edytor zapytań i raporty zadań

→ Slide 30