Tradycyjne a zwinne metodyki zarządzania projektami. Czym się różnią i kiedy je stosujemy?
Na rewersie wizytówki Lemonovej jednym z haseł są zwinne metodyki. To znaczy, że pracujemy tak by stale dostosować się do zachodzących zmian. Ważne jest szybkie reagowanie na potrzeby rynku, wykorzystywanie najnowszych rozwiązań technologicznych i tworzenie innowacyjnych produktów, które kreują nową wartość dla klientów. Zmiana jest tu pojęciem kluczowym , ale zaczynając od początku….
Czym jest podejście tradycyjne?
Tradycyjne zarządzanie projektami stosowane jest od dawna, zakłada że klient posiada jasno sformułowaną potrzebę-cel, deadline oraz budżet, który gotowy jest przeznaczyć na realizację projektu. Model kaskadowy inaczej Waterfall polega na wykonywaniu podstawowych czynności, jako odrębnych faz projektowych, kolejno po sobie. Każda czynność to osobna faza i schodek (kaskady):
Zaletami podejścia kaskadowego do zarządzania projektami są:
- przygotowanie szczegółowego plany projektu;
- brak wysokich wymagań kompetencyjnych w stosunku do członków zespołu projektowego;
- z góry określone wymagania dotyczące zasobów niezbędnych do realizacji projektu.
Natomiast wśród wad tradycyjnego podejścia można wymienić:
- ograniczoną możliwość wprowadzania zmian w trakcie realizacji projektu;
- bardzo obszerna dokumentacja projektowa;
- weryfikacja wyników prac przez klienta dopiero po zakończeniu etapu lub całego projektu;
- ryzyko wysokich kosztów projektu;
- ryzyko przedłużania się czasu realizacji projektu;
- zbyt wysoki poziom formalizacji;
- odsuwanie na dalszy plan rzeczywistych potrzeb klienta;
- przejście do następnej fazy możliwe po zakończeniu poprzedniej.
W rezultacie, jeżeli jakieś błędy zostają popełnione w dwóch pierwszych fazach a wykryte w fazie testowania lub użytkowania, koszt ich usunięcia okazuje się bardzo wysoki.
Czym są zwinne metodyki? O co chodzi w Manifeście Agile?
Zwinne podejście powstało początkowo, jako odpowiedź na wady i ograniczenia tradycyjnego podejścia, które nie sprawdzało się w projektach związanych z tworzeniem i rozwojem oprogramowania. Agile to grupa metod wytwarzania oprogramowania opartego na programowaniu iteracyjno-przyrostowym, która pozawala na to by szczegóły pojawiały się z czasem. Agile spodziewa się zmian w trakcie projektu i je akceptuje, zakłada elastyczność przebiegu prac połączoną z transparentnością i zdrowym rozsądkiem. Należy ukończyć daną fazę na takim etapie, jaki pozwoli projektowi przejść do następnej fazy, a brakami należy zająć się w kolejnej iteracji.
Praca dzielona jest na krótkie cykle (sprinty), w trakcie których zespół skupia się na dostarczeniu konkretnego wymagania, stanowiącego część końcowego rozwiązania.
Skład zespołów jest zazwyczaj wielofunkcyjny oraz samozarządzalny, bez zastosowania jakiejkolwiek hierarchii organizacyjnej. Członkowie zespołu biorą odpowiedzialność za zadania postawione w każdej iteracji, współpracują i ciągle i jasno komunikują się. Sami decydują jak osiągnąć postawione cele.
W trakcie każdego cyklu zespół samodzielnie planuje pracę, projektuje rozwiązanie, testuje wytworzony kod i zbiera informację zwrotną od klienta.
Dopiero w oparciu o wyniki zakończonego sprintu planowany jest kolejny. Istotne przy tym jest, żeby w każdym sprincie dostarczać funkcjonalne przyrosty (np. pojedyncza działająca funkcja aplikacji), które mogą być oceniane i weryfikowane przez klienta. Dzięki temu, że nie planujemy zbyt daleko do przodu wszelkie zmiany mogą być wprowadzane i wrażane w kolejnych iteracjach. Sprzyja to również wykrywaniu błędów w programowaniu.
W Lemonovej w oparciu o metodyki zwinne wypracowaliśmy skuteczne metody pracy w szybko zmieniającej się rzeczywistości. W naszej pracy często odwołujemy się do Manifestu Agile, przez co staramy się cenić:
Ludzi i interakcje od procesów i narzędzi
Działające oprogramowanie od szczegółowej dokumentacji
Współpracę z klientem od negocjacji umów
Reagowanie na zmiany od realizacji założonego planu.
Co w praktyce oznacza to, że elementy wypisane po prawej są wartościowe, ale priorytetowe są dla nas te, które wypisano po lewej.
Więcej o zasadach Agile, jego wadach i zaletach będziecie mogli przeczytać w następnym wpisie z cyklu Zarządzanie w IT. Obserwujcie naszego bloga ?