VM.PL

Czy warto zastosować Agile w swoim projekcie? Sprawdź kluczowe argumenty!

/ 25.05.2023
Zarządzanie projektem

Jako doświadczony manager z pewnością rozumiesz, że aby projekt IT był udany,  potrzebne są nie tylko umiejętności techniczne, ale także  zorganizowanie organizacji tak, aby koncentrowała się na dostarczaniu wartości dla klientów. Obecnie w czasie zmieniającej się sytuacji gospodarczej zwinność jest potrzebna jak nigdy wcześniej, ponieważ ułatwia dostosowanie się do nowych warunków rynkowych. 

Dlaczego można powiedzieć, że Agile zmniejsza ryzyko  I ułatwia zarządzanie projektem? W webinarze "Agile jako sposób na zmniejszenie ryzyka w projektach rozwoju oprogramowania” Paweł Słowikowski jako doświadczony trener Agile omawia praktyczne zastosowanie takiego podejścia. Całość obejrzysz pod tym linkiem.

W tym artykule skoncentrujemy się na tym, jak Agile realnie przynosi wartość organizacjom, zmniejsza koszty I przyspiesza realizację działań. Jesteśmy też realistami I omówimy, w jakich przypadkach wdrożenie Agile nie zawsze jest  idealnym rozwiązaniem. Czy więc Agile jest dla Ciebie? Przeanalizujmy poniższe argumenty. 

Agile czy Waterfall? 

W wielu firmach realizuje się projekty w klasycznym podejściu waterfall. Jest to podejście zorientowane na plan, które skupia się na dostarczeniu wszystkiego, co jest w zakresie projektu. Co więcej, każdy etap w projekcie musi zostać zakończony przed przejściem do następnego kroku, czyli trzeba dostarczyć wszystkie, kolejno następujące po sobie funkcjonalności. Zwykle w takim projekcie na początku tworzona jest szczegółowa lista wymagań, następnie, czasem w sprintach, rozwijane są kolejne funkcjonalności, a na końcu następuje integracja i testowanie całości. To podejście stosuje się, gdy klient ma jasny i ustalony cel końcowy i nie musi (lub nie chce) być zaangażowany we współtworzenie produktu. 

Z kolei w Agile kluczowym elementem jest iteracyjny rozwój. Polega to na dostarczaniu małych fragmentów produktu, które powinny być zintegrowane z resztą rozwiązania. Choć kolejne wersje usługi nie są doskonałe lub mają ograniczoną użyteczność, są ważnymi elementami dostarczającymi informacji zwrotnych, pomagających w podjęciu decyzji o tym, jak rozwijać dalej usługę. Co więcej, dzięki iteracyjnemu tworzeniu rozwiązania, możemy przerwać w dowolnym momencie, w którym stwierdzimy, że mamy już wystarczająco dobry produkt — oszczędzając w ten sposób wydatki na dalszy rozwój.  

Jaki wpływ ma podejście Agile lub Waterfall na ryzyko projektowe? 

Wyobraź sobie stateczny, wolno płynący statek, który przewozi cały cenny ładunek danej firmy. Trzyma się obranego kursu i jest bardzo przewidywalny w swoim harmonogramie. Jednak gdy spotka na swojej drodze niebezpieczeństwo, np. górę lodową, to skierowanie go w inną stronę może być bardzo trudne, a konsekwencje kolizji są katastrofalne. 

Podobnie można scharakteryzować organizację, która ma ogromny projekt realizowany w strategii waterfall. Wydaje nam się, że świetnie jest budowany I czekamy na końcowy efekt. Jednak w momencie zaburzeń rynkowych, czy braku funduszy na ukończenie go, szkody dla organizacji mogą być bardzo duże, lub wręcz katastrofalne. Co więcej, o problemach dowiadujemy się najczęściej bardzo późno — wtedy, kiedy trudno jest już zmienić kierunek. 

Spójrzmy teraz na bardziej “zwinne” podejście. Jeśli mamy małą żaglówkę, nie zabierzemy tyle  ładunku co ogromny statek, o którym mówiliśmy wcześniej. Z drugiej strony, taka żaglówka jest szybka, zwinna i może szybko wykonać zwrot, aby uniknąć niebezpieczeństwa. Jeśli mamy na przykład armadę małych statków, to gdy jeden zatonie, nie tracimy wiele, bo  nadal nasz ładunek jest rozłożony na pozostałe statki.  

W taki sposób działa zwinna organizacja, pozwala sobie na szybką zmianę kierunku na podstawie informacji zwrotnych, które otrzymuje z różnych źródeł, od swoich klientów, z kontroli jakości, z rynku, interesariuszy itp. Mając tylko małe części produktu lub małe projekty,  nad którymi pracujemy, możemy manewrować wzdłuż niebezpieczeństw i faktycznie ograniczyć ryzyko.  

