• Pon-Pt : 9:00 - 18:00

Czym są i jak wykorzystać zwinne metodyki zarządzania projektami?


Czym są i jak wykorzystać zwinne metodyki zarządzania projektami?

Ostatnio słowo Agile staje się coraz bardziej popularne w dużych przedsiębiorstwach. Wiele firm aspiruje do tego, aby móc się określić tym przymiotnikiem – dlaczego? Pracując w zespole, nad oprogramowaniem bardzo ważne są szybkie reakcje na zmiany i dostosowanie się do nich. Wydaje się to oczywiste, ale w praktyce jest to dużo bardziej skomplikowane. Zarządzanie projektem wymaga często obszernej dokumentacji i trzymania się szczegółowego planu. Odpowiedzią na przerost formalności nad funkcjonalnością produktu jest podejście zwinne.

Skąd pomysł na zmianę metodyki zarządzania projektami informatycznymi?

Koniec XIX i początek XX wieku był bardzo intensywny dla rozwoju technologii komputerowej i informacyjnej. Coraz więcej klientów potrzebowało nowego oprogramowania w coraz krótszym czasie. Ówczesne kaskadowe podejście do zarządzania projektami (ang. Waterfall management) okazało się niewystarczające. Wiele projektów w tamtym czasie upadało, a jeśli już zostały zakończone – często ich jakość odbiegała od wymagań rynkowych – były zwyczajnie przestarzałe. Ten problem próbowano rozwiązać na wiele sposobów: zmianami w poszczególnych etapach realizacji projektu, zwiększaniem ilości przeznaczanych zasobów, czy też zmianami w zespole. Dopiero w 2001 roku zespół doświadczonych programistów zebrał się, by przedyskutować temat od podszewki – od samego sposobu prowadzenia projektu.

Narodziny podejścia zwinnego

Choć niektóre firmy skutecznie wprowadziły elementy zwinnego zarządzania projektami jeszcze w latach 90’, dopiero w 2001 roku zdefiniowano, czym ono w ogóle jest. Efektem prac programistów jest manifest zwinnego wytwarzania oprogramowania (ang. Manifesto for Agile software development). Wartościuje on elementy projektu i przedstawia 12 zasad zarządzania zwinnego. Całość jest cały czas dostępna na stronie agilemanifesto.org. Metodyki Agile charakteryzuje:

  • Ludzie i interakcje ponad procesy i narzędzia;
  • Działające oprogramowanie ponad szczegółową dokumentację;
  • Współpraca z klientem ponad negocjację umów;
  • Reagowanie na zmiany ponad realizację założonego planu.

Skoro już termin Agile jest nam znany, warto w tym momencie zaznaczyć: Agile sam w sobie nie jest metodyką. Jest to zbiór zasad, sposób myślenia i założenia dotyczące zarządzania projektem. Metodykami (ang. Framework) są np. Scrum, Extreme Programming (XP), Dynamic System Development Method (DSDM). Wszystkie z nich różnią się od siebie, ale wspólnie są oparte na zasadach i wartościach zawartych w manifeście.

12 Zasad zwinnego tworzenia oprogramowania

Na tym etapie używanie słowa „zwinny” odnośnie do metodyki może nie być jeszcze intuicyjne. Każdy wie, co to znaczy, ale jak to odnieść do zarządzania projektami? Z poprzedniego akapitu pamiętamy, jak zwinne podejście wartościuje poszczególne elementy projektu. Jest to poniekąd podsumowanie dwunastu zasad opracowanych przez zespół, który zaproponował te zmiany. Można się im przyjrzeć poniżej:

  1. Najwyższy priorytet ma zadowolenie klienta, dzięki wczesnemu i ciągłemu wdrażaniu wartościowego oprogramowania.
  2. Bądźcie gotowi na zmiany wymagań. Nawet na późnym etapie jego rozwoju. Procesy zwinne wykorzystują zmiany dla zapewnienia klientowi konkurencyjności.
  3. Dostarczajcie funkcjonujące oprogramowanie często, w kilkutygodniowych lub kilkumiesięcznych odstępach. Im częściej, tym lepiej.
  4. Zespoły biznesowe i deweloperskie muszą ściśle ze sobą współpracować w codziennej pracy przez cały czas trwania projektu.
  5. Twórzcie projekty wokół zmotywowanych ludzi. Zapewnijcie im potrzebne środowisko oraz wsparcie i zaufajcie, że wykonają powierzone zadanie.
  6. Najbardziej efektywnym i wydajnym sposobem przekazywania informacji zespołowi deweloperskiemu i wewnątrz niego jest rozmową twarzą w twarz.
  7. Działające oprogramowanie jest podstawową miarą postępu.
  8. Procesy zwinne umożliwiają zrównoważony rozwój. Sponsorzy, deweloperzy oraz użytkownicy powinni być w stanie utrzymywać równe tempo pracy.
  9. Ciągłe skupienie na technicznej doskonałości i dobrym projektowaniu zwiększa zwinność.
  10. Prostota – sztuka minimalizowania ilości koniecznej pracy – jest kluczowa.
  11. Najlepsze rozwiązania architektoniczne, wymagania i projekty pochodzą od samoorganizujących się zespołów.
  12. W regularnych odstępach czasu zespół analizuje możliwości poprawy swojej wydajności, a następnie dostraja i dostosowuje swoje działania do wyciągniętych wniosków.

