Organizacja projektu i metody zwinne — Scrum i Kanban
Role, sprinty, artefakty i dlaczego krótkie cykle pokonują wielkie plany
Wstęp
Regulamin kształcenia web developera wymaga, aby uczeń znał zwinne metody wytwarzania oprogramowania i potrafił pracować w zespole — to jeden z nadrzędnych celów kształcenia, a nie szczegół. Wynika to z tego, że wymagania wobec rozwiązania internetowego rzadko są w pełni ustalone przed rozpoczęciem pracy. Metody zwinne są na to odpowiedzią: dzielą pracę na krótkie cykle, w których na bieżąco testuje się, pokazuje i dostosowuje, zamiast planować wszystko z góry i zobaczyć wynik dopiero na końcu.
Scrum — trzy role bez hierarchii
Scrum jest najbardziej rozpowszechnionym frameworkiem agile. Zgodnie z Przewodnikiem Scrum (2020), zespół Scrum składa się z jednego Product Ownera, jednego Scrum Mastera i deweloperów (Developers) — bez podteamów lub wewnętrznej hierarchii. Product Owner jest odpowiedzialny za maksymalizowanie wartości produktu i ustala priorytety tego, co powinno być zbudowane. Scrum Master uczy zespół, jak używać Scrum i usuwa przeszkody dla nich. Developers to wszyscy, którzy przyczyniają się do ostatecznego wyniku — deweloperzy, testerzy, projektanci i inni.
- 01Product Owner: priorytetyzuje zadania i jest właścicielem kierunku produktu
- 02Scrum Master: coach i usuwa przeszkody, bez bycia szefem zespołu
- 03Deweloperzy: wszyscy, którzy przyczyniali się do budowy rozwiązania
Sprint i cztery zdarzenia
Praca odbywa się w sprintach — krótkich, czasowo ograniczonych okresach, często kilka tygodni, z ustalonym celem. Wokół sprintu są cztery ustalone wydarzenia, które powinny stworzyć przejrzystość i możliwość dostosowania w trakcie.
| Wydarzenie | Cel |
|---|---|
| Planowanie sprintu | Zespół planuje, co następny sprint ma dostarczyć |
| Daily scrum | Krótkie, codzienne spotkanie statusowe — co zrobiono, co brakuje, co blokuje |
| Przegląd sprintu | Gotowa praca jest pokazana, a opinia jest zbierana |
| Retrospektywa sprintu | Zespół patrzy na własne metody pracy i uzgadnia usprawnienia |
Artefakty i zobowiązania
Scrum opiera się na trzech artefaktach, każdy z wyraźnym zobowiązaniem do niego dołączonym. Product Backlog to całkowita, uporządkowana lista wszystkiego, co brakuje w produkcie, związana razem z Product Goal. Sprint Backlog to to, co zespół konkretnie wybrał dla bieżącego sprintu, powiązane z Sprint Goal. Increment to to, co faktycznie zostało zbudowane i działa, powiązane z Definition of Done — wspólnym zrozumieniem, kiedy coś jest «gotowe», a nie tylko «napisane».
Kanban — przepływ zamiast ustalonych sprintów
Kanban to kolejne rozpowszechnione podejście zwinne, które jest Often używane samodzielnie lub razem ze Scrumem. Zamiast sprintów ograniczonych czasowo pracuje się z przepływem opartym na tablicy — zadania przesuwają się przez kolumny takie jak 'nie rozpoczęte', 'w toku' i 'ukończone' — i granicach dla tego, ile zadań może być w toku jednocześnie (limity WIP). Dobrze się nadaje do pracy, która napływa stale, np. operacje i wsparcie, gdzie stałe sprinty mogą wydawać się sztuczne.
“Metody Agile nie polegają na pominięciu planowania — polegają na planowaniu w cyklach wystarczająco krótkich, aby odkryć błąd, zanim będzie drogi w naprawie.”
— Zwykła zasada nauczania w organizacji projektów