Tytuł jest filozoficzny. Wpis będzie o kontroli projektów i wsparciu project managerów.
Całe zagadnienie może wydawać się srogie. Jeśli mamy 5 osobowy zespół albo prowadzimy na raz jeden projekt – może się wydawać, że kontrola projektów to w ogóle jakaś abstrakcja. Tak samo wydawało się i mnie.

Obecnie w Divante zatrudniamy 120 osób i prowadzimy kilkadziesiąt jednoczesnych projektów IT. Dużo mało? Sporo. Mamy ok 10 project managerów w firmie i przy takiej ilości projektów ciężko jest zapewnić każdej osobie odpowiednie wsparcie. Zwłaszcza, że niektóre projekty są nietypowe, a wszystkie są trudne.

Temat kontroli projektów / portfela projektów pojawia się w każdej metodyce zarządzania projektami. PMBOK i Prince2 mają specjalne, duże sekcje na ten temat.

Nie chcę przynudzać i opowiem co zrobiliśmy w Divante aby zapewnić odpowiednią jakość i wsparcie oprogramowania które realizujemy.

Zespół

Kontrolą projektów w Divante zajmuje się interdyscyplinarny zespół składający się z 2 PMów, Lidera technicznego, Lidera zespołu analitycznego i mnie :-) Dzięki takiemu składowi:

  • unikamy przeładowania informacjami – wcześniej projekty nadzorowała jedna osoba (ja ;)) i przy takim natłoku jednoczesnych zagadnień, powiem szczerze można zwariować. A na pewno nie jest łatwo wyłapać zagrożenia i miejsca gdzie trzeba pomóc.
  • zapewniamy wsparcie dla PMa z każdej strony – różne kompetencje to różne punkty widzenia które pomagają wytropić potencjalne miejsca problemów i zadziałać wyprzedzeniem.

Zasady

Ustaliliśmy zasady naszej kontroli:

  1. Trust but verify. Informacje raportowane na wszystkich poziomach powinny być sprawdzane w minimum jednym niezależnym źródle. Najlepszym, ostatecznym źródłem informacji jest stan faktyczny serwisu/aplikacji.
  2. Szklanka jest do połowy pusta. Przy raportowaniu postępów prac oczekujemy pesymizmu. Eskalacje problemów są bardzo istotne – wewnętrznie i do klienta.
  3. Bez niespodzianek. Nie zaskakujemy klientów; nie zaskakujemy zespołu; nie zaskakujemy kontroli projektów. Wywołanie zaskoczenia to błąd w prowadzeniu projektu.
  4. Przejrzystość. Informacje są w 100% przejrzyste; uporządkowane; stosujemy zasadę DRY (http://pl.wikipedia.org/wiki/DRY); każda informacja ma JEDNO miejsce składowania. Raporty i informacje o postępach prac są w 100% przejrzyste dla klienta.
  5. Zaufanie; Kultura Divante opiera się na pomaganiu, nie na wyznaczaniu kar. Kontrola projektów ma pomóc zapewnić najwyższą jakość tego co dostarczamy i dostarczanie w terminie.

Takie zasady przełożyliśmy na bardziej praktyczne wytyczne które wdrożyliśmy/wdrażamy w nowych projektach w życie:

  1. Trust but verify; raporty są sprawdzane z innymi członkami zespołu oraz zespołem sprzedażowym/opiekunem klienta
    • raporty są dostarczane w cyklu tygodniowym do końca dnia, na dzień przed statusem (raporty są czytane w dniu statusu z samego rana, dlatego to ważne)
    • cross-weryfikacja – minimum raz na dwa tygonie; 30 minut rozmowy z dwoma programistami z zespołu oraz testerem
    • weryfikacja raportów czasowych Toggl (czy wypełniany na bieżąco) + weryfikacja Toggl vs Redmine vs. Raport.
    • sprawdzenie postępów i uporządkowania Redmine – co tydzień przed statusem
    • po zakończeniu projektu odbywają się lessons learned całego zespołu
  2. Dema wewnętrzne 
    • minimum raz na dwa tygodnie
    • project manager prezentuje funkcje w systemie – co zostało zrealizowane;
    • wszystkie zadania ustawione jako zrealizowane muszą być możliwe do pokazania (kontrola wyrywkowa)
  3. Earned value; jako narzędzie kontroli postępów prac w cyklu tygodniowym
  4. Przejrzyste dokumenty 
    • raport tygodniowy (wg. opracowanego szablonu)
    • rejestr ryzyk (aktualizowany na bieżąco)
    • rejestr spraw otwartych (aktualizowany na bieżąco)
    • zaktualizowany harmonogram
    • zaktualizowany status w Redmine

To na pewno nie jest idealny sposób kontroli projektów. Jeśli jednak prowadzisz duży projekt (powiedzmy 5-10 osób; 6-12mc) może się przydać.

Ciekaw jestem jak radzicie sobie z śledzeniem postępów prac w projekcie i wsparciem project-managerów?