Teraz jak już znamy zasady wystosowane w manifeście, aby sprawnie posługiwać się tym pojęciem i łatwo przypomnieć sobie najważniejsze założenia manifestu należy zapamiętać 4 kluczowe słowa: komunikacja, efektywność, klient, elastyczność (k-e-k-e).

Komunikacja odnosi się zarówno do otoczenia wewnętrznego, jak i zewnętrznego. Niezbędnym komponentem zwinności jest ciągły kontakt zarówno z klientem, jak i zespołem. Osoba odpowiedzialna za projekt musi na bieżąco znać wymagania klienta (które często będą się zmieniać) i stan pracy zespołu. Bardzo ważne jest, aby w zespole odpowiedzialność była wymiarowa do obowiązków. Ufamy kompetencjom pracowników i temu, że są w stanie sami się zorganizować by w najlepszy i szybki sposób dostarczyć produkt – potrzebują do tego odpowiedniego środowiska.

Efektywność pracy mierzona jest działającym oprogramowaniem. W celu zapewnienia jak największej jakości na bieżąco aktualizuje się wymagania dotyczące produktu i analizuje się dotychczasowe dokonania zespołu w celu usprawnienia działań. Kluczowym założeniem jest prostota i minimalizowanie koniecznej pracy.

Bez klienta nie ma produktu. W celu spełnienia jego oczekiwań wytwarzane oprogramowanie musi być dostarczane do niego na bieżąco w dobrej – użytkowej jakości. Dzięki temu klient będzie zaangażowany w tworzenie projektu, co z jego punktu widzenia jest niesamowicie ważne – Skoro ma dostać produkt, niech będzie taki jaki sobie życzy. Wobec tego trzeba się liczyć z częstymi zmianami odnośnie do zakresu i wprowadzanych funkcjonalności. Jest to wymagające i bez wątpienia skomplikowane, ale niezbędne by projekt zakończył się sukcesem.

Gdyby wykluczyć elastyczność, dalej trzymalibyśmy się obszernych planów, które niekoniecznie byłyby aktualne. Dodawalibyśmy elementy, które w rzeczywistości być może nie są w ogóle nam potrzebne. Zwinne metody zarządzania cechują się częstymi odpowiedziami na zachodzące zmiany w każdym etapie rozwoju projektu i to one zapewniają klientowi konkurencyjność.

Być albo nie być Agile – trudne to pytanie

Skoro zwinne podejście jest takie popularne, to chyba muszę tak prowadzić wszystkie projekty w swojej firmie? Niestety nie, samo to pytanie jest już w pewnym sensie zaprzeczeniem całej filozofii związanej z Agile i na tym etapie czytelnik zrozumie, dlaczego jest to coś więcej niż metodyka. Zakładanie z góry podejścia do problemu (projektu) wyklucza się z elastycznością. Przedsięwzięcie wymaga rozpoznania i dopiero wtedy można pokusić się o wybór sposobu jego realizacji. Przeważnie założenie, by realizować wszystkie projekty, np. metodyką Scrum brzmi nieracjonalnie i może mieć poważne konsekwencje w postaci opuszczonych projektów.

