Zarówno podejście iteracyjne jak i przyrostowe związane są ściśle z Agile, jednak mylnie używane jako analogiczne pojęcia. Być może dlatego, że ciężko tak naprawdę znaleźć jednoznaczną definicję obu tych modeli, a także dlatego że obydwa podejścia dotyczą podobnej tematyki. W tym przypadku jednak diabeł tkwi w szczegółach i choć rzeczywiście oba modele poruszają ten sam wątek, to ich znaczenie jest zupełnie inne.

Podejście iteracyjne i przyrostowe – wyjaśnienie definicji

Zacznijmy od tego, że oba te pojęcia dotyczą procesu, którego zadaniem jest ulepszenie, jednak w obu odbywa się on na nieco innych zasadach. W przypadku podejścia iteracyjnego chodzi o powtarzanie tej samej czynności, co ma finalnie prowadzić do jej ulepszenia lub urozmaicenia. Natomiast podejście przyrostowe ma na celu stałe zwiększanie ilości lub wartości czegoś, z czego każdy element jest od początku maksymalnie dopracowywany.

Choć w tym momencie moglibyśmy podać przykład z pracy zespołu programistów czy jakikolwiek inny, to najjaśniejsza wydaje się być analogia przytoczona przez Mike Cohn, który porównał proces iteracyjny do procesu rzeźbienia. W pierwszym momencie rzeźbiarz ma do wyboru różnego rodzaju kamienie i wybiera ten, którego kształt jest najbardziej zbliżony do tego, co planuje stworzyć. W kolejnym kroku zadaniem rzeźbiarza jest nadanie kamieniowi ogólnego zarysu, a dopiero w następnych zaczyna pojawiać się kształt, który bliżej określa to, co ma powstać z kamienia. Każdy krok prowadzi więc do zakończenia procesu czyli powstania rzeźby, każdy jest ważny i potrzebny, jednak żaden z nich nie zostanie uznany przez rzeźbiarza jako ukończony, dopóki nie powstanie finalny zamysł czyli gotowa rzeźba.

Sprowadźmy tę barwną analogię do nieco bardziej przyziemnego procesu, czyli projektu realizowanego przez programistów dotyczącego uruchomienia nowej strony internetowej. W czasie prac nad witryną programiści od razu tworzą całościowy produkt i oddają go w ręce użytkowników umożliwiając im testowanie go. Wcale jednak nie oznacza, że jest to ukończony i gotowy produkt. W czasie użytkowania zespół bada wady projektowe, sprawdza możliwości wprowadzenia ulepszeń i rozwoju witryny. Po zebraniu tych informacji zespół przechodzi do projektowania kolejnej wersji. Każdy taki proces to kolejny cykl ulepszeń czyli cykl iteracyjny.

Rzeźbiarz, który miałby tworzyć swoją rzeźbę w podejściu przyrostowym pracowałby zupełnie inaczej. Nie traktowałby każdego kroku jako elementu, który następnie byłby dopracowywany w kolejnych etapach, a od początku tworzyłby finalny kształt każdego z nich. Co to oznacza? Załóżmy, że taki rzeźbiarz chce stworzyć posąg człowieka. W takim razie nie będzie nadawał mu ogólnego zarysu czy kształtu, a skupi się od razu na stworzeniu doskonałych szczegółów, które nie będą musiały być poprawiane w kolejnych krokach i od razu osiągną swój finalny wygląd.

Jak to przełożyć na pracę zespołu projektowego? Każda sekcja czy podgrupa skupia się na swoim zadaniu i tworzy kompletny komponent strony, który sam w sobie nie ma większych możliwości funkcjonalnych. Jednak jest maksymalnie dopracowany i ukończony. Dopiero po złączeniu efektów pracy wszystkich grup powstaje finalny produkt, który składa się z tych wszystkich komponentów.

Główne różnice w podejściu iteracyjnym i przyrostowym

Zrozumienie różnic pomiędzy tymi podejściami to klucz do tego, aby wybrać te, które lepiej sprawdzi się w konkretnej sytuacji.

Ryzyko błędu

Podejście przyrostowe niesie ze sobą spore ryzyko, gdyż ewentualne błędy czy wady można wykryć dopiero na końcu, czyli w momencie połączenia poszczególnych komponentów w finalny produkt. Wcześniej każda z tych części jest kompletna sama w sobie, jednak zupełnie nie funkcjonalna, więc tak naprawdę jest jedną wielką niewiadomą. Jeśli chodzi o wykrywanie błędów i wprowadzanie zmian to zdecydowanie łatwiej o to w przypadku stosowania podejścia iteracyjnego.

Czas realizacji projektu

W przypadku podejścia iteracyjnego możliwe jest szybsze stworzenie projektu, który gotowy będzie do przetestowania. Wynika to z faktu, że ewentualne usprawnienia będą wprowadzane w kolejnych etapach, jednak będzie działo się to w tle i nie będzie zakłócało funkcjonowania pierwotnej wersji. Zupełnie inaczej wygląda to w przypadku podejścia przyrostowego. Tutaj każda sekcja opracowywana jest osobno i maksymalnie udoskonalana, co zajmuje zdecydowanie więcej czasu.

