… o ile nie jesteś Project Managerem, Product Managerem, czy Product Ownerem itp. Słowem jeżeli nie ty jesteś managerem projektu, to przestań brać na siebie odpowiedzialność, która nie jest Twoja.
Ostatnio na facebooku i instagramie (jeszcze póki co nie na linkedinie) czytam sporo wpisów o przemęczeniu w projekcie, braniu nadgodzin, dowożeniu czegoś co zostało sprzedane, biznes zaakceptował, klient oczekuje a developer ma wyczarować. Czasem tak to wygląda i nic na to zrobić nie możemy.
Czy naprawdę nic nie możemy będąc dev teamem?
Jako zespół, który dostarcza rozwiązanie i odpowiada za nie od strony inżynieryjnej mamy prawo i obowiązek wręcz poinformować o tym co jest możliwe do zrobienia. Osiągalne w założonym czasie.
Oczywiście, w idealnym świecie to zespół powinen wyestymować zadania i podać czas ich dostarczenia. Tylko mało kto z nas żyje w idealnym świecie. Często choćby w dobrze zarządzanym projekcie przychodzi moment, kiedy biznes chce coś „na już”, „na wczoraj” albo w tym bardziej optymistycznym scenariuszu: ktoś nietechniczny oszacował termin dostarczenia nie pytając programistów o zdanie i przychodzi z informacją – „to trzeba zrobić – kiedy? – na za kwartał”.
Dużo czasu?
Jak zawsze: to zależy…
Zależy, co jest do dostarczenia. Nowy landing page, mała aplikacja typu SPA na gotowym frameworku – jasne.
Przebudowa strony z 10-letnią historią i migracją danych… hmmm no niekoniecznie.
Dlatego warto, jako dev team, być świadomym swojej roli i komunikować, co jest realne do zrobienia w danym czasie.
Można argumentować, iż rola programisty czy inżyniera nie ogranicza się wyłącznie do kodowania, ale także do aktywnego uczestnictwa w życiu projektu. Ostatecznie, to od naszej umiejętności jasnej komunikacji zależy, czy uda się uniknąć przemęczenia i frustracji w projekcie.
Finalnie jednak, często decyzja dzieje się poza zespołem developerskim.
Jednocześnie to członkowie zespołu developerskiego często biorą na siebie odpowiedzialność lub jest zrzucana na nich odpowiedzialność za niedowiezienie projektu.
Warto jednak zrozumieć granice tej odpowiedzialności.
Nie jesteś PM, PMO, ani PO? W takim razie, dlaczego masz się obarczać ciężarem, który nie leży po Twojej stronie? Wiele osób zapomina odpowiedzieć sobie na to pytanie. Co gorsza zbiera w sobie frustracje za niepowodzenie projektów. Często projektów, które na starcie były skazane na porażkę (mam oczywiście na myśli porażkę pod względem terminu dostarczenia ).
Niezależnie od tego, jak bardzo chcemy, aby nasz projekt się powiódł. Niezależnie od poziomu naszego zaawansowania, stopnia doświadczenia i pozycji. Ważne jest, aby pamiętać o zdrowym rozsądku i własnych granicach. Praca w nadgodzinach, stresujące deadline’y, próby dostarczenia niemożliwego – to wszystko może przynieść więcej szkody niż pożytku. Zarówno dla projektu, jak i dla naszego własnego zdrowia.
Co możemy zrobić, gdy jeszcze nie jest za późno?
Po pierwsze: komunikacja.
Powtórzę się, ale komunikacja jest niezbędna do zrozumienia oczekiwań i realnych możliwości. Otwarta rozmowa z managerem projektu, przedstawienie realnych oszacowań czasowych, a także wskazanie potencjalnych problemów i wyzwań, to podstawa. Nie można zostawiać tych spraw na ostatnią chwilę, licząc, iż jakoś to będzie. Proaktywność i uczciwość w komunikacji. Cudów nie zdziałają, ale to też uczciwość wobec samych siebie.
Po drugie, edukacja.
Czasami managerowie projektów, czy klienci, nie mają pełnego zrozumienia technicznych aspektów projektu. To nasza rola, jako ekspertów, aby wyjaśnić, czemu pewne rozwiązania wymagają więcej czasu, a niektóre zmiany mogą być kosztowne lub ryzykowne. Edukowanie innych o naszej pracy nie tylko buduje wzajemny szacunek, ale też pomaga w lepszym planowaniu i zarządzaniu oczekiwaniami.
Na koniec: asertywność.
Sztuka mówienia „nie” lub „to niemożliwe w założonym czasie”. Nie jest oznaką słabości czy braku zaangażowania. To znak profesjonalizmu i realistycznego podejścia do projektu. Nie każda prośba czy wymaganie jest realistyczne, a naszym zadaniem jest upewnienie się, iż projekt jest realizowany w sposób, który jest zarówno możliwy do wykonania, jak i nie szkodzi zespołowi czy nie pozostawia problemu dla potomnych.
Zarządzanie jest osobną umiejętnością. Na sukces pracuje zespół, a każdy członek zespołu ma swoją rolę i odpowiedzialność.
Zrobiliśmy co mogliśmy – zakomunikowaliśmy problemy, wyjaśniliśmy skąd się biorą ryzyka i powiedzieliśmy, iż oczekiwane rozwiązanie nie jest osiągalne w przeznaczonym czasie.
Wracamy do pracy, nie biorąc na siebie nadmiernego ciężaru. Finalnie jeżeli powyższe nie pomogły to nie nasza odpowiedzialność.