Wprowadzenie do metodyki Agile Project Management

Wprowadzenie do metodyki Agile Project Management sxc.hu

W dzisiejszych czasach każdy uczestniczy w pogoni za króliczkiem. Nie symbolizuje on wprawdzie alternatywnej rzeczywistości, lecz dążenie do określonych celów, które można scharakteryzować krótko jako "lepiej", "więcej", "szybciej".

Ewolucja i rewolucja to w istocie to samo. Chodzi o adaptację. Kluczem jest czas.

- autor nieznany

Goniąc białego króliczka...

Prawdopodobnie wszyscy pamiętamy niebywały sukces pierwszej części filmu "Matrix". Główny bohater Neo, podążając za znakiem białego króliczka odkrywa to, o czym wcześniej nie miał pojęcia - alternatywną i prawdziwą rzeczywistość, jakże inną od jego wyobrażeń o otaczającym go świecie.

W dzisiejszych czasach każdy, w mniejszym lub większym stopniu uczestniczy w pogoni za króliczkiem. Króliczek nie symbolizuje wprawdzie alternatywnej rzeczywistości, lecz dążenie do określonych celów. Cele te można scharakteryzować krótko jako "lepiej", "więcej", "szybciej".

Dotyczy to szczególnie firm i błyskawicznie zmieniających się warunków rynkowych, w których przychodzi im działać. Lawinowo rosnąca liczba pojawiających się innowacji wymusza szybkie tempo wprowadzania ich w życie. Czas życia produktów skraca się, a konkurencja robi się coraz bardziej agresywna. Aby nie wypaść z rynku firmy zaczynają przyspieszać wytwarzanie nowych produktów oraz poszerzają ofertę usług. Wszystko po to, aby wypaść lepiej niż konkurencja. Zdobyć więcej klientów. Być szybszym od innych.

Funkcjonowanie w tak agresywnym, gwałtownie zmieniającym się środowisku (pomijając fakt, że innego wyboru najczęściej nie ma) jest samo w sobie dużym wyzwaniem. Co można zrobić, żeby nie wypaść z gry? Być lepszym, szybszym, bardziej dostosowanym do nowych warunków, postępu technologicznego, rosnących wymagań klienta? W jaki sposób to osiągnąć?

Oczywiste jest, że należy odpowiednio reagować na zmiany zachodzące w otoczeniu firmy. Co jednak należy zrobić, aby reakcje były jak najbardziej efektywne i skuteczne, a przede wszystkim SZYBKIE?

Odpowiedź jest stosunkowo prosta... trzeba się skutecznie adaptować do zmieniających się warunków. Ale co to znaczy skutecznie? albo raczej - jak to robić skutecznie? Dobre pytanie. Adaptacja, ale w jaki sposób?

Żeby adaptacja przyniosła zamierzone rezultaty należy dopasować jej tempo i zakres zmian do istniejących w danym momencie warunków otoczenia. Proces adaptacji powinien zawsze  mieć jak najwyższą efektywność.

Zaczynamy zatem pogoń za adaptacją... ;)

Jak to się robi?

Większość firm zdaje sobie sprawę, że kluczem do sukcesu jest wprowadzanie zmian. I to nie tylko na poziomie oferowanych usług czy produktów, ale również na poziomie procesów biznesowych, standardów korporacyjnych, kultury organizacyjnej, marketingu, kooperacji i wielu innych. W każdym przypadku motorem napędowym zmian są projekty.

Realizacja projektów i posiadanie przystosowanej do tego struktury organizacyjnej zapewnia odpowiednią elastyczność. Firma może skutecznie reagować na zmieniające się potrzeby rynku. Może, lecz nie musi. Powstają pytania: czy sama realizacja projektów jest wystarczająca? Czy projekty potrafią się adaptować do warunków otoczenia? Czy zarządzanie projektem jest wystarczająco efektywne? Aby na nie odpowiedzieć, poświęćmy chwilę na historię.