Zatem kiedy stosować zwinne metody? Decyzję ułatwi odpowiedź na kilka pytań:

  • Jak duży i doświadczony będzie zespół?
  • Czy są z góry narzucone ograniczenia czasowe?
  • Kto jest klientem i w jaki sposób będzie odbywała się współpraca?

Jeżeli przedsięwzięcie da się zrealizować w niewielkich zespołach i kompetencje każdego członka są wystarczające, sytuacja nie ogranicza nas do czasu wykonania zadań, klient chce blisko współpracować – może to być impuls do zastosowania metod zwinnych. Wyobraźmy sobie klienta X, chcącego stworzenia aplikacji do jego sklepu internetowego. Klient bacznie obserwuje trendy i sklepy internetowe oraz wielce prawdopodobne, że będzie chciał dodać coś ze swoich obserwacji do produktu. Zależy mu na jak najszybszym wydaniu aplikacji i określa jej najważniejsze funkcjonalności jej. W takiej sytuacji aż się chce zastosować zwinną metodykę zarządzania.

Rozważmy teraz inną sytuację. Firma Y chce stworzyć system, który pomoże im w dostosowaniu się do nowych przepisów ewidencji podatkowej. Ministerstwo zapowiedziało, że przepisy wejdą w życie od Lipca następnego roku. Cel jest jasno postawiony i ma służyć spełnieniu nowych wymagań makrootoczenia. Nie potrzebuje śledzić nowych trendów na rynku i musi zdążyć z wprowadzeniem systemu przed zmianą prawa. W takiej sytuacji będzie potrzebny szczegółowy plan zawierający zadania i przedziały czasowe na ich wykonanie. Tutaj lepiej będzie zarządzać w modelu kaskadowym.

Agile zarezerwowany dla programistów?

Choć podejście zwinne swoją genezę zawdzięcza programistom – nie oznacza to, że jest zarezerwowane tylko przy tworzeniu oprogramowania. Przecież komunikacja, efektywność, klient i elastyczność nie są ważne tylko dla informatyków. Znając już zasady, jakimi kieruje się to podejście, można się zastanowić, gdzie by je jeszcze zastosować? Tak naprawdę w pewnym stopniu można je zaimplementować wszędzie. Producenci samochodów chcą mieć wgląd do swoich projektów przed wydaniem nowego modelu. Oddział wojskowy musi być elastyczny do zmian na polu bitwy, a jego członkowie muszą na sobie wzajemnie polegać. Widać, że różne elementy zwinności można zastosować w różnych dziedzinach.

Czy jeżeli mamy projekty w Scrum, to moja firma jest zwinna?

Często przedsiębiorstwa tak się przedstawiają, chociaż samo zarządzanie projektem w metodyce zwinnej nie czyni jej jeszcze zwinną. Jak wspomnieliśmy wcześniej, jest to sposób myślenia (ang. Agile mindset), aniżeli tylko metodyka. Jeszcze bardziej powszechne jest nadawanie sobie tego miana, podczas stosowania wybiórczo zasad manifestu. Dlaczego jest to błędne? Odpowiedź jest prosta – całość manifestu tworzy integralną całość. Wystarczy przypomnieć sobie 4 kluczowe słowa. Tym razem czytając akapit z zasadami, warto zwrócić uwagę, jak te słowa przeplatają się między sobą. Bez jednego nie ma drugiego, wobec tego skupienie się na jednym czynniku i odrzucenie pozostałych nie zadziała.

Warto zapamiętać

Podejście zwinne to coś więcej niż metodyka. Wiąże się z tym filozofia, którą można wykorzystać nie tylko do zarządzania projektami. Jest to odpowiedź na problemy związane ze sztywnym trzymaniem się schematu, braku komunikacji i reakcji. Pierwotnie dotyczyło wytwarzania oprogramowania, jednak teraz jest ono powszechnie stosowane w różnych dziedzinach. Za jego początek uważa się ogłoszenie w 2001 roku manifestu składającego się z 4 stwierdzeń będących podsumowaniem 12 zasad. Należy pamiętać, że zwinne zarządzanie nie jest złotym środkiem. Ma ono swoje wady i zalety, dlatego wybierając metodykę, należy przeanalizować cel i warunki projektu.

Kacper Jasiński

 

 

 

 

 

Komentarze (0)

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *