Archiwa tagu: zarządzanie

Technical Product Manager, czyli kto? 10 pytań i odpowiedzi

Technical Product Manager – tak nazywa się rola, którą pełnię w obecnej pracy. W tym wpisie trochę o niej opowiadam i staram się odpowiedzieć na najczęściej zadawane pytania na ten temat.  Wśród nich także „Co to za manager, który nie ma żadnych bezpośrednich podwładnych?!”. Miłej lektury.

Co robi Product Manager?

Najważniejsze zadania Product Managera, czyli po polsku kierownika produktu, to pozyskiwanie wymagań i ich priorytetyzacja. Product Manager powinien wiedzieć, co tak naprawdę jest istotne dla klienta (niezależnie od tego, czy jest nim zewnętrzna firma, użytkownicy aplikacji czy inni programiści w tej samej firmie i tego, czy klient jest jeden czy jest ich wielu). Wiedzę tę strukturyzuje i przekazuje zespołowi programistów w postaci uporządkowanej listy (możliwie) precyzyjnie zdefiniowanych zadań. Współpracuje z zespołem, dbając o terminy i zakres produktu. Pozostaje w ciągłym kontakcie z klientem i dopasowuje końcowy efekt do jego potrzeb. Dba o wizję rozwoju (firmy, produktu) i o to, żeby programiści rozumieli dlaczego każe im się robić akurat to, co robią. Wszędzie tam, gdzie to możliwe,  jego decyzje powinny być poparte twardymi danymi.

W portalu Coursera dostępna jest całkiem ciekawa sześcioczęściowa specjalizacja poświęcona zarządzaniu produktem. Niestety, możliwość korzystania z całości materiałów jest płatna (same nagrania wykładów są dostępne za darmo).

Czym różni się Technical Product Manager od „zwykłego” Product Managera?

Rola jest zasadniczo ta sama. Inny jest człowiek, który ją wykonuje. Wielu lub nawet większość Product Managerów to osoby bez wykształcenia technicznego, które nie jest niezbędne do zrozumienia wymagań klienta i priorytetyzacji kolejnych funkcji do zaimplementowania w systemie.

Istnieją jednak zespoły, których produkt jest bardzo techniczny/niskopoziomowy. Odbiorcą ich produktu nie są końcowi użytkownicy aplikacji, tylko na przykład inni programiści (członkowie innych zespołów w tej samej firmie lub użytkownicy publicznego API). W takiej sytuacji Product Manager musi znać się na technologii, bo nowe wymagania to na przykład zmiana funkcji haszującej albo obsługa nowego standardu języka.

Czym różni się Product Manager od Project Managera?

Najłatwiej podać przykład z metodologii Scrum, chociaż w szczegółach może on być trochę mylący. Product Manager przypomina Product Ownera, Project Manager – Scrum Mastera. Najważniejsze jest to, że Product Manager odpowiada za produkt, czyli to, nad czym pracuje zespół. Project Manager odpowiada za proces i to, jak zespół pracuje. Żeby zwiększyć stopień skomplikowania, wiele firm odróżnia jeszcze rolę Line Managera lub Engineering Managera, czyli osoby, która zarządza personelem, odpowiada za rozwój pracowników i układa ich urlopy.

Czy Product Manager ma podwładnych?

Z reguły nie, chyba że jest przełożonym innych, mniej doświadczonych Product Managerów. Product Manager mówi programistom, co mają robić, ale nie jest ich przełożonym. Nie odpowiada za ich rozwój osobisty (co nie musi znaczyć, że się nim nie interesuje), nie zatwierdza urlopów. Innymi słowy, jest to rola, w której trzeba przekonać zespół do wykonania pracy, bez możliwości wydania im definitywnego polecenia służbowego!

Co jest fajnego w tej pracy?

  • Pracuję z kilkoma zespołami, które robią bardzo różne rzeczy. Dzięki temu poznaję nowe technologie i wyzwania w kilku dziedzinach jednocześnie.
  • Uczę się biznesu i patrzenia na projekty z punktu widzenia ich znaczenia dla rozwoju firmy.
  • Taka dualna techniczno-zarządzająca rola doprowadziła do tego, że firma wysłała mnie i na konferencję developerską (z zespołem programistów) i na produktową (z zespołem produktowym). Żyć nie umierać! 🙂
  • Widzę efekty, czyli skończone projekty, które są w użyciu i którymi można się pochwalić. To duża satysfakcja.
  • Przynajmniej dla mnie, taka praca jest mniej stresująca od programowania. Jako programista czuję się odpowiedzialna za kod, który właściwie nigdy nie jest dokończony i zawsze może się okazać, że coś jest nie tak. Jako PM ufam zespołowi i potrafię odsunąć się emocjonalnie od kodu na tyle, żeby uznać, że zadanie zostało wykonane „wystarczająco dobrze”.

