Czy będąc project managerem powinieneś umieć programować?
W tym artykule dowiesz się:
- Jakie korzyści mogą płynąć z tego, że project manager potrafi programować
- Dlaczego project manager z podstawami programowania może cieszyć się większym zaufaniem zespołu
- W jaki sposób umiejętność programowania pomaga w organizacji pracy project managera
- Dlaczego znajomość podstaw programowania pomoże project managerowi lepiej ocenić pracowników
Od project managerów wymaga się głównie umiejętności zarządzania, ale realizacja projektu może tylko zyskać, jeśli będą oni znać podstawy programowania. Nie tylko pozwala to lepiej komunikować się z zespołem, ale też przekłada się na większą skuteczność biznesową.
Relacja project manager – programiści
Z raportu Project Managment Institute wynika, że organizacje, w których project managerowie stawiają na umiejętności miękkie, wyróżniają się wskaźnikiem finalizacji projektów na poziomie 72%. Mimo to, nie da się udzielić jednoznacznej odpowiedzi na pytanie, czy project manager powinien umieć programować. Jedni będą twierdzić, że nie jest to niezbędne, ponieważ project manager powinien znać się głównie na zarządzaniu i stosowaniu różnych metodyk zarządzania projektami, na co inni odpowiedzą, że powinien w przynajmniej minimalnym stopniu wiedzieć, jak wygląda programowanie, żeby móc lepiej zarządzać pracą.
Project managerowie są liderami zespołów, więc muszą zdawać sobie sprawę z faktu, że powodzenie projektu w większym stopniu zależy od relacji między pracownikami niż od stosowanych technologii. Powinni wiedzieć, jak utrzymać stały, wysoki poziom motywacji zespołu, rozwiązywać konflikty w zalążku oraz podejmować decyzje – technologie nie pomogą, gdy korzystający z nich ludzie będą zdemotywowani i zmęczeni pracą. Nie zmienia to faktu, że znajomość programowania nie będzie w tym przeszkadzać.
Niektórzy argumentują, że project manager powinien znać zasady programowania, ponieważ dzięki temu będzie mógł mówić do programistów „ich językiem”, co pozwoli mu budować pozytywne i trwałe relacje z zespołem. Jest to istotne zwłaszcza w kontekście DAO – zdecentralizowanej organizacji autonomicznej (DAO to skrót od decentralised autonomus organisation), która zarządzana jest w sposób demokratyczny, ale sprawdzi się też w organizacjach z innymi stylami zarządzania.
Dlaczego znajomość podstaw programowania będzie przydatna?
Dobry project manager powinien posiadać nie tylko certyfikaty z zarządzania – dobrze będzie jeśli zna przynajmniej podstawy programowania. Nie musi być specjalistą, często wystarczy, żeby rozumiał ogólne założenia np. projektowanej aplikacji. Dzięki temu będzie mógł przydzielać realistyczne terminy i lepiej planować podział pracy między członków zespołu.
Znajomość podstaw programowania przydaje się także w sytuacjach problemowych – chociaż w przypadku skomplikowanych problemów technicznych lepiej jest powierzyć je specjalistom, nie zmienia to faktu, że gdy project manager będzie rozumiał, co poszło nie tak, będzie mógł szybko przydzielić najodpowiedniejszą osobę. Warto też podkreślić, że wiedza programistyczna pozwala lepiej przewidywać ewentualne ryzyka techniczne.
Inną korzyścią ze znajomości podstaw programowania przez project managera jest fakt, że może on efektywniej przekazywać wymagania odnośnie do projektu. Gdy wie, co należy zrobić i jest w stanie bez pomocy innych ocenić złożoność zadań, może skuteczniej oszacować czas potrzebny do realizacji projektu, a także aktywnie uczestniczyć w procesie projektowania, jeśli zajdzie taka potrzeba.
Oczywiście na tym nie kończą się zalety nauki programowania przez project managerów – nie wolno zapominać, że wiedza z tego zakresu pozwala też efektywniej komunikować się z zespołem kontroli jakości oraz łatwiej znajdować błędy w specyfikacji. Jest też nieoceniona w sytuacjach awaryjnych, ponieważ przyspiesza proces podejmowania decyzji.
Jak pomoże ci to zwiększyć wydajność zespołu?
Każdemu project managerowi zależy na tym, żeby podlegający mu zespół pracował jak najwydajniej. Przewagi wynikające ze znajomości podstaw programowania uwidaczniają się również w budowie efektywności pracowników – wpływa to na poprawę komunikacji, ponieważ menedżer, który rozumie techniczne terminy, z których korzystają programiści, jest w stanie lepiej się z nimi porozumiewać.
Techniczna wiedza project managerów przekłada się też na lepsze zarządzanie podziałem obowiązków. PM nie musi wiedzieć dokładnie, jak programować, ale powinien umieć ocenić umiejętności członków swojego zespołu, żeby skutecznie przypisać zadania – trudniejsze seniorom, łatwiejsze juniorom. Skutkuje to też lepszym harmonogramowaniem projektu – gdy PM wie, ile czasu zajmuje pisanie kodu, jest w stanie wskazać realistyczne terminy.
Nie wolno też zapominać, że project manager, który zna podstawy programowania, będzie cieszył się większym zaufaniem zespołu niż kierownik, który zna się tylko na zarządzaniu. Żeby skutecznie zarządzać pracą ludzi, trzeba rozumieć ich pozycje, oczekiwania, a przede wszystkim zadania, które wykonują – czasami wystarczy, że PM będzie znał różnice między Pythonem a JavaScriptem, żeby zyskać zaufanie zespołu.
Warto też pamiętać, że pracownicy ufający swojemu liderowi są bardziej zaangażowani i wydajni, co przekłada się na poprawę efektywności całego projektu. Nie wolno jednak zapominać, że na zaufanie zespołu trzeba zapracować, a znajomość podstaw programowania może być dla project managera dobrą kartą przetargową.
Inne zalety płynące z nauki programowania na pozycji PM
Poza poprawą relacji z zespołem oraz możliwością poprawy jego wydajności, znajomość programowania przez project managera ma również inne, istotne zalety. PM, który wie, co robią podlegli mu pracownicy, będzie w stanie szybciej zrozumieć ewentualne wyzwania organizacyjne i techniczne, co pozwoli lepiej zrozumieć implikacje zmian w kodzie. To z kolei przekłada się na lepsze dostosowanie planów projektowych do rzeczywistości.
Project manager rozumiejący podstawy programowania jest też w stanie z biegiem czasu zwiększać swoją skuteczność w zarządzaniu projektami. Jeśli będzie pojmował konkretne etapy całego procesu oraz zależności między zmianami a postępem prac, będzie mógł nie tylko lepiej planować prace w przyszłości, ale też efektywniej komunikować się z klientami. Dzięki temu będzie mógł nie tylko wskazać przyczyny ewentualnych opóźnień, ale również podać realistyczne terminy wykonania oraz ich wpływ na końcowy koszt.
Warto również wspomnieć, że project manager, który jest w stanie ocenić jakość kodu, jest też w stanie rzetelnie ocenić efektywność pracy zespołu. Nie tylko przekłada się to na skuteczniejsze zarządzanie, ale również może skutkować zwiększeniem udziału project managera w procesie programowania. Pozwala to również szybciej dostosować się do zmian technologicznych, ponieważ PM jest w stanie ocenić ich wpływ na projekt i firmę, po czym może zaproponować nowe rozwiązania technologiczne, które w ostatecznym rozrachunku mogą zwiększyć innowacyjność i konkurencyjność organizacji.
Porozmawiajmy!
a my pomożemy Ci wdrożyć najnowsze rozwiązania!