Model kaskadowy na stałe zagościł jako sposób prowadzenia projektu w wielu firmach, niekoniecznie tylko w branży IT. To najpopularniejsza i najczęściej wykorzystywana metoda zarządzanie projektem i nie można się dziwić dlaczego, jeśli zrozumie się jak prosty i efektywny jest to system.

 

Czym jest model kaskadowy?

Model kaskadowy to klasyczny system, który, jak nazwa wskazuje, opiera się na zasadzie szeregowej. Każda kolejna faza projektowa następuje po kolei jedna za drugą. Każda z nich podlega osobnym testom i sprawdzeniu użyteczności. Jeśli wymagana jest modyfikacja lub przebudowa, można tego dokonać na danym fragmencie i w gronie osób odpowiedzialnych za tę część. Wprowadza się tyle iteracji, ile trzeba, żeby uzyskać założony cel. 

 

Sposób ten wykorzystywany jest dość szeroko poza branżą IT. Korzysta się z niego w budownictwie, produkcji i innych branżach, w których występuje powtarzalna praca projektowa. Jednak w przypadku metodologii Waterfall mamy do czynienia z iteracyjnym modelem kaskadowym, który posiada pewne niewielkie różnice od klasycznego sposobu. 

 

W modelu ogólnym zawartych jest osiem faz, które jedna po drugiej muszą zostać wypełnione. Najpierw teoria, czyli faza koncepcyjna. Bardzo istotna, ponieważ dobre zaplanowania zaoszczędzi późniejszych poprawek lub zaczynania od początku. Rozpoczęcie prac następuje zaraz po ustaleniu ram teoretycznych. Analiza, projektowanie i budowa, dokładnie w tej kolejności, to praca nad powstaniem samej aplikacji. Później następują testy, które mają za zadania wyłowić błędy. Wdrożenie aplikacji ma miejsce po tym, jak projekt w fazie produkcyjnej zostaje zakończony. Po premierze czas na obsługę gotowego produktu.

 

Jakie są najważniejsze cechy Waterfall?

W Waterfall najważniejszy jest szczegółowy plan, który tworzy sekwencje realizacji zadań. Ich efektem ma być rozwiązanie finalne. Model ten zakłada rygorystyczne przestrzeganie ram czasowych, czyli terminów końcowych. Sporządza się również dokumentację wszystkich czynności. W ogólnym założeniu zadania realizuje się po kolei, bez wyjątków. Chodzi tu o wypełnianie poszczególnych zadań w przeznaczonym czasie, żeby kontrolować koszty i nie zaważyć na sukcesie całego przedsięwzięcia.

 

Minusem są pewne ograniczenia. Jeśli konieczne jest wprowadzenie modyfikacji lub zmiany, należy cofnąć się w postępie. Brakuje tutaj elastyczności, ponieważ nie można też przejść dalej, jeśli nie ukończy się fazy poprzedniej. Jednak jeśli zadania wykonywane są zgodnie z założeniami i rzetelnie, to każdy uczestnik szybko zauważy, że model ten sprawdzi się w wielu środowiskach, oraz że jest jasny i łatwy w obsłudze.

 

Jak powstał model kaskadowy?

Model kaskadowy, od którego pochodzi również Waterfall, jest prosty, ale zaprawiony w boju. Jego geneza sięga jeszcze połowy poprzedniego wieku czasów produkcji przemysłowej. Model ten został opisany przez Winstona Royce’a w „Zarządzaniu procesem tworzenia dużych systemów oprogramowania”. Sam twórca jednak miał wątpliwości do tej metody i domyślał się jej zawodności. Nazwał ją „ryzykowną i sprowadzającą kłopoty”. Szybko jednak udowodniła ona swoje zalety w dziedzinie programowania.

 

Czym charakteryzuje się model Waterfall?

Model Wartefall posiada pewną sztywną charakterystykę, która narzuca sposób pracy całemu zespołowi i determinuje rodzaj współpracy z klientem. Przede wszystkim ustala on kilka niezbywalnych kroków, których nie powinno się zmieniać, jeśli przedsięwzięcie ma zakończyć się sukcesem. Model ten daje pewną gwarancję powodzenia, ponieważ używany jest przez tak wiele firm nie bez powodu. Zadania układane są według ściśle określonego harmonogramu. 

 

Czy Waterfall ma minusy?

