Wyzwania Product Managera odpowiedzialnego za oprogramowanie pracujące w infrastrukturze klienta
Oprogramowanie chmurowe skutecznie podbiło świat software developmentu. Zespoły produktowe budują zwinnie rozwiązania, w sposób ciągły dostarczają wartość do klienta, a produkty, z których korzystają użytkownicy, zmieniają się w zasadzie z dnia na dzień, jeśli nie z godziny na godzinę. To dla Product Managera bardzo komfortowa sytuacja. Zespoły produktowe, równie szybko jak dostarczają wartość dla użytkownika, mogą także w warunkach bojowych walidować trafność wybranych rozwiązań.
Jeszcze nie tak dawno świat “chmury” był także moim światem. Teraz przyszło mi się zmierzyć z nowymi wyzwaniami, które niesie świat oprogramowania instalowanego we własnej infrastrukturze klienta (czyli inaczej oprogramowanie serwerowe lub on-premises). Rola Product Managera jest w tym świecie równie ciekawa i inspirująca, choć nierzadko trzeba szukać innych sposobów walidowania hipotez, kontaktu z użytkownikami, czy zbierania danych.
Jako Product Manager flagowego produktu Atlassiana – JIRA, w jego “serwerowej” wersji, przyszło mi się zmierzyć się z potężnym narzędziem, a także ze światem dużych organizacji, dla których oprogramowanie działające we własnej infrastrukturze stanowi część całego ekosystemu firmy. Od niego niejednokrotnie zależy sprawne funkcjonowanie organizacji. To wielka odpowiedzialność i świetna szkoła dla Product Managera.
Produkt niby ten sam, a dla każdego inny
Klient, który decyduje się na korzystanie z oprogramowania instalowanego we własnej infrastrukturze, ma ku temu zwykle bardzo konkretne powody. Głównym z nich jest bezpieczeństwo. Choć dzisiejsze technologie chmurowe gwarantują cały szereg zabezpieczeń, to jednak nierzadko przepisy prawne kraju, w którym funkcjonuje organizacja, czy wewnętrzne procedury determinują decyzję o wyborze wersji “on-premises”.
Łączy się to też zwykle z tym, że organizacja konfiguruje oprogramowanie w sposób niestandardowy, dostosowany do własnych, wielce skomplikowanych procedur.
Kto zna aplikację JIRA, wie, że pozwala ona na dużą dowolność w obszarze konfiguracji, a wykorzystanie dodatkowych pluginów umożliwia wprowadzenie dowolnych kastomizacji.
To dla Menedżera Produktu nie lada orzech do zgryzienia. Ilu klientów, tyle zastosowań produktu, a dowolna zmiana w produkcie może mieć wpływ na kluczowe procesy biznesowe tego, czy innego klienta.
Odpowiecie pewnie: “Przecież w chmurze jest podobnie”. Tak. Z tą różnicą, że w przypadku oprogramowania dostępnego w chmurze, mamy dużo łatwiejszy dostęp do danych i możemy w stosunkowo łatwy sposób analizować rozmaite zastosowania produktu. W przypadku oprogramowania serwerowego, klienci często ograniczają dostęp do danych analitycznych. Co więcej, zależność jest zwykle taka, że im większy klient i bardziej złożony proces, niestandardowe zastosowanie, tym większe prawdopodobieństwo, że produkt zostanie zainstalowany “behind the firewall”, w ten sposób uniemożliwiająć nam, Product Managerom, dostęp do danych.
Od razu jednak uspokajam. Jest trudniej, to jednak nie oznacza, że dotarcie do tej wiedzy jest zupełnie niemożliwe. Bynajmniej! Użytkownikom zależy na tym, by oprogramowanie rozwijało się i pomagało rozwiązywać ich problemy. Jeszcze nie spotkałam się z sytuacją, w której klient odmówiłby pomocy w przetestowaniu konkretnego rozwiązania, czy odmówiłby udziału w wywiadzie. Zamiast analizowania danych Product Managerowie oprogramowania serwerowego muszą poświęcić dużo więcej czasu i wysiłku na dotarcie do użytkowników, nawiązanie z nimi bezpośredniego kontaktu i zrozumienie specyficznych zastosowań produktu.
Która to wersja?
Gromadzenie i analiza danych dotyczących użycia produktu nie jest zatem w przypadku oprogramowania serwerowego sprawą banalną, aczkolwiek nie chcę byście pomyśleli, że jest zupełną niemożliwością. Dane to chleb powszedni każdego Menedżera Produktu, także w świecie serwera. Musimy jednak podchodzić do danych z dużo większą ostrożnością, pamiętając, że reprezentują one zaledwie wycinek rzeczywistości.
Jest jeszcze jeden ważny aspekt analizy danych. W każdym momencie czasu, klienci korzystają z różnych wersji oprogramowania. Podczas gdy część z nich szybko przełącza się na najnowsze wersje, innym zajmuje to nawet kilka lat. Analizując informacje zwrotne od użytkowników i podejmując na ich podstawie decyzje związane z rozwojem produktu trzeba pamiętać o tym, że niektórzy z nich znają tylko i wyłącznie produkt w kształcie sprzed roku.
Co (po)myśli użytkownik?
W świecie oprogramowania instalowanego w infrastrukturze klienta, to klient ma pełną kontrolę nad tym, czy przekazywać twórcom produktu dane analityczne związane z wykorzystaniem oprogramowania przez użytkownika końcowego. To klient decyduje o tym, czy i kiedy zainstalować najnowszą wersję oprogramowania. Klient chroni dostępu do swoich użytkowników końcowych. W końcu właśnie z powodu dodatkowej kontroli i bezpieczeństwa wybrał taką, a nie inną wersję oprogramowania.
Jak się domyślacie, brak łatwego, bezpośredniego dostępu do użytkowników końcowych, nie ułatwia Product Managerowi zadania.
Nic co trudne, nie jest jednak niemożliwe. Administratorowie infrastruktury po stronie klienta nie bronią przecież dostępu do użytkowników, a tylko do ich danych personalnych. Sprawnie przeprowadzona, wbudowana w produkt kampania NPS pozwala zebrać bezcenny feedback. Atlassian wspiera także inicjatywę Atlassian User Groups, w ramach której użytkownicy oprogramowania (także w wersji serwerowej) dzielą się swoimi doświadczeniami. To niezwykła kopalnia wiedzy dla Menedżera Produktu.
Kiedy nie jest możliwe wysłanie ankiety do tysięcy użytkowników, trzeba szukać innych sposobów zebrania doświadczeń użytkowników końcowych.
Zwinnie, czy od wydania do wydania?
Oprogramowanie dostępne w chmurze zmienia się nieustannie. Koncepcja wersji właściwie tutaj nie istnieje, poza sytuacjami gruntownej zmiany brandingu, czy przebudowy doświadczenia użytkownika. W świecie serwera, wersja to chleb powszedni. Oprogramowanie jest paczką, która klient kupuje i w stosunku do której ma określone oczekiwania (zgodne ze specyfikacją producenta).
To stawia przed Product Managerem listę pytań:
- Jak często wydawać nowe wersje?
- Czy klienci oczekują dużych, naładowanych nowymi funkcjonalnościami wydań?
- A może wolą jak najczęściej korzystać z małych ulepszeń?
Nie ma na te pytania łatwych odpowiedzi. Z pewnością ilu klientów tyle zdań na ten temat.
Myślę, że w świecie serwera łatwiej wpaść w pułapkę budowania skończonych, jedynie słusznych rozwiązań – od wydania, do wydania.
Zwinność jest jednak wpisana w nowoczesny proces budowy software’u. Paradoksalnie w świecie oprogramowania instalowanego w infrastrukturze klienta, podejście agile i wczesne walidowanie rozwiązań ma ogromne znaczenie.
Czas potrzebny na adopcję najnowszych wersji oprogramowania przez klientów nie uzasadnia inwestycji w skończone rozwiązania. Ogromny nakład pracy po stronie zespołu produktowego może okazać się zupełnie nietrafioną inwestycją, a dowiemy się o tym za 3 miesiące, kiedy wystarczająco wielu klientów zacznie korzystać z danej wersji software’u. Zwinność w świecie serwera to podstawa.
Podsumowanie
Jak widzicie świat poza chmurą jest równie ekscytujący. Myślę, że kluczem do sukcesu Product Managera jest tutaj empatia i pochylenie się nad klientem i jego specyficznymi potrzebami. Użytkownik oprogramowania serwerowego decyduje się na taką wersję głównie ze względu na swoje specyficzne potrzeby i uwarunkowania biznesowe. Jako Product Menedżerowie musimy zrobić wszystko, by je jak najlepiej zrozumieć i na nie odpowiedzieć. Musimy też mieć dużo, bardzo dużo cierpliwości. Nasi klienci chcą czuć się bezpiecznie. Naszym celem powinno być to, by ich w tym wspierać.