Nowoczesne techniki zarządzania projektami pojawiły się dopiero po II wojnie światowej. Prowadzenie bardzo dużych i kompleksowych projektów rządowych, głównie w Stanach Zjednoczonych, wymusiło powstanie odpowiednich technik i metod zarządzania nimi. Projekty takie, jak np. realizacje programów POLARIS, GEMINI czy APOLLO, charakteryzowały się istnieniem ogromnej liczby dostawców i kontrahentów. Cała ta ogromna masa ludzi i materiałów musiała być w jakiś sposób sprawnie koordynowana.

Opracowano techniki prowadzenia projektów typu PERT, czy CPM, które okazały się nadzwyczaj skuteczne. W niedługim czasie zaczęły być one wykorzystywane z powodzeniem przez firmy i korporacje na całym świecie. Powstały instytucje zajmujące się propagowaniem technik zarządzania projektami (np. Project Management Institute, założony w 1969 roku), jak też nowe, szeroko rozpowszechnione dzisiaj metodyki prowadzenia projektów typu PMI czy PRINCE2.Techniki zarządzania projektami zaczęły być stosowane przez średnie i małe firmy. metodyki PMI i PRINCE2  zaczęto traktować jako podstawę nauczania zarządzania projektami na uczelniach, kursach i szkoleniach.

Jednakże pamiętajmy, gdzie mają swoje źródło wszystkie klasyczne techniki prowadzenia projektów. Powstały one w celu ułatwienia realizacji dużych, skomplikowanych projektów do koordynacji ogromnej liczby kontrahentów i zasobów. A to, co skuteczne dla dużych przedsięwzięć, niekoniecznie sprawdza się dla małych...

Zwróćmy uwagę, że na przestrzeni ostatnich kilkudziesięciu lat dokonała się pewnego typu transformacja ekonomiczna - ze strony środków trwałych i dóbr, w stronę wartości intelektualnych i wiedzy. Dzisiaj, aby założyć firmę i odnieść sukces nie trzeba posiadać ogromnych zasobów materiałowych. Wystarczy kapitał wiedzy. Dla firm sprzedających wiedzę posiadanie i stosowanie skutecznych technik zarządzania projektami będzie szczególnie cenne z punktu widzenia konkurencyjności.

Dla innowacyjnej i kreatywnej firmy, realizującej projekty obarczone ryzykiem, tradycyjne techniki zarządzania projektami najczęściej nie zdadzą egzaminu. Niewiadoma co do rezultatu projektu oraz szybko zmieniające się otoczenie implikują potrzebę ciągłej adaptacji. Klasyka zawodzi, gdyż jest zbyt mało elastyczna by podołać zmianom. Do głosu dochodzi wtedy Agile Project Management (Agile PM), czyli Adaptacyjne Zarządzanie Projektem.

Kluczem jest adaptacja

Nie ważne jak daleko zaszedłeś złą drogą, zawróć.

- tureckie przysłowie

Każdy, kto kiedykolwiek prowadził projekt powiązany z technologią, wie, że połączenie wymagań projektowych z wymaganiami technicznymi i biznesowymi nie jest prostą sprawą. Jesteśmy przyzwyczajeni do magicznego trójkąta projektu (czas, jakość, budżet) i wszystkich ograniczeń, które nakłada. Większość firm stara się modyfikować klasyczne metodyki zarządzania projektami, tak aby dostosować je do szybko zmieniającego się otoczenia. I równie wiele firm ponosi klęskę, gdy nagle projekty kończą się niepowodzeniem, budżety zostają przekroczone, a w zadanym czasie nie da się osiągnąć rezultatów.

Zastosowanie Agile PM umożliwia osiągnięcie zamierzonych celów.