Co (mnie) drażni w tej pracy?

  • Rola jest z gatunku niewdzięcznych, bo zyski (ukończone projekty, postęp prac, kierunek) widzą przede wszystkim przełożeni moi i mojego zespołu. Programiści czasem się frustrują, kiedy muszą zrobić coś, co jest dla nich nudne, albo coś, czego nie uważają za najważniejsze. Nie lubią szacować pracochłonności zadań, o co ich proszę. Frustrują się też kierownicy innych zespołów, którzy wcześniej (kiedy nie było PM) po prostu w dowolnym momencie odrywali zespół od pracy i prosili o przysługi, a teraz w większości przypadków muszą liczyć się z okresem oczekiwania.
  • Spośród masy potencjalnych projektów trzeba wybrać najważniejsze. Niektóre propozycje zostaną odrzucone lub przesunięte na później. Nie zawsze spotyka się ze zrozumieniem zainteresowanych osób.
  • Product Manager pracuje z zespołem programistów (lub kilkoma) ale nie do końca jest jego pełnoprawnym członkiem.
  • Pojęcie MVP (Minimum Viable Product), lub dalej projektu zrobionego „wystarczająco dobrze” bywa odmiennie rozumiane przez biznes i przez programistów. PM musi łagodzić te napięcia i negocjować z obiema stronami.
  • Podział zadań pomiędzy Line Managerem, Project Managerem i Product Managerem teoretycznie jest dość jasny, ale mimo wszystko czasem wdeptujemy sobie na odcisk. Zwłaszcza, kiedy nie ma Project Managera i jego rola jest dzielona przez dwie pozostałe osoby.

Jakie cechy powinna mieć osoba na tym stanowisku?

  • Doskonała organizacja.
  • Umiejętność zajmowania się kilkoma wątkami naraz przy jednoczesnym dbaniu o koncentrację zespołu.
  • Umiejętność delegowania.
  • Asertywność.
  • Umiejętność brania odpowiedzialności za swoje decyzje i porażki.
  • Wrażliwość na potrzeby innych.
  • Znajomość metodologii wytwarzania oprogramowania.
  • Znajomość (lub gotowość do nauczenia się) statystyki.
  • Umiejętność (lub chęć poznania) narzędzi pozwalających na dostęp do danych na temat aplikacji, użytkowników i ich zachowania.
  • Umiejętność skutecznego streszczania problemów.

Czego się nauczyć, żeby się przekwalifikować?

Temat przekwalifikowania się był na tym blogu poruszany wielokrotnie. Technical Product Manager to rola wymagająca wykształcenia bądź doświadczenia informatycznego. Natomiast do zostania „zwykłym” Product Managerem wystarczy posiadanie (lub wyrobienie sobie) cech z powyższego punktu. Jeśli rozważasz spróbowanie sił w takiej roli, a nie masz jeszcze doświadczenia, radzę zapoznać się z następującymi tematami:

  • Nowoczesne metodologie wytwarzania oprogramowania. Najlepiej zacząć od najpopularniejszej obecnie metodologii zwinnej, czyli Scruma. Oryginalna definicja (Manifest programowania zwinnego) jest dość krótka, ale znajdziesz dziesiątki książek na ten temat.
  • Wspomniany na samym początku pakiet kursów na Courserze (nawet same wykłady).
  • Przyda się jakaś lektura na temat analizy i planowania w biznesie. Mnie polecono How to Measure Anything.
  • Warto zapoznać się z jakimś systemem zarządzania zadaniami, jak JIRA. Uzyskanie dostępu do działającej aplikacji może być trudne, ale w Internecie znajdziesz trochę instrukcji i filmików.
  • Podobnie Google Analytics, chociaż tego można się po prostu szybko nauczyć w pracy.

Czy Product Manager może programować?

Jeśli wystarczy mu czasu. Sama przez chwilę myślałam, że mi się uda… Wtedy dostałam pod opiekę kolejny zespół. Nie znaczy to, że moje zdolności programistyczne leżą odłogiem. Po pierwsze, bardzo dużo uczę się, widząc, jak pracuje zespół. Po drugie, w ramach ułatwiania sobie życia i postępowania zgodnie z zasadą „jeśli robisz dokładnie to samo po raz trzeci, pora to zautomatyzować” napisałam w pracy trochę kodu w Javie i Pythonie, który komunikuje się z API Jiry i Google Docs.

Co naprawdę robi Product Manager?

W praktyce głównym moim zadaniem na co dzień jest pilnowanie, żeby zespół potrafił skoncentrować się na tym, co ważne, i kończył rozpoczętą pracę. Niepilnowane, moje zespoły mają tendencję do prowadzenia pięciu projektów naraz (gdyż ciągle ktoś czegoś od nich potrzebuje) i niezorganizowanego łatania mniejszych i większych dziur. W efekcie żaden z projektów nie jest zrobiony do końca i jego klienci nie mogą z niego skutecznie korzystać. Pełnię także rolę tłumacza i opowiadacza dla Product Managerów innych zespołów, którzy nie zawsze rozumieją, co i dlaczego dzieje się na backendzie.

Brzmi jak wyzwanie, które masz ochotę podjąć? Do dzieła! Widzę sporo ogłoszeń firm szukających Product Managerów. Wiele z nich kieruje ogłoszenia do osób, które mają już doświadczenie w tej roli – ale nie wszystkie.

Jeśli masz dodatkowe pytania – chętnie odpowiem.