Project Manager – kim jest i jaką rolę pełni w firmie
Zarządzanie projektami to obszar, który w nowoczesnym biznesie obecny to dobrze znanym nam kształcie funkcjonuje od niespełna kilkunastu lat. Szczególnie dużo z teorii Project Managementu czerpią branże e-commerce, branże kreatywne, ale przede wszystkim branże IT, które stoją przed coraz to nowymi zadaniami. Spróbujemy zdefiniować sobie sylwetkę osoby stojącej za sukcesem każdego projektu – Project Managera i dokładnie przeanalizować, jaka jest jego rola w zespole.
Zarządzanie projektami w firmie
By dokładniej zrozumieć istotę pracy Project Managera, warto na wstępnie omówić, czym jest zarządzanie projektami w firmie. Zarządzanie projektem to nic innego jak suma wielu czynności i procesów, których celem jest doprowadzenie do końca implementacji oprogramowania, stworzenie produktu lub zrealizowanie konkretnego zadania, krótko bądź długoterminowego.
Project Manager to osoba, która stoi na straży organizacji całego projektu, zarządzania wszelkimi zasobami potrzebnymi do ukończenia zadania, włączając w to zarówno budżet, narzędzia, jak i pracowników. Możemy z łatwością wypunktować kilka podstawowych działań, które leżą w gestii każdego Project Managera. Są to między innymi procesy:
- Planowania projektu – ten element obejmuje zdefiniowanie celu realizacji zadania, stworzenie harmonogramu działań, zaplanowanie zasobów, które będą niezbędne do realizacji celu, ale także zidentyfikowanie potencjalnych ryzyk i słabych stron, które mogą wpłynąć na niesatysfakcjonującą jakość, bądź niedotrzymanie ram czasowych projektu.
- Realizacja projektu – to ciąg działań, które obejmują przeprowadzanie wszystkich czynności niezbędnych do skompletowania projektu. Rozdzielanie zadań, cykliczne spotkania z członkami zespołu projektowego, bieżąca analiza problemów, komunikacja ze stroną klienta, a także czuwanie nad harmonogramem realizowanych obowiązków.
- Kontrola projektu – Project Manager to w zdecydowanej większości przypadków także osoba, której zadaniem jest kontrola pracowników realizujących zadania w ramach projektu. Project Manager musi więc weryfikować, czy jakość pracy jest satysfakcjonująca, czy wszystkie elementy oprogramowania lub produktu są zgodne z wymaganiami klienta, a także czy członkowie zespołu dotrzymują założonego harmonogramu.
- Finalizacja projektu – Każdy projekt powinien zakończyć się jego analizą, pod kątem efektywności pracy, zbieżności produktu końcowego z oczekiwaniami klienta, a także organizacji pracy w samym projekcie. Najczęściej procesy zwieńczające projekt są przedmiotem obowiązku Project Managera.
Dokumentacja projektowa
Integralną częścią każdego projektu informatycznego jest prowadzenie szczegółowej dokumentacji procesowej. Czy prowadzenie dokumentacji jest również obowiązkiem Project Managera? To zależy, ale zacznijmy od samego początku.
Po co w ogóle tworzyć dokumentację projektową? To swoistego rodzaju instrukcja obsługi projektu informatycznego, która stanowi pomost pomiędzy światem IT a światem biznesu. Nie zawsze klient, będący użytkownikiem końcowym naszego produktu będzie wiedział, do czego służy ta konkretna funkcja, jak jej użyć i jak to robić efektywnie. Dla programisty może to być oczywiste, nie jednak dla osoby, która nie ma technicznego wykształcenia. Dokumentacja może więc stanowić niezwykle przydatny handbook, który z jednej strony przyspiesza proces wdrożenia narzędzia u klienta, a z drugiej strony ograniczy „posprzedażowy” kontakt biznesu z IT.
To jednak niejedyna zaleta dokumentacji technicznej. To właśnie w tym dokumencie mieści się cały zakres projektu, a także repozytorium wszelkich funkcji, zmian w projekcie oraz kompromisów pomiędzy tym, co chciałby klient, a tym, co może zrobić programista. To właśnie dokumentacja projektowa jest miejscem, w którym potencjalne zmiany w projekcie powinny być nanoszone.
W końcu łatwiej zmienić coś w projekcie niż przebudować połowę aplikacji.
Prawidłowo stworzona dokumentacja techniczna powinna zawierać wymagania użytkowników, opis samej architektury tworzonego systemu, opis technologii, które pomogą w jego rozwinięciu, a także opis każdej funkcjonalności, wraz z załączonymi przypadkami testowymi. Czy zatem taki dokument bądź plik (istnieją narzędzia dedykowane prowadzeniu dokumentacji technicznej) jest niezbędny w dosłownie każdym projekcie? Niekoniecznie, jeśli jest to projekt realizowany na wewnętrzne potrzeby firmy. Jeśli jednak przedmiotem projektu jest produkt dla klienta, dokumentacja techniczna powinna być podstawą rozliczenia. Kto prowadzi dokumentację projektu? Najczęściej odpowiedzialny jest za to analityk biznesowy lub analityk systemowy, jednak w wielu pomniejszych projektach tę rolę przejmuje Project Manager, który powinien taką dokumentację poprowadzić.
Stosowane metodyki. Agile, Scrum
Nowoczesne zarządzanie projektami nie może obyć się bez wdrożenia popularnej metodologii, która organizuje pracę zespołu, a także pozwala na płynne osiąganie zamierzonych celów. Project Manager to osoba, która jest odpowiedzialna za wdrożenie kultury konkretnej metodologii i sprawowanie pieczy nad tym, czy założenia są realizowane przez członków zespołu.
Jakie metodologie realizacji projektów wyróżniamy? Najpopularniejsze to metodologia Waterfall, Rapid Application Development (RAD), PRojects IN Controlled Environments (PRINCE2), Project Management Body of Knowledge (PMBoK), i najsłynniejsza, metodologia Agile, przy której zatrzymamy się chwilę dłużej.
Agile,
inaczej nazywane zwinnym podejściem jest najpowszechniej wykorzystywaną metodologią realizacji projektów IT. Wszystkie najważniejsze informacje o Agile znajdziemy w popularnym Manifeście Agile, stanowiącym zbiór wiedzy o zasadach i wartościach, jakimi powinni kierować się uczestnicy zwinnego projektu. Dlaczego Scrum jest tak często wybieraną przez Project Managerów metodologią pracy? Ze względu na ogromną elastyczność oraz dużą responsywność pod kątem szybkich zmian w projekcie. Agile u podstaw ma ścisłą współpracę zespołu projektowego z klientem, co umożliwia uzyskanie błyskawicznego feedbacku od klienta.
W metodologii Agile wyróżnić możemy kilka ról, które usprawnią wdrożenie wartości i reguł wytwarzania oprogramowania. Trzonem są oczywiście deweloperzy, wspierani przez Scrum Mastera – osobę, która czuwa nad przestrzeganiem zasad Scruma i Agile. Nad całym projektem pieczę sprawuje Product Owner – osoba planująca pracę, zarządzająca zasobami i ustalaniem priorytetów. Ta rola w większości projektów należy do Project Managera.
Jednym z najistotniejszych pojęć w zwinnych metodykach jest Scrum. To framework, który zakłada iteracyjne podejście do tworzenia oprogramowania. Każda iteracja trwa od 1 do 4 tygodni i skupia się na realizacji jednego konkretnego zadania. Tym zadaniem może być stworzenie gotowej funkcjonalności, która działa od początku do końca. Nad cyklem życia każdego Scruma również czuwa Project Manager. Warto również zapoznać się z charakterystyką innego frameworku – Kanban, który ułatwia zarządzanie przepływem prac w projekcie. Pomimo dodatkowych obowiązków, wdrożenie jednej z metodyk zarządzania projektem jest ogromnym ułatwieniem w organizacji pracy całego zespołu.
Zespół developerski i project manager oraz kwestia urlopów – porzucony projekt, który trwa?
Jedną z największych bolączek zespołów projektowych jest brak osoby, która zarządza przebiegiem prac. Projekt projektem, ale każdy człowiek ma również swoje prywatne plany, urlopy do wykorzystania i inne losowe zdarzenia, uniemożliwiające stałą obecność w firmie. Czy istnieją dobre praktyki, które uchronią zespół przed chaosem spowodowanym nieobecnością Project Managera?
Już na etapie planowania projektu warto wziąć pod uwagę ewentualność braków kadrowych, dlatego ważną częścią początkowych prac jest wyznaczenie potencjalnego zastępcy, który przejmie obowiązki Project Managera. Taka osoba może być Scrum Masterem, analitykiem bądź najbardziej doświadczoną w projekcie osobą. To podejście do planowania zasobów zminimalizuje wszelkie ryzyka porzuconego projektu, który może zakończyć się niespełnieniem wymagań klienta lub opóźnieniem prac.