Bulldogjob
Bulldogjob

Zarządzanie zespołem programistów

Przyjrzyjmy się roli Product Managera, potencjale ukrytym w Scrum i rozwiązaniom, które pomogą w sprawnym zarządzaniu zespołem rozproszonym.
23.11.20184 min
Zarządzanie zespołem programistów

Sprawne zarządzanie zespołem programistów ma kluczowe znaczenie dla realizacji projektu i pozwala skutecznie rozwiązywać większość problemów, jakie pojawiają się w procesie tworzenia oprogramowania. Dobry zespół programistów, którzy posiada wysokie umiejętności i kompetencje, jest mocno zmotywowany, zgrany i do tego wydajny. To ideał, o jakim marzy niejeden pracodawca. W wielu przypadkach same umiejętności i doświadczenie programistów nie wystarczą, żeby sprawnie realizować projekt i eliminować pojawiające się przeciwności. Potrzebne jest wypracowanie odpowiedniej metody zarządzania zespołem, do czego niejednokrotnie niezbędna jest osoba, która będzie trzymała rękę na pulsie i spinała wszystkie elementy projektu. Tutaj pojawia się pole do działania dla Project Managera.

Project Manager a zarządzanie zespołem

Rola Project Managera jest kluczowa w zarządzaniu zespołem programistów. Wszytko zależy od modelu zarządzania firmy i od tego, jaką odpowiedzialność mu się przypisuje. Bywa, że powinien być wsparciem zespołu w aspektach technicznych, z drugiej strony musi działać także w sferze psychologicznej, a nawet społecznej (zespół to przecież relacje międzyludzkie).

Jego aktywność jest zauważalna na wszystkich polach realizowania projektu. Przede wszystkim to rola nieoceniona na polu organizacyjnym. PM dba o właściwy przepływ informacji, a także eliminuje przeszkody, z którymi nie poradzą sobie samodzielnie programiści. Zdaża się, że zarządzanie koncentruje się także na wsparciu zespołu, udziale w tworzeniu architektury projektu i pilnowaniu jej spójności. Project Manager powinien wspierać członków zespołu w ich rozwoju i służyć im radą w różnych aspektach realizowanego projektu, także w zakresie implementacji różnych rozwiązań.

O skutecznym zarządzaniu nie może być mowy bez rozdzielania zadań w zespole. Project manager przy tym brać pod uwagę kompetencje poszczególnych programistów. Do niego również należy ostateczna decyzja dotycząca kwestii implementacyjnych.

Kluczowym zadaniem Project Managera jest pilnowanie realizacji poszczególnych zadań zgodnie z przyjętym wcześniej harmonogramem. Jeśli nastąpią opóźnienia, musi nie tylko poinformować o nich swoich przełożonych. Powinien posiadać także umiejętność renegocjowania z nim harmonogramu. Niekiedy Project Manager ma również możliwość tworzenia zespołu programistycznego od podstaw, kształtowania jego ducha i postaw.

Przy budowaniu zespołu często zachodzi potrzeba przekazywania informacji na temat celu projektu, a nie sposobu jego realizacji. Ważne jest także sprawne organizowanie miejsca pracy. Project Manager jest dobrym duchem, który spaja wszystkie elementy projektu (poszczególne działania programistów), monitoruje podejmowane decyzje i pracę pracowników.

Potencjał ukryty w Scrum

Zarządzanie projektami metodami Agile to coraz popularniejsze rozwiązanie wśród firm z branży IT. Na świecie już ponad 80% przedsiębiorstw IT deklaruje korzystanie z Agile. Najpopularniejszy jest Scrum. Tutaj obowiązki Project Managera rozdzielane są pomiędzy dwie osoby: Product Ownera i Scrum Mastera. Ten pierwszy jest odpowiedzialny za kwestie biznesowe, za formułowanie wizji produktu i trzyma pieczę nad budowaniem projektu w odpowiedniej kolejności, współpracując przy tym z programistami i Scrum Masterem. Drugi z kolei dba o to, żeby zespół stosował zasady Scrum. Można go nazwać coachem, który wspiera zespół i Produkt Ownera oraz usuwa przeszkody, jakie pojawiają się w procesie realizacji projektu.

W Scrum zespół developerski tak naprawdę sam organizuje swoją pracę w tzw. sprintach, zwanych też przebiegami (każdy od 1 do 4 tygodni). Na koniec każdego z nich organizowany jest godzinny sprint review, w czasie którego prezentowane są efekty pracy. Z założenia każdy kolejny przebieg powinien być lepszy i korzystać z doświadczenia zdobytego w czasie poprzednich sprintów. Podczas planowania przebiegu ustalane są zadania o najwyższym priorytecie, Często zespół uczy się na błędach i musi na bieżąco poprawiać jakość swojej pracy. Okazuje się jednak, że może to być bardzo efektywne rozwiązanie, które zwiększa zaangażowanie pracowników. Codziennie również organizowane jest 15-minutowe spotkanie (Daily Scrum), w czasie których omawia się zadania z poprzedniego dnia, problemy, a także planuje się zadania następne. Metodę Scrum wdraża u siebie coraz więcej firm, np. Gemius.

Zdalny zespół programistów – jak nim zarządzać?

Pracownicy pracujący zdalnie i efektywny sposób zarządzania takim zespołem rozproszonym to problem obecny w coraz większej liczbie firm z branży IT. Z jednej strony wykonywanie pracy z dowolnego miejsca na świecie to możliwość znalezienia najlepszych programistów i korzystanie z ich wiedzy, ale z drugiej to także problem sprawnego zarządzania nimi.

Mogłoby się wydawać, że kierowanie rozproszonym zespołem jest trudniejsze niż pracownikami, którzy pozostają stale pod czujnym okiem przełożonego. Wszystko zależy jednak od organizacji pracy, stopnia zaufania i wykorzystywanych narzędzi wspomagających. Siłą rzeczy tutaj kontakt musi przebiegać na nieco innym poziomie. Nie można podejść do pracownika i zamienić z nim kilku słów. Nie oznacza to, że stały kontakt nie może być utrzymywany.

Dobrze, gdy uda się ustalić określone godziny pracy dla całego zespołu (problemem może być pracownik z innej strefy czasowej), a wtedy komunikacja przebiega o wiele sprawniej. Należy wprowadzić jasne reguły współpracy, jak np. potwierdzanie odebrania e-maili lub zgłaszanie nieobecności. Warto także wyrobić u pracowników nawyk komentowania wszelkich istotnych dla projektu decyzji tak, żeby można było odnieść się do nich merytorycznie. Najlepiej codziennie rano organizować krótkie telekonferencje na wzór spotkań w Scrum, w czasie których będą omawiane bieżące plany i zadania na dany dzień.

Firma zatrudniająca wielu zdalnych programistów powinna także korzystać z systemów do zarządzania projektami (np. JIRA Atlassian), które skutecznie wspierają organizowanie pracy. Konieczne jest dokładne zarządzanie czasem i opracowywanie procesów pracy. Oczywiście trudno mówić o zarządzaniu zespołem programistów bez kontroli jakości pracy i jakości kodu. O tym nie można zapominać. Taki sposób pracy wymaga czasami jeszcze większego doświadczenia Project Managera w zarządzaniu projektami niż w przypadku stacjonarnego zespołu. Przykładem firmy, która zarządza zdalnie pracującymi programistami jest GOGOmedia Software House.

A jaki sposób zarządzania jest wykorzystywany w Waszej firmie?

<p>Loading...</p>