Zarządzanie produktem jako źródło problemów społecznych

Co dwa tygodnie opisuję na tym blogu różne aspekty rozwoju produktów cyfrowych. Ta dziedzina ma coraz większy wpływ na naszą codzienność. W tym nietypowym wpisie chciałbym skupić się na społecznych skutkach niemądrych decyzji produkt ownerów. Niezbyt to poważne, ale poziom stresu w społeczeństwie będzie wzrastał jeśli nic się nie zmieni.

Złe działanie albo zmiana produktu, może być przyczyną frustracji. Jak dzieci się zachowują, gdy nie ma wifi? Twój puls przyspiesza, gdy coś co powinno działać nie działa (muzyka w Spotify, film w Netfliksie). Co się dzieje, gdy coś się zaktualizowało i wygląda lub zachowuje się zupełnie inaczej niż przedtem? Ta jedna kluczowa funkcja została przebudowana, schowana albo wręcz zlikwidowana? Te problemy pierwszego świata, dziś dotyczą głównie rozrywek, ale jutro…

Kiedyś rzeczy służyły latami. Odtwarzam płyty z gramofonu, który wyprodukowano w połowie lat 80 w Niemczech. Sądzę, że nie będę potrzebował następnego – nie ma tu grama automatyki, silniczek jest w zasadzie wieczny. Współczesne produkty też potrafią długo działać. Mam jeden z wczesnych odtwarzaczy mp3 walkman Sony. Ma interfejs z muzeum ale… znakomicie brzmi i można go podłączyć do wzmacniacza w trybie z sygnałem dostosowanym do line-in (tryb słuchawkowy to nie to samo). Rzadko go używam, ale pewnie pociągnie jeszcze ze sto lat wytrwale realizując swoją podstawową funkcję.

Coraz rzadziej rzeczy tak się zachowują. Poza materialną nietrwałością (wszystko się rozpada, trwa najwyżej 5 lat) mamy problem nietrwałości funkcjonalnej. Szklany, dotykowy interfejs się aktualizuje i zmienia. To co pod nim też, nie zawsze w zgodzie z interesem i potrzebą klienta / użytkownika. Dziś coraz trudniej powiedzieć, co w zasadzie kupujemy. Oto ekstremalny przykład: HP za pomocą aktualizacji oprogramowania uniemożliwił w niektórych modelach swoich drukarek korzystanie z alternatywnych wkładek z tuszem. Raczej nie w interesie użytkownika.

Rozwój produktów ma u podstaw potrzeby użytkownika. Produkt ownerzy starają się sprawiać, żeby więcej ludzi, chętniej i w określony sposób używało ich stron czy aplikacji. By to robić dobrze muszą tych użytkowników zrozumieć i dotrzeć do ich potrzeb. Przynajmniej powinni, bo o wiele łatwiej jest wypuszczać nowe wersje. Gdy produkują zmiany i funkcjonalności, widać, że coś robią. Problem w tym, że użytkownicy w zasadzie nie chcą nowych wersji.