W jakich warunkach Agile przynosi największą wartość? 

Agile warto stosować się we wszystkich sytuacjach, gdzie potrzebujemy częstej i szybkiej informacji zwrotnej, pomagającej w podejmowaniu lepszych decyzji. Idealnie sprawdza się wtedy, gdy zastanawiamy się nad ewentualną zmianą kierunku bądź też przerwaniem tego, nad czym pracowaliśmy do tej pory i szybkim wdrożeniem innej koncepcji. 

Przykładowe sytuacje, które mogą wymagać podejścia Agile: 

- Próba zmiany nawyków użytkowników — nie wiemy, co okaże się sukcesem, ale mamy pewną hipotezę i sprawdzamy małe zmiany czy działają, czy też nie.  

 - Ocena użyteczności pewnych funkcjonalności – sprawdzamy, które z nich są najkorzystniejsze. Za każdym razem dostajemy szybką informację od odbiorców i mierzymy skuteczność działań. 

 - Sprawdzanie opłacalności nowej technologii i odkrywanie innego sposobu na rozwiązanie złożonego problemu. 

Jest to szczególnie potrzebny w przypadku tworzenia oprogramowania, gdy mamy jakiś nieznany obszar do odwzorowania lub może funkcjonalność, której nie możemy wykorzystać z innego produktu. Musimy wtedy rozwiązać jakiś problem w inny sposób, a częsta informacja zwrotna bardzo pomaga w testowaniu technologii. 

Podsumowując, jakiego ryzyka unikasz dzięki Agile? 

  • Zbyt późnej informacji o napotkanych problemach 

Unikasz pułapki polegającej na tym, że przez jakiś czas żyjesz w błogiej nieświadomości, bo mylisz raporty z postępu w projekcie z faktycznie działającym rozwiązaniem (kiedy integracja całego produktu odbywa się dopiero na końcu). W takiej sytuacji  podejście Agile szybko identyfikuje powstające problemy, nawet w projektach o ściśle ustalonym zakresie. 

  • Obniżasz ryzyko poniesienia zbyt dużych kosztów 

Mając kolejne wersje zintegrowanego, niedoskonałego produktu możemy w każdym momencie zdecydować, czy dane rozwiązanie jest już “wystarczająco dobre” i albo zmienić kierunek, albo wręcz zaprzestać dalszego rozwoju. W klasycznych projektach, kiedy zabrniemy już za daleko, nie jesteśmy w stanie przestać finansować projektu, bo przed jego zakończeniem najczęściej nie mamy nic działającego (syndrom utopionych kosztów).  

  • Nie zostajesz z nieskończonym produktem 

Szybko otrzymujemy działający produkt, który możemy rozwijać np. przy kolejnej rundzie finansowania. Jeżeli w którymś momencie zakończymy projekt, to istnieje przynajmniej jakaś szansa, na kontynuację developmentu. Jest ona z pewnością większa niż ta, w projektach waterfallowych, gdzie na przykład w którymś momencie mogły nam się skończyć środki finansowe, a my zostajemy z nieprzydatną, ogromną bazą szybko starzejącego się kodu. 

Agile korzyści

Kiedy Agile niekoniecznie się sprawdzi? 

Nie wszędzie jednak można w pełni wykorzystać zalety Agile. Na przykład, mając ustalony zakres projektu jak lista wymagań “must have” podzielona na mniejsze części jak kamienie milowe lub iteracje, które mają być dostarczone w ustalonym czasie, prawdopodobnie nie uda się szerzej wykorzystać podejścia Agile. Jest to zwykle przypadek, w którym mamy projekt i jedyną rzeczą, którą wykorzystujemy z  podejścia Agile, jest fakt,  że podzieliliśmy go na sprinty. Jednak jest to wciąż klasyczne podejście, tylko że z  iteracjami. Mimo wszystko, nawet w tego typu projektach możemy obniżyć pewne czynniki ryzyka, poprzez częstą integrację całego produktu z kolejnymi jego częściami i pracę w zespołach cross-funkcjonalnych. 

Agile unikanie ryzyka

Co może utrudniać przyjęcie Agile? 

Przyjęcie Agile jest ogromną zmianą w organizacji, generującą nowe wyzwania. A przejście na zwinność to coś więcej niż tylko rozpoczęcie pracy w sprintach i codzienne spotkania w zespołach programistycznych.  Zwykle jest to wysiłek całej organizacji, który zaangażuje wiele osób.

Jakie są najistotniejsze bariery w przyjmowaniu praktyk Agile? 

  • Niespójne procesy 

