Podsumowanie: dokument wymagań produktowych (PRD) określa wymagania danego produktu, w tym jego przeznaczenie, funkcje, funkcjonalność i zachowanie. Służy jako przewodnik dla zespołów biznesowych i technicznych pomagający w budowaniu, wdrażaniu lub wprowadzaniu produktu na rynek.
Opracowanie świetnego produktu wymaga mnóstwa badań i kompleksowego planowania. Ale od czego zacząć? Menedżerowie produktów często zaczynają od dokumentu wymagań produktowych (PRD).
Czym jest PRD?
Dokument wymagań produktowych definiuje produkt, który masz zamiar stworzyć: przedstawia przeznaczenie produktu, jego cechy, funkcje i zachowanie.
Następnie udostępniasz PRD interesariuszom — zespołom biznesowym i technicznym, które pomogą w opracowywaniu produktu, wdrożeniu lub wprowadzeniu go na rynek.
Po zapoznaniu z nim wszystkich interesariuszy PRD służy jako kompas, który wyznacza kierunek pozwalający na osiągnięcie celu produktu, tworząc jednocześnie wspólną płaszczyznę porozumienia między zespołami biznesowymi i technicznymi.
PRD w metodyce Agile
Jak wygląda zbieranie wymagań w świecie Agile? Wydaje się złożone — i takie jest. Ale bez obaw. W Atlassian wiemy wszystko o tworzeniu PRD w środowisku Agile. Oto kilka rzeczy, o których trzeba pamiętać:
Wymagania Agile są najlepszym przyjacielem product ownera. Product ownerzy, którzy nie stosują wymagań Agile, wpadają w pułapkę precyzowania każdego szczegółu, aby dostarczyć właściwe oprogramowanie (a potem trzymają kciuki, mając nadzieję, że wszystko dobrze określili). Wymagania Agile wymagają z kolei wspólnego zrozumienia klienta przez product ownera, projektanta i zespół programistów. To wspólne zrozumienie i empatia dla klienta docelowego uwalnia ukryty potencjał product ownerów. Mogą oni skupić się na wymaganiach wyższego poziomu i pozostawić szczegóły implementacji zespołowi programistów, którzy są do tego przygotowani — właśnie dzięki wspólnemu zrozumieniu wymagań klienta (a to niespodzianka).
Porady dotyczące tworzenia skutecznego PRD
Jeśli podoba Ci się koncepcja wspólnego zrozumienia, ale nie masz pojęcia, jak je wypracować, wypróbuj poniższe wskazówki:
- Podczas przeprowadzania wywiadów z klientami zaangażuj członków zespołów projektowych i programistycznych, aby mogli bezpośrednio wysłuchać opinii klienta, zamiast polegać na notatkach product ownera. Da im to również szansę na głębsze zbadanie tematu, póki jest on świeży w umyśle klienta.
- Spraw, aby tworzenie i wykorzystanie person klienta było wysiłkiem zespołowym. Każdy członek zespołu ma inną perspektywę i spostrzeżenia i musi zrozumieć, w jaki sposób persony wpływają na rozwój produktu.
- Zadbaj, aby segregowanie zgłoszeń i porządkowanie rejestru zadań także było działaniem zespołowym. To świetna okazja, aby dopilnować, by wszyscy byli tak samo poinformowani i zrozumieli, dlaczego product owner nadał poszczególnym zadaniom takie, a nie inne priorytety.
Chcesz spróbować? Zarejestruj się lub zaloguj się do Confluence >>
Utwórz szablon wywiadu z klientem, aby dokumentować analizę klienta. Skorzystaj z naszego poradnika, aby rozpocząć przeprowadzanie przydatnych wywiadów z klientami:
- Twórz wartościowe strony wywiadu z klientem
- Zamień informacje we wnikliwe analizy, korzystając z piramidy rozmowy z klientem
- Cały projekt jest już szczegółowo opisany, zanim rozpoczną się jakiekolwiek prace inżynierskie
- Przed rozpoczęciem pracy wymagany jest dokładny przegląd i zatwierdzenie przez wszystkie zespoły
- Projektanci i programiści nie wiedzą, kiedy wymagania zostały zaktualizowane
- Wymagania nigdy nie są aktualizowane (bo wszyscy je zatwierdzili)
- Product owner pisze wymagania bez udziału zespołu
Więc tak: omówiliście zestaw historyjek użytkowników z inżynierem i projektantem. Wszystko przeanalizowaliście, odbyliście kilka sesji przy tablicy i doszliście do wniosku, że jest jeszcze kilka aspektów funkcji, nad którą pracujecie, które trzeba uwzględnić. Musisz sprecyzować pewne założenia, zastanowić się dokładniej, jak wpisują się one w ogólny schemat prac, i śledzić wszelkie otwarte pytania, na które musisz odpowiedzieć. Co dalej?
Co powinien zawierać PRD?
Podczas pisania dokumentu wymagań warto użyć spójnego szablonu dla całego zespołu, aby każdy mógł się zapoznać z tematem i przekazać opinie. W Atlassian tworzymy wymagania produktowe w Confluence przy użyciu przygotowanego w tym celu szablonu. Naszym zdaniem poniższa sekcja zawiera odpowiedni kontekst, aby zrozumieć wymagania projektu i jego wpływ na użytkowników:
1. Określenie specyfiki projektu
Zalecamy umieszczenie u góry strony głównych informacji w następujący sposób:
- Uczestnicy: kto jest zaangażowany? Określ product ownera, zespół, interesariuszy
- Status: Jaki jest aktualny status programu? Zgodny z celem, zagrożony, opóźniony, odroczony itp.
- Docelowy termin wydania: kiedy planowane jest wydanie?