Ustalona kolejność zadań może w pewnym stopniu utrudnić przebieg projektu i go wydłużyć, bo nie można przejść do następnego etapu bez zakończenia bieżącego. Jeśli, dla przykładu, klient ma pewne sugestie lub chce wprowadzić wcześniej nieprzewidziane zmiany, to zespół musi zacząć pracę od nowa lub mocno przebudować dany etap. Jedno jest pewne – nie można ruszyć z dalszą pracą. To oczywiście zwiększa koszty i wydłuża czas realizacji. Może to zaważyć na sukcesie całego przedsięwzięcia. Jednak jeśli rozegrać sprawy odpowiednio, wprawiony zespół developerów nie powinien mieć problemów.

 

Testy są kolejnym problem tego typu projektów. Można je przeprowadzać dopiero po ukończeniu projektu. Jakkolwiek wprowadza to pewien porządek do pracy nad aplikacją, to może to oznaczać dodatkowe wydłużenie pracy. Pisanie kodu w ciemno z pewnością wygeneruje więcej defektów, które następnie testerzy w ostatniej fazie będą musieli wyłapać i usunąć.

 

Prawdopodobnie największą wadą Waterfall i cechą determinującą zakres projektów, na których można korzystać z tego modelu, to rodzaj współpracy z klientem. Jeśli nie określi on swoich wymagań w pierwszej fazie projektu, może się okazać, że jego późniejsze zmiany nie zostaną wprowadzone. Oznacza to albo współpracę na odgórnie określonym schemacie, najlepiej wcześniej już testowanym, lub rzetelny i czasochłonny proces planowania projektu. Jeśli te wytyczne nie zostaną wypełnione, premiera aplikacji może się znacznie opóźnić.

 

Jakie są zalety modelu kaskadowego?

Model Waterfall ma swoje zalety, które w określonych warunkach mocno za nim przemawiają. Stosując tę metodę należy dobrze zaplanować pracę i cały projekt. Im bardziej drobiazgowe opisy, tym lepiej. Szczegóły techniczne dotyczące najbardziej złożonych elementów będą wielką pomocą przy dalszej pracy developerskiej. Chodzi tutaj o dobrą znajomość celu, zastosowania aplikacji oraz potrzeb klienta. W trakcie planowania powstaje szczegółowa dokumentacja, z które później korzystać będą wszyscy zaangażowani w projekt. To z pewnością pomoże w jego realizacji.

 

Konkretne planowanie z góry i stworzenie jasnych ram projektu oznacza pewność klienta na temat rezultatu prac. Nie ma tu miejsca na niepewność i niedopowiedzenia. Jeśli tylko plan zostanie rzetelnie zrealizowany, to koncepcja wstępna powinna całkowicie pokrywać się z gotowym produktem. Podobny spokój ducha przyniesie inwestorowi z góry określony harmonogram i wycena projektu. Plan uniemożliwi kosztowne odstępstwa od założeń i sprawi, że uczestnictwo inwestora w trakcie realizacji nie musi być tak duże. Dostanie on z góry określoną aplikację spełniającą ustalone wymogi.

 

Dodatkową zaletą modelu Waterfall jest brak nieporozumień. Ścisły plan i dokumentacja wprowadzają rytm pracy, w którym nie ma już miejsca na przerwy w celu ustalenia szczegółów. Zapewni to zespołowi pewien komfort pracy i świadomość, że wymagania do nich skierowane są z góry określone, bez ślepych zakrętów i niespodzianek. Stosowanie dokumentacji na bazie kompleksowego planu oznacza również płynne przekazanie fragmentów projektu podwykonawcy lub wprowadzenie nowego specjalisty, bez przenoszenia terminu zakończenia.

 

 

Może wydawać się, że Waterfall nie jest modelem idealnym. Ma jednak pewne żelazne założenia, które sprawiają, że jest on doskonałym rozwiązaniem dla wielu projektów developerskich. Z góry określona formuła nie wyklucza wcale wkładu twórczego. Musi on po prostu nastąpić we wczesnej fazie projektu. Jeśli do danego zakresu prac pasuje model kaskadowy, to nie trzeba zastanawiać się dwa razy. Służy on klientowi, pracownikom i samemu projektowi. Zespół z doświadczeniem z pewnością docenia ten sposób pracy, ponieważ generuje on mniej stresujących sytuacji i pozwala na pracę płynną i bez zakłóceń.