Czym zatem jest Agile PM? Techniką? Metodologią? Procesem? A może sposobem myślenia i podejścia do realizacji projektu? Odpowiedź nie jest jednoznaczna.. Stosowanie Agile PM wymaga istotnej ZMIANY MYŚLENIA potencjalnych Project Managerów oraz zmiany podejścia organizacji do prowadzenia projektów. Dopiero wtedy można zacząć stosować właściwe dla Agile PM rozwiązania.

Podstawową różnicą w podejściu Agile w stosunku do klasycznych metod jest przesunięcie nacisku od PLANOWANIA do WYKONANIA. W szybko zmieniającym się otoczeniu skomplikowane plany i harmonogramy realizacji są czynnikiem ograniczającym. Agile PM przesuwa proces podejmowania decyzji do fazy realizacji projektu tak, aby reakcja na pojawiające się zmiany była natychmiastowa. Od decyzji podjętych w trakcie realizacji projektu zależy jego powodzenie lub klęska, a nie od tego, czy został dobrze, czy źle zaplanowany. Planowanie jest traktowane jako proces drugorzędny i nie jest on kluczowy dla prawidłowego przebiegu projektu.

Stosowanie Agile PM nie jest obligatoryjne. Nie jest to zasada albo-agile-albo-nic. W wielu przypadkach zarówno techniki klasyczne, jak i podejście Agile będą się uzupełniały. Na pewno czynnikiem determinującym będzie otoczenie projektu (lub firmy), ale nie tylko.

Agile PM znajduje zastosowanie szczególnie tam, gdzie:

  • warunki otoczenia zmieniają się szybko i często,
  • realizacja projektów obarczona jest dużym ryzykiem i niepewnością co do efektów,
  • cele projektu (deliverables) nie są do końca zdefiniowane lub niejasne,
  • niezbędna jest unikalna wiedza przy realizacji projektu,
  • w krótkim czasie potrzebujemy uzyskać konkretne rezultaty.
W celu podjęcia decyzji co do stosowania Agile PM warto posłużyć się następującymi kryteriami:

Kryterium 1: Rodzaj projektu

Możemy rozróżnić trzy rodzaje projektów:

  • projekty realizowane na szczeblu operacyjnym - stałe, powtarzalne projekty kluczowe dla działania firmy, realizowane w oparciu o znane kryteria. Przykładem może być tu wprowadzanie nowej usługi na bazie już istniejących lub produkcja partii towaru na zamówienie,
  • projekty wprowadzające nowe produkty lub procesy - wszędzie tam, gdzie podstawą są już istniejące technologie, a proces wprowadzania nowego produktu lub usługi jest dobrze znany i udokumentowany, np. wprowadzenie do produkcji nowego modelu samochodu,
  • projekty technologiczne - rozwijające nowe i nieznane do tej pory technologie; wymagające unikalnej wiedzy i obarczone dużym ryzykiem niepowodzenia. Przykład: opracowanie nowego leku, produkcja oprogramowania.

Agile PM będzie najmniej skuteczne w przypadku pierwszym, a najbardziej w trzecim - tam, gdzie potrzeba adaptacji projektów będzie największa.

Kryterium 2: Sponsorzy projektu

Możemy wyróżnić następujące typy sponsorów:

  • pojedynczy - sponsor zlokalizowany w  jednej firmie,
  • mieszany - wielu sponsorów w jednej firmie,
  • rozproszony - sponsorzy zlokalizowani w wielu firmach.

Podejście Agile będzie najskuteczniejsze przy realizowaniu projektu w obrębie jednej firmy. W przypadku istnienia wielu sponsorów oraz struktury rozproszonej organizacji efektywność Agile PM drastycznie spada. Jest to efektem występowania wielu często rozbieżnych celów oraz wielu podmiotów realizujących projekt.

Projekt jako biznes

Trzy zasady Agile Project Management:

  • Po pierwsze: Projekt jest biznesem
  • Po drugie: Projekt jest biznesem
  • Po trzecie: Projekt jest biznesem