Kiedy przekazujemy więcej autonomii zespołom, powinniśmy zadbać o równowagę pomiędzy standaryzacją procesów i praktyk a autonomią i swobodą wyboru własnego sposobu pracy. Jeśli mamy różne standardy, np. raz mamy jednotygodniowe sprinty, w innym przypadku dwutygodniowe sprinty, to może być trudno się zsynchronizować. Trudność może sprawić zrozumienie tego, co zostało naprawdę zrobione, jeśli istnieją różne definicje tego, czym jest ukończenie danego zadania (tzw. Definition of Done). 

  • Kultura organizacyjna sprzeczna z wartościami Agile 

 Kultura organizacyjna jest najwolniejszym etapem zmian, ponieważ składa się z wartości, zachowań i nawyków wszystkich ludzi, zwłaszcza liderów. Łatwo jest wprowadzić mechaniczne zmiany w IT, jednak bez zmian w sposobie zarządzania efekt będzie tylko powierzchowny   

  • Skalowanie organizacji 

Zmiana w kierunku zwinności jest wystarczająco trudna nawet w stabilnym środowisku I z zespołem ludzi, którzy wspierają Cię w tej zmianie. Jednak gdy firma rośnie, jest to znacznie bardziej złożone i trudne, ponieważ, przy jednoczesnym rozroście struktur, wymaga jednoczesnej standaryzacji procesów, dobrej wizualizacji przepływu wartości I transparencji działań, bądź też zwiększenia technicznej zdolności do częstego wypuszczania produktów. Dlatego dobrze jest być ostrożnym z przeprowadzaniem transformacji Agile i skalowaniem w tym samym czasie. Jeśli będziemy skalować coś, co nie działa dobrze, będziemy mieli jeszcze więcej tego samego. 

Co może pomóc wdrożyć Agile w Twojej organizacji? 

Z pewnością potrzebne jest wsparcie doświadczonych specjalistów, którzy faktycznie mogą pracować razem z Tobą i poznać Twoje prawdziwe problemy w organizacji. Jest to możliwe we współpracy z ludźmi, którzy holistycznie podejdą do każdego etapu transformacji w ramach, na przykład outsourcingu projektu.  Podejście systemowe,  gdzie patrzymy na cały strumień przepływu wartości, pozwala skupić się na usuwaniu globalnych problemów, a nie tylko na wdrażaniu lokalnych usprawnień. Dodatkowo rozwijamy umiejętności miękkie liderów, które pomogą zrozumieć wartości stojące za zwinnym podejściem, a nie tylko jego techniczne elementy. 

Czy Agile sprawdzi się w Twoim projekcie?  

To jest pytanie, na które z pewnością każdy musi odpowiedzieć sobie sam. Można krótko podsumować, że Agile to sprawdzone podejście, ale nie zawsze sprawdzi się w każdej sytuacji. 

Czasami koszt transformacji do tego modelu pracy będzie wyższy niż potencjalne korzyści. Na przykład, jeśli nie jesteś gotowy na to, aby zmierzyć się z problemami systemowi, zbudować odpowiednie nastawienie (mindset) wśród liderów, czy zainwestować w techniczne aspekty szybkiego dostarczania produktu, wtedy jedyne, z czym zostaniesz, to rachunki z drogich szkoleń Agile.  

Jeśli jesteś gotów otworzyć się i nauczyć się czegoś innego bądź chcesz wykorzystać Agile do zajęcia się trudnymi problemami organizacji, które usprawnią cały strumień wartości (np. zwinne budżetowanie, DevOps, szybka pętla informacji zwrotnej), wtedy Agile jak najbardziej zadziała na Twoją korzyść. 

Jeśli po prostu chciałbyś porozmawiać z doświadczonymi specjalistami z zakresu transformacji cyfrowej w Niemczech, czy Agile jest dla Ciebie, skontaktuj się z nami. Chętnie porozmawiamy o potrzebach Twojej organizacji i doradzimy najlepsze rozwiązania. 

Design, Development, DevOps czy Cloud - jakiego zespołu potrzebujesz, aby przyspieszyć pracę nad swoimi projektami?

Porozmawiaj ze specjalistami, aby porozmawiać o swoich potrzebach.

Jakub Orczyk
Członek zarządu / Dyrektor sprzedaży
VM.PL
Zamów bezpłatną konsultację
Jakub Orczyk

Umówmy się na spotkanie!

Z przyjemnością odwiedzimy Cię w Twoim biurze. Pozwoli nam to osobiście przedyskutować możliwości i korzyści współpracy.

Jeśli chcesz się z nami umówić na spotkanie, zostaw wiadomość. Skontaktujemy się z Tobą w celu ustalenia dogodnego terminu.

* Prosimy wypełnić wszystkie obowiązkowe pola.
Umówmy się na spotkanie!