Agile czy waterfall. Jak dobrać metodykę do projektu

  • Computerworld,

Rozwój projektów w metodykach zwinnych w ostatnich latach święci triumfy, wypierając tradycyjny, kaskadowy model pracy. Jednak oba podejścia mają swoje wady, zalety i odpowiednie zastosowania.

Agile i waterfall należą dziś do najpopularniejszych, najczęściej stosowanych metodyk zarządzania projektami. Pierwsza, na najbardziej ogólnym poziomie, polega na dzieleniu procesu projektowego na wiele krótkich odcinków, co pozwala na szybsze dostarczanie kolejnych, małych porcji projektu. Działający produkt uzyskujemy więc na stosunkowo wczesnym etapie, tyle że jego funkcjonalność jest przyrostowo rozbudowywana.

W drugim, bardziej linearnym podejściu, gotowy produkt pojawia się na samym końcu procesu rozwojowego. Problem w tym, że taki produkt może nie spełniać aktualnych wymagań zamawiającego, ponieważ powstawał w oparciu o założenia ustalone kilka czy kilkanaście miesięcy wcześniej. I to jest jedna z podstawowych bolączek waterfalla.

Zobacz również:

Czy to znaczy, że los metodyki kaskadowej, szczególnie we współczesnym, dynamicznym środowisku biznesowym ukształtowanym w drodze transformacji cyfrowej, jest przesądzony? Niekoniecznie – sporo zależy od typu projektów, które organizacja chce zrealizować, struktury zespołu oraz umiejętności i kompetencji pracowników. Spójrzmy na wady i zalety poszczególnych podejść.

Czym jest Agile

Termin Agile w kontekście metodyk projektowych utrwalił się po 2001 r. gdy opublikowany został tzw. Manifest Agile, zawierający cztery podstawowe wartości Agile i 12 zasad zwinności. Manifest opisuje kluczowe fazy procesu projektowego. Są to:

  • Planowanie: na tym etapie klienci i kluczowi interesariusze wspólnie opracowują koncepcję i założenia produktu, definiują priorytety, ustalają zasoby i budżet projektu.
  • Prace projektowe: specjaliści od user experience, pod kierownictwem Scrum mastera, współpracują z klientem, zespołem produktowym i innymi interesariuszami, aby określić kluczowe komponenty produktu.
  • Prace rozwojowe: w tej fazie zespół produktowy przygotowuje kolejne iteracje produktu w ramach wspomnianych wyżej krótkich etapów, zwanych sprintami.
  • Faza testowa to moment, gdy sprawdzana jest zgodność produktu z wymaganiami. W razie wykrycia błędów lub niedoróbek produkt wraca do fazy rozwojowej, a po usunięciu problemów – jest ponownie testowany. Cykl powtarza się do skutku, tj. gdy produkt osiąga pełną zgodność ze specyfikacją zamawiającego.
  • Faza wdrożeniowa: gdy dopracowany produkt jest przekazywany klientowi.
  • Informacja zwrotna: etap obejmujący analizę procesu rozwojowego, umożliwiający zespołowi poprawę jakości pracy nad kolejnymi produktami lub ogólną efektywność zespołu.

Eksperci Agile’a podkreślają, że

jedną z najważniejszych, o ile nie najważniejszą w ogóle, cechą charakteryzującą model pracy zwinnej, jest „klientocentryczność” – w centrum procesu są zawsze potrzeby i wymagania klienta.
Członkowie zespołów muszą także potrafić pracować w stale zmieniającym się środowisku. Oznacza to łatwość dostosowywania się do nowych wymagań i elastyczne podejście do zmian w założeniach projektowych, które mogą pojawić się na którymś z etapów pracy.

Czym jest waterfall

W metodyce kaskadowej proces rozwoju produktu od początku do końca bazuje na określonej, wyszczególnionej poniżej, sekwencji etapów. Środowisko pracy jest zorganizowane, a procesy i procedury – stabilne i ugruntowane. Zespoły działają metodycznie, przestrzegając zasad i ściśle określonych wytycznych, wykonując każdy cykl w tej samej kolejności.

  • Zbieranie i ocena wymagań: etap gromadzenia informacji (od klientów, interesariuszy) na temat specyfikacji funkcjonalnych, systemowych lub technicznych, które mają być wykorzystane w projekcie.
  • Projektowanie: podobnie jak w podejściu zwinnym, i tu – w porozumieniu z zamawiającym – ustala się najważniejsze funkcjonalności produktu lub usługi, również w kontekście doświadczeń użytkownika.
  • Testowanie: etap testów jakościowo-wydajnościowych. Jeżeli produkt spełnia wymagania, uzyskuje akceptację zamawiającego. W razie wykrycia błędów są one usuwane przez zespół projektowy przed dostarczeniem produktu.
  • Przekazanie produktu: następuje, gdy opracowywany produkt spełnia wszystkie wymagania określone na początku prac projektowych.
  • Utrzymanie / konserwacja: po otrzymaniu finalnego produktu klient może zażądać wprowadzenia w nim dodatkowych zmian (wydłuży to czas finalizacji projektu i zwiększy koszty).

Agile vs waterfall – porównanie zalet i wad

Opracowano na podstawie artykułu „Agile vs. waterfall: Project methodologies compared”, CIO.com.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem IDGLicensing@theygsgroup.com