Zawsze zdumiewało mnie, jak bardzo ich nie chcą. Nawiasem mówiąc, żeby to wiedzieć, trzeba mieć produkt, który uzależnia i jakiś kontakt z użytkownikiem. To był problem już w dawnej branży softwarowej. Firmy tworzyły nowe oprogramowanie a klienci pozostawali przy starym. W cyfrowych produktach masowego rażenia jest to samo. Fejs wdraża jakieś dodatkowe przyciski, ludzkość zostaje przy lajku. Gdyby lajka przy tym rewolucyjnym ruchu na coś wymienić, kto wie czym by się to skończyło. Pół świata nie wiedziałoby co robić w wolnym czasie. Sam tego doświadczam. Gdy Deezer zabrał skrót do szukania z podstron aplikacji w telefonie przeżyłem rozterkę użytkownika (^#@*&!) oraz profesjonalisty (po co? po co?).

Lajki i aplikacje do muzyki to mały problem. Tu produkty mogą służyć do rzeczy ważnych (muzyka) ale wiele od nich nie zależy. Jeśli jednak używamy aplikacji banku, a ona się zaktualizuje i nie wiemy jak zapłacić… to już może być problem. Co będzie gdy pewnego dnia kuchenka, pralka czy lodówka z inferfejsem nowoczesnym zacznie się zachowywać po swojemu? Kłopot z przyrządzeniem śniadania może mieć trudne do przewidzenia skutki społeczne. Prowadzić do rozpadu rodzin czy też rozmaitych manifestacji.

Robienie zmian i nowych wersji tak, by użytkownicy z wygodą i przyjemnością korzystali dalej to sztuka. Nielicznym wychodzi, ale to taki stan w rozwoju tego zawodu, że firmy i ludzie głównie się uczą. Pozytywną ewolucję w tym zakresie obserwuję w produktach Google. Trudno dziś ich nie używać. Był taki okres, kiedy po zmianach regularnie przychodziła mi do głowy refleksja „jak można mieć tylu zdolnych ludzi i robić takie idiotyzmy”. A to typografię na liście wyników spieprzyli. A to pozmieniali w mapach i nie wiadomo było jak włączyć korki. Nawet na to zdarzyło mi się narzekać, choć to wiele nie wnosi. Dziś mam wrażenie, że nadal dużo zmieniają lecz nie wprowadzają nowych rzeczy masowo, tylko testują i wypuszczają tylko sensowne rzeczy. Tak działa dobry produkt management. To jest rodzaj ewolucji, którego potrzebujemy, bo uzależnieni od software’u zwariujemy. A jeśli kiedyś nasze dzieci będą integrować sobie oprogramowanie z mózgiem to już naprawdę….

Jak sobie radzić z terminami?

Planowanie dat w rozwoju produktów przynosi więcej szkody niż pożytku. Są jednak sytuacje, kiedy nie można terminów uniknąć. Co robić a czego wtedy unikać?

Jak już pisałem, ustalanie terminów w projektach rozwojowych przypomina wróżenie. Czasem jednak nie ma wyjścia i trzeba coś zrobić w określonym czasie. Może to wynikać ze zobowiązań, zmian prawnych lub wydarzenia, którego nikt nie przesunie. Może też wynikać z potrzeby poprawy wydajności.

W pewnych sytuacjach narzucenie terminu mobilizuje. Prawo Parkinsona mówi, że praca wypełnia cały dostępny czas. Można wykorzystać termin, by je złamać. Przypomnijcie sobie jak sprawnie zamykacie sprawy przed dłuższym urlopem. Można posprzątać zaległości robiąc na serio ćwiczenie „co bym zrobił, gdybym w piątek szedł na urlop?”. Podobnie jest, gdy umawiamy się ze sobą na określony efekt np. „zakończę ten dokument dziś do 17stej”. W większej skali można przyjąć np. „do marca 90 proc. użytkowników będzie korzystać z nowej wersji systemu” i odwrócić problem pytając co trzeba zrobić, by to było możliwe.

Wiadomo, że parametry projektu są ze sobą powiązane. Programiści powtarzają chętnie, że nie można równocześnie robić rzeczy szybko i dobrze. Kiedy trzeba czegoś dostarczyć na termin niezbędne jest ograniczenie liczby rzeczy, które zostaną zrobione. Z pewnych elementów – których tworzenie zwykle uwzględnia się budując wielkie harmonogramy – trzeba zrezygnować, w innych pójść na skróty.

Gdy walczymy o termin ofiarą padają rzeczy, które mogą nie być kluczowe. W warunkach bojowych takie decyzje podejmuje się bardzo sprawnie. Lepiej jednak zawsze wiedzieć, co jest ważne. Priorytetyzacja jest kluczem, ale w normalnych warunkach jest trudna, bo wolimy trwać w iluzji, że możemy mieć wszystko. Lepiej jednak się rozwija produkty gdy wdrożenia wynikają z nieustannej priorytetyzacji a miarą powodzenia jest wzrost dostarczonej wartości w czasie. W tym podejściu ważniejszy od terminów staje się rytm pracy.

Dobre zespoły rzadko potrzebują zrywów, stale pracują żwawym tempem. Jeśli jednak działamy na termin, od samego początku warto sobie narzucić tempo. W kulcie daty jest o to trudniej. Wygrywa podejści studencko-amatorskie: zaczynamy powolutku, data wydaje się odległa, pierwsze tygodnie spędzamy w beztrosce, potem zarywamy noce i weekendy. Chwała bohaterom, ale tak nie warto.

Rzadko kto rozumie te wszystkie zależności. Dlatego ważna jest komunikacja z otoczeniem. Od początku warto uświadamiać partnerów i tzw. interesariuszy jak działamy, z czego to wynika i gdzie w danym momencie jesteśmy. Trzeba zarządzać oczekiwaniami, komunikować postęp oraz wyłapywać problemy (które się pojawiły i z którymi się mierzymy). Inna będzie reakcja gdy po 3 miesiącach ciszy przyjdziecie z problemem i wiadomością „prosimy o przesunięcie deadlinu”, inna, gdy od samego początku kluczowe osoby będą wiedziały jak nam idzie. Są przypadki, w których to nic nie da, częściej jednak można uzyskać wsparcie np. w podjęciu trudnych decyzji.

Sama data jest ważnym elementem tej komunikacji. Jeśli nie jest z góry narzucona warto zastosować trick z branży filmowej. Tam dopiero na kilka miesięcy przed finałem podaje się dzień premiery. Wcześniej określa się ją ramowo np. podając miesiąc albo kwartał. Na wczesnym etapie zobowiązania warto podawać orientacyjnie.

Daty i harmonogramy przeszkadzają w rozwoju produktów

Trudno cokolwiek robić, nie ustalając na kiedy będzie i ile wysiłku pochłonie. Niestety tak to robimy, że najczęściej jest to strata czasu.

Biznes kocha daty i terminy (np. odbiorcy mleka kochają). Pytanie „na kiedy” jest fundamentem podręcznika szkoleń kierownika. Obok pytania „co proponujesz” jest przekazywane już na pierwszych lekcjach. Obu relatywnie łatwo się nauczyć i używać bez większego zrozumienia skutków. W rozwoju produktów cyfrowych pytanie „na kiedy” może być bardzo szkodliwe.

Nie kupuję harmonogramów, takich złożonych z wielu elementów, obejmujących kilka kwartałów. Pokazujących powiązania między rozmaitymi działaniami, w których powstają składowe jakiejś wspaniałej całości. O ile przedmiotem projektu jest produkt cyfrowy a nie most, albo dom (z którymi też różnie bywa), tworzenie takiego dzieła jest najczęściej stratą czasu.

Jest kilka poziomów zrozumienia tematu terminu realizacji projektu, w którym pisze się oprogramowanie. Na podstawowym rozmowa wygląda tak: po ogólnym ustaleniu co chcemy zrobić padają jakieś oceny, które zamieniają się w zobowiązanie. Z przekazu z łatwością znikają słowa „zgrubny szacunek” zostaje data.

Drugi poziom pojawia się, gdy zauważamy, że za często trzeba przesuwać terminy i prowadzić rozmowy na temat powodów. To te rozmowy i przekładanie są największą stratą energii. Dyskusja o tym, co trzeba napisać i w jakiej kolejności, może być dobrym ćwiczeniem poprawiającym planowanie…. Bo planować warto. Żadna bitwa nie została wygrana… żaden plan nie przetrwał konfrontacji itd. (prawdy nt. planowania wydają mi się powszechne znane, ale bardzo często się mylę w sprawie tego, co jest powszechnie znane).

Trzeci poziom jest ponadczasowy i uniwersalny. Gdy dochodzimy do poziomu głębokiej kompetencji wtedy wiemy, że nic nie wiemy i rozumiemy dlaczego. Że jeśli w projekcie powstaje kod, odpowiedzialnie jesteśmy w stanie rozmawiać tylko o tym, co poznaliśmy już bardzo bardzo głęboko. To, co ma mieć miejsce dalej niż za miesiąc – dwa, pozostaje fantazją. W ledwie liźniętych tematach, o skali wyzwań można mówić tylko w przybliżeniu. Rozumiemy, że wypisywanie dat dotyczących rzeczy, które mają się zdarzyć za więcej niż pół roku to bardziej prognozowanie niż planowanie.

Dziesiątki lat temu Peter Drucker stwierdził, że plan aby był sensowny i przejrzysty nie powinien sięgać dalej niż półtora roku do przodu (polecam książkę „The Effective Executive”). Było to w epoce przed-softwarowej, kiedy zwykle ludzie zajmowali się rzeczami złożonymi z powtarzalnych, znanych składników. Najczęściej każde coś robili po raz któryś i wiedzieli z czego się składa. Normą było planowanie wieloletnie, więc półtora roku było bliskim terminem. Dziś wszystko zmienia się co najmniej siedem razy szybciej. Kwartał może być rozsądną perspektywą. Potem już obowiązuje inny cytat z Druckera: „planowanie długoterminowe dotyczy przyszłości obecnych decyzji”. Nie warto podejmować decyzji na temat odległej przyszłości, bo przyzwyczaimy się do nich i będziemy się musieli z nimi mierzyć. A – znowu Drucker – jedyne co wiemy o przyszłości to to, że będzie inna.

Rozwój produktu najlepiej prowadzić w podejściu zwinnym, którego osią sa samodzielne zespoły i dobrze określona odpowiedzialność. W ich pracy od harmonogramów ważniejsze są priorytety i tempo. Trzeba wiedzieć co jest najważniejsze w najbliższym czasie i o tym wiedzieć wszystko. O tym, co się stanie za dwa miesiące, można wiedzieć mniej. Warto zakładać zmianę i nieprzewidywalność. Również po to, by zachować zdolność do zmiany kursu. Ona zawsze jest trudniejsza, gdy zainwestowaliśmy w planowanie.

Niestety czasem naprawdę potrzebujemy terminów. Powodem może być zbliżające sie wydarzenie np. wybory, święto, albo wejście w życie przepisu, do którego trzeba się dostosować. Czasem przedmiot działań jest na tyle duży, że wymagają koordynacji w różnych miejscach. Czasem po prostu opłaca się ustawić datę graniczną – bo robienie czegoś dłużej nie byłoby dobre dla biznesu.

Jak sobie radzić gdy terminów nie można uniknąć? Jak prowadzić rozmowę, gdy partner nie rozumie tego, co powyżej? O tym za dwa tygodnie.

Co musi umieć produkt owner?

Skąd brać takich ludzi – ktoś zapytał, gdy wymieniałem jakie rzeczy robi i co musi umieć produkt owner. Coś w tym jest, być może dlatego niewielu jest naprawdę dobrych produkt ownerów i taki jest na nich ostatnio popyt.

W dyskusji pod wpisem na LinkedIn padło pytanie o ścieżkę kształcenia dla właściciela produktu. Trudne pytanie, ale nie chodzi chyba o ścieżkę kształcenia. Wymagania wobec produkt ownera są dość renesansowe. Nie tylko wiele rzeczy trzeba umieć i znać, ale szybko potrafić się uczyć nowych. Trochę już o tym pisałem.. 4 lata temu. Pora na szerszą wyliczankę, być może do pogłębienia w kolejnych wpisach.

Po pierwsze potrzebna jest wiedza z dziedziny znanej jako UX. Z moich obserwacji wynika, że ponadprzeciętne wyniki uzyskują projektanci, którzy trafili do zarządzania produktem. Mają wiedzę o użytkowniku, jego potrzebach, analityce, budowaniu interfejsów i procesach wspierających wartość produktu. UX daje też metody ułatwiające zdobywanie wiedzy o prawdziwych reakcjach użytkownika na produkt. Tę dziedzinę należy uzupełnić o orientację w sprawach biznesu. Nie zawsze jest tak, że to, czego chce użytkownik, dobrze wpływa na wyniki.

Po zerowe. Produkt owner musi przede wszystkim umieć myśleć. To tak fundamentalne, że o tym zapominamy. Z drugiej strony tak rzadkie, że nie wiem dlaczego.

Drugie: rozumienie technologii. To rzecz fundamentalna. Będąc produkt ownerem trzeba wiedzieć, z czego się składa i jak działa to, co stanowi produkt. Bez tej wiedzy nie da się dobrze podejmować decyzji i trudno zyskać autorytet u programistów. Mówimy cały czas o produktach cyfrowych, jednak one pojawiają się już w każdej dziedzinie działalności. Wkrótce, mówiąc szerzej, trudno będzie zostać menedżerem czegokolwiek dużego bez wiedzy o tym jak działa technologia.

Trzeci element – umiejętności komunikacyjne. Chodzi m.in. o to, żeby u różnych ludzi budzić zaufanie. Produkt owner pracuje z biznesem i z programistami musi więc bardzo dobrze mówić co najmniej dwoma językami. Jest też taki aspekt komunikacji, który ma związek z eliminacją niedomówień i niejasności – pełno ich w świecie projektów i rozwoju produktu.

Czwarta, powiązana z powyższym jest wiedza o procesie rozwoju, orientacja w różnych metodykach budowania oprogramowania. Nie trzeba mieć certyfikatu scrumowego Produkt Ownera (czy dowolnych innych obecnych i przyszłych), ale trzeba rozumieć esencję i funamentalne zasady, które rządzą procesem rozwoju. Żeby m.in. wiedzieć, że gdy programista deklaruje coś na czwartek, to co to może oznaczać a czego to nie znaczy na pewno.

Piąty element, to głęboka wiedza nt produktu. Tu jest ciekawy obszar do kontrowersji – na ile produkt owner może być uniwersalnym profesjonalistą, na ile musi się znać na dziedziedzinie, w której działa. Wracając do przykładu rozwoju aplikacji muzycznych. Jak szybko można sobie przyzwoić zagadnienia związane z jakością dźwięku, sposobami kompresji plików, oraz rozliczeń z właścicielami praw autorskich nie mając o nich pojęcia? Bez tego trudno dobrze je rozwijać. Tu z jednej strony wracamy do zdolności do uczenia się, z drugiej rozmawiamy o pasji.

Czy bez głębokiego zainteresowania i pasji można w jakiejś dziedzinie osiągnąć mistrzostwo?