Projekty należy prowadzić tak samo jak działalność operacyjną firmy, integrując projekt i proces podejmowania decyzji w jedno. Pozwala to na skuteczne osiągnięcie założonych celów biznesowych. W jaki sposób można uzyskać taką integrację?

Należy zawsze brać pod uwagę całe otoczenie firmy. Przy działalności operacyjnej decyzje będą podejmowane zarówno pod wpływem czynników wewnętrznych, jak i zewnętrznych. Tak samo przy realizacji projektu - na jego przebieg będą wpływały czynniki wewnętrzne i zewnętrzne. Projekt nie może funkcjonować jako proces izolowany, oderwany od całości firmy. Niezbędne jest zapewnienie odpowiedniego przepływu informacji zarówno z wnętrza firmy, jak i jej otoczenia. Project Manager nie może skupiać się jedynie na projekcie i jego realizacji w oderwaniu od celów biznesowych firmy. Potrzebna jest mu szersza perspektywa i spojrzenie na projekt ze strony jego odbiorców. Musi zdawać sobie sprawę, jakie REALNE cele biznesowe ma osiągnąć projekt.

Jest to szczególnie istotne w dynamicznym środowisku, gdzie cele biznesowe mogą się wielokrotnie zmieniać w trakcie realizacji projektu. Project Manager skupiony tylko i wyłącznie na ukończeniu projektu nie będzie w stanie reagować wystarczająco szybko na występujące zmiany.

Klasycznym przykładem odseparowania projektu od otoczenia biznesowego jest struktura macierzowa. Członkowie zespołów projektowych są "wypożyczani" z odpowiednich działów na czas trwania projektu. Nie są oni nastawieni na uzyskanie rezultatu, nie czują się zintegrowani, a pracę w ramach projektu często traktują jako zło konieczne. Struktury takie funkcjonują w wielu firmach, ale sprzyjają one separacji, a nie integracji podejmowania decyzji biznesowych względem realizacji projektu.

Znacznie lepsza pod względem przepływu informacji, integracji oraz orientacji na cele biznesowe jest struktura projektowa. W strukturze takiej nie istnieją podziały pionowe, a zespoły projektowe pracują w celu uzyskania określonego celu biznesowego. Podejmowanie decyzji zapada w obrębie zespołu. Oczywiście należy pamiętać, że nie w każdym przypadku struktura projektowa będzie możliwa do zastosowania.

Przy podejściu Agile trzeba pamiętać aby:

  • zdefiniować cele biznesowe,
  • zdefiniować projekty, których realizacja spełni założone cele biznesowe,
  • realizować projekty w oparciu o strukturę projektową.

Zespół i jego Agile Project Manager

W klasycznym podejściu Project Manager jest narzucany odgórnie jako "szef" stojący wyżej w hierarchii od członków zespołu. Jest on postrzegany zazwyczaj negatywnie, jako osoba, której głównym zajęciem jest egzekwowanie wykonywania zadań i rozliczania pracy.

Stosując Agile PM należy wyraźnie określić rolę, jaką pełni Project Manager, za co odpowiada, jaki ma zakres kompetencji. Project Manager musi zostać zaakceptowany przez zespół projektowy. Zespół powinien wiedzieć, że wnosi on wartość dodaną do projektu.

