Agile a rola Project Managera
Ostatnia aktualizacja 24 maja, 2022
Agile, czyli grupa metodyk zwinnych, zyskuje na popularności nie tylko w branży IT. Optymalizacja zasobów zespołu, dzięki elastycznemu podejściu oraz rozbudowanym interakcjom międzyludzkim, skutkuje zwiększeniem efektywności i szybszym osiąganiem celu.
Ostatnia aktualizacja: 24.05.2022. Drobne poprawki i dodatkowa treść.
Co to jest Agile?
Agile to zwinne i elastyczne podejście do procesów projektowych, będące alternatywą dla sztywnego modelu kaskadowego (waterfall model). Pracując według idei Agile, każdy z zespołów cechuje się samozarządzaniem, bieżącym reagowaniem na zmiany, a także systematycznym prezentowaniem dotychczasowych efektów klientom w celu uzyskania cennego feedbacku.
Praca podzielona jest na krótkie iteracje (cykle), np. 4-tygodniowe, co pozwala na regularne dostarczanie mniejszych elementów projektu i elastyczne podejście we wdrażaniu poprawek lub zmian. Dzięki takiemu podejściu znacznie szybciej można osiągnąć zakładane cele.
Początki
Zaczęło się w 2001 roku, kiedy grupa programistów postanowiła spędzić czas na nartach i przy okazji zastanowić się nad ulepszeniem podejścia do procesu programowania. W efekcie rozmów powstał Manifest Zwinnego Wytwarzania Oprogramowania, czyli spis głównych wartości i 12 zasad opisujących współpracę między członkami zespołów.
Podstawowe założenia manifestu to:
Ludzie i interakcje są ważniejsi niż procesy i narzędzia;
Oprogramowanie, które działa jest istotniejsze niż szczegółowa dokumentacja;
Współpraca z klientem jest bardziej wartościowa niż negocjacja umów;
Reagowanie na zmiany jest ważniejsze niż trzymanie się ustalonego planu.
Agile project management jest zatem sposobem myślenia o projekcie. Można zarządzać nim przy użyciu jednej z metodyk. Przykładowo mogą nimi być Scrum, Kanban lub Lean. Są one skoncentrowane na osiągnięciu celu, a nie na sztywnym trzymaniu się ustalonych zasad i kroków postępowania.
Czy w podejściu agile’owym jest miejsce dla Project Managera?
Project Manager to rola pochodząca z tradycyjnego sposobu zarządzania projektem. W skład jego obowiązków wchodzi rozdzielenie pracy w zespole, zarządzanie zakresem, budżetem oraz czasem trwania projektu. Odpowiada także za monitorowanie postępu i minimalizowaniu ryzyka.
W Scrumie będącym jedną z popularniejszych metod zwinnych, obowiązki tradycyjnego PM-a są rozdysponowane między dwie role: Product Ownera i Scrum Mastera. Dobrze to działa przy małych projektach, które liczą nie więcej niż parędziesiąt osób. W dużych, paruset osobowych projektach, nad którymi pracuje więcej zespołów scrumowych, potrzebna jest już osoba koordynująca niektóre elementy.
Agile Project Manager
Rola Project Managera w Agile będzie się nieco różniła od klasycznej wersji tej funkcji. Agile PM może zająć się komunikacją z interesariuszami projektu, oceną i minimalizacją ryzyka (współpracując tu z zespołem) i zarządzaniem budżetem. Nie będzie natomiast odpowiedzialny za rozdzielanie zadań (to wciąż będzie robić zespół pracujący nad projektem w sprintach), ani też nie będzie odpowiadać za zakres projektu, ponieważ to należy do obowiązków Product Ownera.
Zobacz: Embedded Developer – czym się zajmuje?
Jak agile’owe podejście przydaje się w pracy Project Managera?
Nawet jeśli jakiś rodzaj ram i systematyzacji jest konieczny, to zmiana myślenia o pracy projektowej
i przestawienie się na adaptację do panujących warunków oraz dostrzeganie bieżących szans zawsze przyniesie wymierne korzyści zarówno firmie, jak i klientom.
Uelastycznienie roli PM-a w dużych projektach pozwoli zachować balans pomiędzy minimalizowaniem potencjalnych strat a utrzymaniem wysokiego zaangażowania i mobilizacji zespołu pracującego nad produktem.
W Agile Project Manager jest odciążony z konieczności zarządzania zespołem. Uwolnione zasoby umysłowe może poświęcić na lepsze wypełnianie pozostałej części obowiązków.
Etapy projektu Agile PM
Filozofia Agile sprawia, że prace przy realizacji projektu podzielone są na etapy:
- Plan – zbiera się wymagania, czyli cele projektu. Na tym etapie decyduje się także, jaki system spełni potrzeby użytkownika. Ważne jest precyzyjne ustalenie wymagań.
- Projekt – planowanie elementów tworzonych w projekcie. Mogą to być makiety, projekty graficzne, a także przydzielanie zadań konkretnym członkom zespołu.
- Programowanie – główny etap prac nad projektem. Wytwarzany jest działający model, który można poddać testom.
- Testy – stworzony model poddawany jet testom. Sprawdzane jest spełnienie założeń klienta.
- Implementacja – wdrożenie aplikacji lub projektu i oddanie jej do użytkowania.
- Informacje zwrotne – wszelkie spływające informacje są podstawą do wykonania poprawek i doskonalenia projektu. Klient otrzymuje pomoc, która przekłada się na zadowolenie i ewentualne podtrzymanie współpracy.