Nieustannie poznajemy i opisujemy kolejne zwinne techniki i narzędzia. Dziś nadszedł czas na POPCORN Flow, który może przydać się wszystkim tym, którzy zajmują się wymaganiami.
Smaczny sposób na wymagania
Zawsze poszukujemy efektywnych rozwiązań, dobrych scrumowych praktyk i skutecznych agile’owych narzędzi. Najbardziej cieszymy się z tych uniwersalnych, które przydadzą się nie tylko Scrum Masterom czy Product Ownerom, ale wszystkim członkom Development Teamu.
Z wymaganiami zaś pracuje każdy. Nasza najlepsza wiedza na ich temat znajduje się w Backlogu Produktu, ale ten przecież nigdy nie jest kompletny. Wiele wymagań wciąż czeka na odkrycie. W jaki sposób możemy to zrobić i jak pomaga w tym POPCORN Flow?
Wymaganie wymaganiu nierówne. Jedne są oczywiste, a inne wymagają głębszej analizy. Jedno „dostajemy” w stanie gotowym od naszych interesariuszy czy Product Ownera, a inne są stopniowo odkrywane przez nas w procesie Backlog Refinementu. I zwykle nie mamy problemu w sytuacji, w której dostajemy do realizacji wymaganie (a nie zadanie). Czasami jednak trafia do nas „Epic”, idea czy wysokopoziomowe życzenia naszego klienta. Jak wtedy dostarczyć to, czego chce?
Z pomocą powinien przyjść Product Owner. To on rozmawiał z zainteresowanym i to jemu została (a przynajmniej powinna zostać przekazana) wizja i cel tworzonego rozwiązania. Co jednak w przypadku, gdy i to jest niewystarczające lub gdy PO tej wizji nie posiada?
Narzędzia wspomagające odkrywanie
Zwinne procesy same z siebie pomagają nam ujarzmić wymagania. Np. w Scrumie, to Zespół Deweloperski w procesie doskonalenia wymagań rozkłada je na możliwe do zrealizowania elementy. Takie, których realizacja nie tylko przybliży nas do osiągnięcia celu, ale też dostarczy jakąś wartość.
W powyższym pomóc mogą takie techniki jak Story Mapping, Impact Mapping czy Design Thinking. Wiele z nich jest nieoceniona w procesach identyfikacji klienta, potrzeb, wyjściowych produktów czy w przypadku obrazowania tzw. Big Picture. Te sposoby są powszechnie znane, ale wcale nie znaczy to, że nie znajdzie się dla nich miejsce na naszym blogu.
Zupełnie inną techniką służącą identyfikacji wymagań jest POPCORN Flow. Mam też wrażenie, że jest ona również mniej znana. Jest to metoda, która za pomocą kilku prostych kroków pozwala na identyfikację i realizację wymagań, a także podsumowanie tego, co się stało. Jak wiele agile’owych technik, ta również ma wbudowaną pętlę zwrotną, która sprawia, że iteracyjnie dochodzimy do sedna.
Co ważne, POPCORN Flow idealnie wpisuje się w idee zwinności i agile’owego podejścia.
PPF – POPCORN Flow
Inspiracją do opisania tej metody na naszym blogu były nasze ostatnie szkolenia. W trakcie nich rozmawiałem z ludźmi pracującymi trochę inaczej niż typowy dział IT. Przede wszystkim – nie zajmowali się oni w ogóle wytwarzaniem oprogramowania. To akurat ważne, bo POPCORN Flow wcale nie jest ograniczony do IT.
PPF, czyli POPCORN Flow został stworzony przez Claudio Perrone i służy do zwinnego zarządzania wymaganiami. Rozpoczyna się ono w chwili, w której zabraknie nam pomysłu, jak zabrać się za realizację danego wymagania.
POPCORN Flow, mimo że może kojarzyć się z kinową przekąską, jest niczym innym jak akronimem od:
P – problems and observations
O – options
P – possible experiments
C – commits
O – ongoing
R – review
N – next
Integralną częścią metody jest tzw. „Popcornflow board„, której kolumny (ang. swimlanes) to właśnie poszczególne elementy akronimu. Działają one podobnie do opisywanego już Scrum board. Co umieszczamy w kolejnych kolumnach i jak ewoluują poszczególne elementy?
Elementy POPCORN Flow
Problems – problemy do rozwiązania. Nie ma znaczenia, czy mówimy o wielkim Epic-u czy o rozwiązaniu konkretnego zagadnienia w ramach zdefiniowanego elementu Backlogu Produktu, najpierw na tablicy umieszczamy problemy.
Options – możliwości rozwiązania problemu (tego z poprzedniej kolumny). Liczba mnoga sugeruje, że nie powinno to być jedno, najlepsze naszym zdaniem rozwiązanie, ale zestaw możliwości, powstałych np. w procesie burzy mózgów.
Possible experiments – możliwe do wykonania czynności, które mogą nas przybliżyć do realizacji problemu. Słowo „możliwe” oznacza, że powinny być one realne do wykonania.
W kontekście analizowanego problemu zastanówmy się, co możemy zrobić aby go rozwiązać. Rozważmy, dlaczego powinniśmy skupić się akurat na tym rozwiązaniu, jakich spodziewamy się efektów oraz czy ten pomysł jest realny do wdrożenia.
Przypomina to opis User Story, gdzie definiując wymaganie musimy opisać „jako/chcę/aby” oraz HLAC (kryteria akceptacji). Podobnie i w tym przypadku, posiadając dobrze opisane możliwości będziemy mogli łatwo je porównać i zbadać ich wpływ na spodziewany efekt końcowy.
Committed – to wybrane rozwiązania, które zostaną skierowane do realizacji. Dla jednego problem mamy kilka options, na które opracowujemy kilka possible experiments. Nie chcemy realizować wszystkich pomysłów. Można wręcz powiedzieć, że szukamy wśród nich MVP, które trafiają do tej kolumny.
Ongoing – aktualnie realizowane pomysły. Tu możemy się zastanowić nad wprowadzeniem limitu Work In Progress.
Review – weryfikacja, w jaki sposób zrealizowaliśmy nasze rozwiązanie, czego się nauczyliśmy, czy spełniło one oczekiwanie naszego klienta, czego się nauczyliśmy, itd. POPCORN Flow wymusza na nas przeprowadzenie retrospekcji.
Next – pętla zwrotna, czyli elementy wypływające na decyzje o kolejnych czynnościach.
Innowacyjność PPF
Każdy z nas, pracując przy wytwarzaniu oprogramowania i analizie wymagań działa według tego albo bardzo zbliżonego schematu. I wcale nie musimy go nazywać POPCORN Flow. Nikt też nie twierdzi, że jest to podejście innowacyjne czy rewolucyjne. Podobnie jak wiele agile’owych technik, to ładnie opakowany zdrowy rozsądek.
Podobnie jest z innymi „oczywistymi” rzeczami tego świata. Czy ktoś z nas zastanawia się, czym jest empiryzm? Korzystamy z niego na co dzień – w pracy, w życiu prywatnym, w sytuacjach, w których nawet nie zwracamy uwagi na fakt, że doświadczamy czegoś, aby podjąć decyzję czy wydać opinię.
Formalne spisanie jakiejś rzeczy i wciśnięcie jej w określone ramy daje nam pewną przewagę. Powoduje, że nazywamy oczywistą dla nas technikę, dzięki czemu łatwo się do niej odwołać i z niej skorzystać. O wiele częściej będziemy po nią sięgać w każdej, nawet najbardziej zaskakującej sytuacji.
A czy dla Was POPCORN Flow to użyteczna technika czy po prostu kolejny agile’owy akronim?
Fajne. Krótko treściwie opisane. Coś nowego do „przybornika” SM. Lubiem 🙂
Dzięki wielkie. Zawsze staramy się postępować zgodnie z ideą pragmatyzmu, choć niektórzy próbują nam zarzucić, że jest zupełnie inaczej 😉
Fajne, ale nie rozumiem jak praktyce działa ostatnia kolumna? Co tam wrzucamy – problem? option? Czy coś zupełnie z innej beczki? Do tego momentu umiem sobie zwizualizować przepływ elementów.
Rozumiem, że piszesz o Next. Doprecyzuję zatem, jeśli z Review wyszło nam, że przyjęte rozwiązanie problemu nie jest dobre, zidentyfikowana opcja/opcje, które mogą (nie muszą być lepsze) będą właśnie kolejnymi do podjęcia (Next) czynnościami. W przypadku, gdy rozwiązanie spełniło nasze oczekiwanie kolejne czynności z dużą dozą prawdopodobieństwa nie wystąpią.