Skuteczny Agile Project Manager powinien:

  • być bardziej mentorem, niż planistą,
  • koncentrować się nie na realizacji zadań, ale na śledzeniu czynników, które mogą realizację zakłócić,
  • obserwować otoczenie biznesowe i sprawdzać, czy nie występują zmiany wpływające na realizację projektu,
  • zapewniać wartość dodaną dla zespołu, zbierając i przekazując informacje zewnętrzne z otoczenia projektu,
  • zapobiegać powstawaniu problemów w realizacji projektu, a nie je likwidować, gdy już powstaną,
  • tłumaczyć dane techniczne i biznesowe dotyczące projektu na język zrozumiały dla członków zespołu,
  • pośredniczyć w przekazywaniu istotnych informacji poszczególnym członkom zespołu oraz odpowiadać za ich prawidłową dystrybucję,
  • zdobyć zaufanie sponsorów projektu, tak aby mieć możliwość elastycznego podejmowania decyzji w nagłych przypadkach,
  • poznać rzeczywiste oczekiwania sponsorów projektu i zapewnić ich realizację,
  • w razie konieczności uzupełniać zespół przy realizacji zadań,
  • w przypadku dynamicznych zmian w trakcie realizacji projektu skoncentrować się na ich koordynacji, a nie na poprawianiu planu,
  • posiadać całościowy obraz projektu wraz z otoczeniem biznesowym i przekazywać go członkom zespołu,
  • gromadzić doświadczenie i wyciągać wnioski z przebiegu projektu oraz aktywnie dzielić się nimi z członkami zespołu.

Podejście Agile koncentruje się na pracy zespołu jako jedności, zorientowanej na osiągnięcie konkretnych celów biznesowych. Nie ma ważniejszych lub mniej ważnych członków zespołu. Każdy ma taką samą wartość dla projektu.

Przy budowaniu zespołu należy zwrócić uwagę, aby:

  • każdy czuł się w równym stopniu zaangażowany i odpowiedzialny za projekt,
  • role poszczególnych członków zespołu wynikały z wiedzy i doświadczenia, a nie miejsca w hierarchii służbowej,
  • tworzyć dla zespołów warunki dla zapewnienia kreatywności, a nie nakładać bariery ograniczające,
  • umożliwiać zmianę ról członków zespołu na projekcie, a nie przypisywać do ściśle określonych miejsc w strukturze,
  • zachęcać do bycia kreatywnym,
  • poświęcać czas na dokładne wyjaśnianie ról i odpowiedzialności poszczególnych członków zespołu,
  • pozwalać na podejmowanie decyzji członkom zespołu w zakresie ich kompetencji i odpowiedzialności,
  • uzyskać wyraźną akceptację i zrozumienie zarządu co do delegowania części procesu decyzyjnego na ręce zespołu,
  • zdefiniować proces rozwiązywania sporów decyzyjnych w obrębie zespołu, zanim zostaną one eskalowane wyżej,
  • tak zdefiniować role na projekcie, aby każda miała jednego i tylko jednego właściciela, co pozwoli unikać sporów kompetencyjnych,
  • zwiększyć częstotliwość spotkań projektowych, ale ograniczyć zakres poruszanych problemów oraz czas trwania,
  • respektować czas członków zespołu i przedstawiać im agendę spotkań, jak również nie czynić obecności obligatoryjną w każdym przypadku,
  • stworzyć plan komunikacji i podejmowania decyzji w obrębie zespołu oraz przedstawić do akceptacji sponsorom projektu.

W podejściu Agile bardzo ważna jest współpraca Project Managera z zespołem. W rzeczywistości Project Manager musi funkcjonować jako pełnoprawny członek zespołu. Nie może w sposób abstrakcyjny "zarządzać" projektem, koncentrując się tylko na rozliczaniu z realizacji zadań. Bez współpracy nie ma szans na to, by skutecznie i szybko reagować na pojawiające się zmiany w otoczeniu projektu.

Kilka słów o planowaniu...

Proces planowania jest kluczowym elementem klasycznego zarządzania projektami. Każdy Project Manager doskonale zna rozbudowane harmonogramy, listy zasobów i materiałów - wszystko zaplanowane w najdrobniejszych szczegółach na przynajmniej kilka miesięcy wprzód. W szybko zmieniającym się otoczeniu często okazuje się, że nasz plan staje się nieaktualny tuż po jego przygotowaniu. Czas i wysiłek poświęcony na planowanie idzie na marne.