Udział użytkowników w procesie

W przypadku podejścia iteracyjnego użytkownicy są bardziej zaangażowani w proces i mogą szybciej przetestować produkt. Jest to wartością samą w sobie, ale pozwala także zdobyć cenne informacje na temat funkcjonowania i wprowadzenia ewentualnych ulepszeń i rozwoju produktu. Stosując podejście przyrostowe użytkownicy muszą dłużej czekać na finalny produkt, a ich udział w całym procesie nie jest aż tak istotny.

Koszty związane z projektem

To kolejny element, w którym nie da się jednoznacznie określić, które z tych podejść jest bardziej kosztowne. Wszystko zależy od tego, jak długo będzie trwał dany projekt i ilu poprawek będzie wymagał. Metoda iteracyjna staje się kosztowna, w przypadku kiedy wymaganych jest wiele iteracji, gdyż każda z nich wiąże się z kolejnym zwiększeniem budżetu. Wydaje się więc, że podejście przyrostowe pozwala lepiej oszacować budżet i określić finalne koszty. To prawda, jednak pod warunkiem, że ukończona wersja będzie wolna od błędów i nie będzie wymagała poprawek poszczególnych elementów.

Który rozwój iteracyjny czy przyrostowy jest lepszy?

Nie da się odpowiedzieć na to pytanie inaczej, niż: to zależy. Podejście iteracyjne sprawdzi się lepiej w przypadku dużych projektów, gdzie z góry założenie jest takie, że pierwsza wersja nie będzie tą finalna, a sam produkt ma szansę na rozwój. To świetne rozwiązanie w momencie, kiedy potrzebne jest szybkie wejście na rynek. Natomiast podejście przyrostowe sprawdzi się, kiedy masz jasną wizję tego, jak ma wyglądać produkt finalny i wiesz, że nie będzie tam miejsca na udoskonalenia czy usprawnienia.

Oznacza to, że dokonując ostatecznego wyboru musisz wziąć pod uwagę cel swojego projektu, ale także okoliczności związane z nim i wymagania, jakie stawia. W przypadku kiedy oczekujesz szybkich wyników, a w cały proces chcesz zaangażować klientów lepiej sprawdzi się podejście iteracyjne, natomiast jeśli dokładnie wiesz jaki produkt chcesz opracować i od razu celujesz w najwyższą jego jakość, to postaw na podejście przyrostowe.

Poza konkretnymi sytuacjami, kiedy jasno klaruje się odpowiedź na pytanie, które z tych podejść wybrać, istnieje jeszcze przestrzeń pomiędzy, gdzie wcale nie jest to takie oczywiste. Powstaje zatem pytanie, czy nie można połączyć korzyści płynących z obu tych rozwiązań i wykorzystać te aspekty, które akurat wpisują się najlepiej w dany projekt?

Podejście iteracyjne czy przyrostowe, a może obydwa?

Oba podejścia mają ten sam cel, oba mają swoje wady i zalety i stosowanie obydwu niesie ze sobą pewne ryzyko. To, które z nich będzie najodpowiedniejsze zależy tak naprawdę od procesu, który zamierzamy przeprowadzić. Jednak czy tak naprawdę konieczne jest wybranie jednego rozwiązania? Być może najlepszym wyjściem jest połączenie obydwu i znalezienie złotego środka?

Nic nie stoi na przeszkodzie, aby stosować podejście iteracyjno-przyrostowe. Nie trzeba bowiem ściśle trzymać się opracowanych ram. Lepiej stosować je jako inspirację i element wyjściowy, z którego można wybrać najbardziej pasujące do danej sytuacji elementy. Każde z tych podejść ma określone cechy, które sprawdzą się lepiej w konkretnych sytuacjach. Możesz więc wybrać te, które akurat bardziej Ci odpowiadają, połączyć je i stworzyć swoje własne podejście, łączące oba te style. Dzięki temu stworzysz proces dostosowany do Twoich potrzeb, który z całą pewnością będzie bardziej efektywny.

Wypróbuj Firmbee za darmo!

Podejście iteracyjne i przyrostowe

Jeśli podobają Ci się treści, które tworzymy, sprawdź również: Facebook, Twitter, LinkedIn, Instagram, YouTube, Pinterest,TikTok.

Różnice pomiędzy podejściem iteracyjnym i przyrostowym andy nichols avatar 1background

Autor: Andrzej Naborowski

Specjalista od rozwiązywania problemów. Posiada 5 różnych stopni naukowych i nieskończone pokłady motywacji, co czyni go idealnym przedsiębiorcą i menadżerem. Przy poszukiwaniu pracowników i partnerów biznesowych największe znaczenie ma dla niego otwartość i ciekawość świata.