2. Cele zespołu i cele biznesowe
Przejdź od razu do rzeczy. Informuj, ale nie zanudzaj.
3. Tło i dopasowanie strategiczne
Dlaczego to robimy? Jak to wpisuje się w ogólne cele firmy?

4. Założenia
Wymień założenia techniczne, biznesowe lub dotyczące użytkowników.
5. Historyjki użytkowników
Wymień odpowiednie historyjki użytkowników lub podaj do nich łącza. Zamieść też łącza do wywiadów z klientami i wykonanych zrzutów ekranu. Podaj wystarczająco dużo szczegółów, aby utworzyć kompletną historyjkę, i uwzględnij wskaźniki sukcesu.

6. Interakcje użytkownika i projekt
Po opracowaniu przez zespół rozwiązania każdej historyjki użytkownika zamieść na stronie łącze do analiz projektu i schematów funkcjonalnych.

7. Pytania
Gdy zespół zaczyna rozumieć problemy do rozwiązania, często pojawiają się pytania. Utwórz tabelę „kwestii, co do których musimy podjąć decyzje lub które musimy zbadać”, aby śledzić takie elementy.
8. Czego nie robimy
Zadbaj o to, aby zespół skupił się na wykonywanej pracy, jasno określając, czego nie robicie. Oznacz elementy, które są w tej chwili poza zakresem prac, ale mogą wymagać uwzględnienia w późniejszym czasie.
Manifest Agile przypomina nam, że możemy być elastyczni, jeśli chodzi o sposób tworzenia wymagań. Niektóre zespoły wykonują ćwiczenia z mapowania historyjek użytkowników, aby zidentyfikować problemy i rozwiązania. Czasami cała triada produktu (product owner, programista i projektant) odwiedza klienta, a następnie analizuje rozwiązania konkretnego problemu, o którym on wspomniał.
Bez względu na to, jak powstają wymagania, ważne jest, aby zespół uznał je za jeden z wielu sposobów, w jaki może definiować i komunikować problemy klientów. Zapoznaj się z naszą sekcją poświęconą projektowaniu Agile, aby dowiedzieć się, w jaki sposób product ownerzy mogą używać aplikacji Keynote i Powerpoint do szkicowania prawdziwych doświadczeń jako wymagań.
Przykład PRD
Oto dopracowany dokument wymagań produktowych, który stworzyliśmy przy pomocy Confluence. Pamiętaj, że każdy tego typu dokument jest nieco inny. Jest to tylko przykład pomagający zrozumieć różne elementy, które powinny być zawarte w Twoim PRD, ale nie jest to definitywny sposób postępowania.