Prowadząc projekty zgodnie z podejściem Agile musimy pamiętać, że warunki wewnętrzne i zewnętrzne mogą i będą się szybko zmieniać. Czy zatem w ogóle rezygnować z planowania? Odpowiedź brzmi: oczywiście, że nie. Nie ma praktycznie nikogo, kto byłby w stanie zakwestionować w stu procentach potrzebę posiadania planu projektu. Jednakże, dla potrzeb projektów Agile planowanie musi wyglądać nieco inaczej niż w klasycznym podejściu.

W dzisiejszych czasach projekty realizowane są szybko. Zdrowy rozsądek podpowiada nam, że posiadanie planu jest koniecznością. Z drugiej strony praktyka pokazuje, że sztywne trzymanie się planu może przyczynić się do klęski projektu. Rozwiązaniem jest przygotowanie planu, który jest elastyczny i nie wybiega zbyt mocno wprzód. Nazwijmy takie podejście planowaniem adaptacyjnym.

Nasz adaptacyjny plan nie powinien nas ograniczać i zakładać niezmienności przebiegu projektu w czasie. W jaki sposób przygotować tego typu plan?

Należy się trzymać poniższych wskazówek:

  • nie tworzyć rozbudowanych, szczegółowych planów obejmujących cały zakładany czas trwania projektu,
  • planowanie szczegółowe ograniczyć tylko do najbliższego przewidywalnego punktu - kamienia milowego lub punktu decyzyjnego,
  • ocenić stopień nieprzewidywalności dla poszczególnych działań projektowych i w zależności od tego tworzyć plany szczegółowe lub nie,
  • zaangażować zespół w ocenę stopnia przewidywalności działań projektowych,
  • budować plan na podstawie kamieni milowych niezbędnych do realizacji celów projektu, a nie szczegółowych zadań,
  • używać metody "od ogółu do szczegółu" przy planowaniu wykorzystania zasobów, a nie tradycyjnego podejścia "od szczegółu do ogółu",
  • nie używać wykresów słupkowych Gantta, a raczej diagramów sieciowych,
  • dokonywać planowania i modyfikacji harmonogramów w trakcie całego czasu trwania projektu,
  • w każdym punkcie planowania uzgadniać wszelkie estymacje z zespołem.

Planowanie w środowisku Agile nie jest proste. Konstrukcja adaptacyjnego, dynamicznego planu będzie wymagała od Project Managera zarówno uwzględnienia wpływu otoczenia, jak i umiejętności zespołu. Zawsze też należy pamiętać, że planowanie w środowisku Agile jest sprawą drugorzędną. Najważniejsza jest orientacja na rzeczywiste REZULTATY projektu.

I jeszcze jedno. Bądźmy w każdej chwili przygotowani na wystąpienie czynników, które zmienią przebieg projektu. Traktujmy je jako wyzwanie, a nie przeszkodę.

Tylko najlepsze jest wystarczająco dobre...

Jak każda metodyka, Agile Project Management jest zbiorem pewnych zasad, metod i dobrych praktyk postępowania. Stosowanie wymaga pewnej dozy praktyki i doświadczenia, a przede wszystkim zmiany podejścia do sposobu prowadzenia projektów. Agile PM staje się coraz bardziej popularne ze względu na swoją efektywność. Koncentruje się na rezultatach i metodach ich osiągnięcia. Nie produkuje planów i harmonogramów, które potem nie wytrzymują zderzenia z rzeczywistością. Szczególnie dobrze służy małym firmom, które na ogół mają elastyczną strukturę i łatwo im jest zaimplementować podejście Agile.

Bardzo duże uznanie Agile PM uzyskało w branży komputerowej, szczególnie przy produkcji oprogramowania, zapewniając skuteczną realizację projektów w krótkim czasie. Na bazie Agile powstało wiele technik prowadzenia projektów programistycznych.

Zatoka Dobrych Szkoleń