W tej lekcji omówimy, jak zarządzać zakresem w środowisku Agile, w porównaniu do tradycyjnego, predykcyjnego podejścia do zarządzania zakresem.
W środowisku predykcyjnym wszystkie wymagania są jasno określone na początku projektu. Z kolei w środowisku adaptacyjnym definiujemy jedynie te wymagania, które można przewidzieć na początku, a następnie priorytetyzujemy je, tworząc backlog produktu. Nowe wymagania pojawiają się w kolejnych iteracjach, a zakres projektu jest stopniowo rozwijany i uściślany.
Dla przykładu, jeśli budujemy stronę internetową w środowisku predykcyjnym, musimy od razu zdefiniować cały zakres projektu, np. stronę główną, stronę kontaktową i blog. Natomiast w środowisku Agile zaczynamy od stworzenia strony głównej jako priorytetu, a następnie rozwijamy pozostałe elementy, takie jak blog czy strona kontaktowa, w kolejnych iteracjach.
W środowisku predykcyjnym zmiany zakresu są niepożądane, a w adaptacyjnym zmiany są nieuniknione i stanowią integralną część procesu. Zakres jest elastyczny, a budżet i czas są stałe, podczas gdy w środowisku predykcyjnym zakres jest stały, a budżet i czas mogą być elastyczne w zależności od zmian.
W predykcyjnym podejściu do zarządzania zakresem, produkt końcowy jest dostarczany na końcu projektu, natomiast w Agile dostarczamy mniejsze fragmenty produktu w trakcie cyklu życia projektu. Każda dostarczona część, zwana również deliverable, powinna przynosić wartość biznesową, rozwiązywać problemy lub przyczyniać się do osiągnięcia zysków przez firmę.
W podejściu Agile tworzymy backlog produktu, gdzie wymagania są definiowane w postaci opowieści użytkownika (user stories). Jeśli wymagania są niejasne, tworzymy epiki, które później są dekomponowane na bardziej szczegółowe funkcje i opowieści.
Kluczowym elementem jest również definiowanie kryteriów akceptacji, które pomagają określić, czy prace projektowe zostały zakończone. W środowisku predykcyjnym kryteria akceptacji są stałe, podczas gdy w adaptacyjnym mogą ulegać zmianom w trakcie trwania projektu.