Chcesz spróbować? Zarejestruj się lub zaloguj się do Confluence >>
Po zalogowaniu się wybierz schemat wymagań produktowych, a następnie skorzystaj z poniższego samouczka, który pomoże Ci rozpocząć konfigurowanie wymagań:
Korzyści z dobrze napisanego PRD
Jeśli masz coś wynieść z tego bloga, skup się na pytaniu „dlaczego” — a nie „co” — ponieważ „dlaczego” pomoże Ci ustalić, co jest najlepsze dla Twojego zespołu. Oto korzyści i wyzwania, jakie zaobserwowaliśmy w podejściu opartym na jednostronicowym pulpicie:
Jedna strona, jedno źródło
Bez zbędnych komplikacji. Dokument wymagań produktowych staje się „stroną docelową” dla wszystkiego, co jest związane ze zbiorem problemów rozwiązywanych w ramach konkretnego epiku. Korzystanie z centralnej lokalizacji pozwala zaoszczędzić czas, który członkowie zespołu poświęcają na dostęp do tych informacji, i zapewnia im zwięzły widok.
Dodatkowa elastyczność
Jedną z fantastycznych zalet korzystania z prostej strony do współpracy (zamiast dedykowanego narzędzia do zarządzania wymaganiami) jest możliwość zachowania elastyczności w kwestii dokumentacji. Nie trzeba za każdym razem korzystać z tego samego formatu — rób to, co trzeba i kiedy trzeba, zachowując przy tym elastyczność. W razie potrzeby możesz zmodyfikować szablon.
Odpowiednia ilość kontekstu i szczegółów
Często zapominamy, jak skuteczne może być zwykłe łącze. Osadzamy wiele łączy w dokumentach wymagań produktowych. Pomaga to wyeliminować złożoność i stopniowo ujawniać informacje czytelnikowi w razie potrzeby. Można zamieszczać łącza do takich szczegółowych zasobów, jak:
- Wywiady z klientami zapewniające tło, uzasadnienie lub dalszy kontekst funkcji
- Strony lub wpisy na blogu, gdzie zaproponowano podobne pomysły
- Poprzednie dyskusje lub dokumentacje techniczne oraz schematy
- Filmy przedstawiające prezentacje produktów lub inne powiązane treści pochodzące ze źródeł zewnętrznych
Dynamiczne historyjki
Widzę, że wielu klientów też to robi. Gdy historyjki zostały już z grubsza przemyślane i zapisane jako zgłoszenia w Jirze, zamieszczamy do nich łącze na naszej stronie (powoduje to również utworzenie łączy prowadzących ze zgłoszeń z powrotem do strony, co jest wygodnym rozwiązaniem). Dwukierunkowa synchronizacja między Confluence a Jirą pozwala automatycznie zobaczyć aktualny status każdego zgłoszenia bezpośrednio na stronie wymagań.
Zbiorowa wiedza
Rejestrowanie wymagań produktowych w Confluence ułatwia innym osobom z różnych zespołów wnoszenie wkładu i przedstawianie sugestii. To niesamowite, jak często ktoś z innego zespołu przyłącza się do rozmowy, dostarczając przydatnych opinii, sugestii lub wniosków płynących z podobnych projektów. Dzięki temu w dużej organizacji można się poczuć jak w małym zespole.
Atrakcyjne „dodatki”
Diagramy wykonane za pomocą narzędzi, takich jak Visio, Gliffy czy Balsamiq, pozwalają skuteczniej komunikować problemy zespołowi. Możesz także osadzać zewnętrzne obrazy, filmy i treści dynamiczne.
Lepsza współpraca
Najważniejsze jest zaangażowanie wszystkich. Nigdy nie pisz dokumentu wymagań produktowych samodzielnie — zawsze musisz mieć programistę, z którym go przygotujesz. Udostępnij stronę swojemu zespołowi i zdobądź informacje zwrotne. Komentuj, zadawaj pytania, zachęcaj innych do przekazywania refleksji i pomysłów. Jest to szczególnie ważne w przypadku rozproszonych zespołów, które nie mają często sposobności, by omówić projekty osobiście.
Wyzwania
Każde podejście ma wady. Istnieją dwa główne wyzwania, z którymi się spotkaliśmy i które zaobserwowaliśmy także u klientów:
Dokumentacja może stać się nieaktualna
Co się stanie, gdy wdrożysz historyjkę, a potem zmodyfikujesz rozwiązanie na podstawie otrzymanej opinii? Czy ktoś ma wrócić do strony wymagań i zaktualizować ją zgodnie z ostateczną implementacją? Jest to wyzwanie w przypadku każdego rodzaju dokumentacji i zawsze warto zastanowić się, czy takie kompromisy są opłacalne. Porozmawiaj ze swoim zespołem o tym, co zrobić w takiej sytuacji.
Brak uczestnictwa
„Co mogę zrobić, aby zachęcić ludzi do komentowania?”, „Jak zachęcić ludzi do częstszego pisania specyfikacji i historyjek w naszym intranecie?”. To twardy orzech do zgryzienia, a wszystko sprowadza się do różnych technik wdrażania stron typu wiki w organizacji. Istnieje szereg zasobów, które mogą Ci z tym pomóc. W grę mogą też wchodzić głębiej zakorzenione kwestie kulturowe.
A teraz do pracy!
Gdy wymagania są zwinne, product owner ma więcej czasu, aby zrozumieć rynek i za nim nadążyć. A utrzymanie ich w krótkiej, lecz treściwej formie umożliwia zespołowi programistów zaimplementowanie ich w postaci, która będzie najlepiej pasować do używanej architektury i stosu technologicznego.
Kiedy wymagania projektu są już dość dobrze dopracowane, zalecamy powiązanie historyjek użytkownika z punktu 5 powyżej z odpowiadającymi im historyjkami w wykorzystywanym przez zespół programistyczny narzędziu do śledzenia zgłoszeń. To sprawia, że proces programistyczny jest bardziej przejrzysty: łatwo jest dostrzec status każdego elementu prac, co przekłada się na bardziej świadome decyzje product ownera, a także zespołów niższego szczebla, takich jak marketing i wsparcie.
Nie śledź historyjek użytkowników, które pochodzą z wymagań projektu, w jednym systemie, a usterek w innym. Zarządzanie pracą w dwóch systemach jest niepotrzebnie skomplikowane i oznacza marnowanie czasu.
Pamiętaj, stosuj podejście Agile do ewolucji wymagań projektu. W miarę tworzenia i wydawania oprogramowania oraz pozyskiwania opinii klientów historyjki użytkowników mogą ulec zmianie. Zawsze dbaj o wysoką jakość i zdrową kulturę inżynierską — nawet jeśli oznacza to wydawanie mniejszej liczby funkcji.