Andrii Glushchenko

Eksperymenty w Agile. Czym są i jak je dobrze definiować?

by | Sty 27, 2020 | Scrum | 0 comments

Kiedy w ramach Transformacji Agile proponujemy eksperymenty, spotykamy się z oporem. Eksperyment jest postrzegany jako coś złego. Padają argumenty, że to coś niepewnego, niebezpiecznego, nie wiadomo, jak się skończy, jest szansa na porażkę. Zakładając, że coś może się nie udać niechętnie się w to angażujemy. Wolelibyśmy stawiać na rzeczy pewne. Dlatego ciągle poszukujemy „dobrych” albo „najlepszych” praktyk w innej sytuacji. Odwlekamy działanie czasem nawet popadając w paraliż analizy. Z czym Tobie się kojarzy słowo eksperyment?

Prawda jest taka, że wiele razy w swoim życiu i w pracy podejmujemy się eksperymentów i nie zdajemy sobie z tego sprawy. Czym innym jest wybranie herbaty zimowej z oferty w Costa Coffee? Albo wybranie innej drogi dojazdu niż zwykle?

Eksperyment — próba, zwłaszcza przeprowadzona po raz pierwszy; realizacja nowatorskiego pomysłu.

- Słownik Języka Polskiego

Eksperymenty są jedną z podstaw podejścia zwinnego. Z tego wpisu dowiesz się dlaczego są takie ważne w Agile i jak je dobrze wykorzystać.

Podejmowanie decyzji w złożonym środowisku

Budowanie produktu jest procesem złożonym (complex), ponieważ mamy dużo zmiennych, które na ten proces wpływają. Na szkoleniach Professional Scrum Master i Professional Scrum Owner ilustrujemy to przy pomocy diagramu Stacey’iego w ramach omawiania podstaw Scrum. Mamy przynajmniej 3 grupy zmiennych, które wpływają na budowanie produktu: wymagania, ludzie, technologia. Wszystkie grupy są w dużym stopniu nieprzewidywalne i zmienne. Organizacja to złożonych system adaptacyjny i nie wiadomo jak zareaguje na zmianę.

W zmiennym środowisku predykcyjne podejście do zarządzania (szczegółowy plan i realizacja planu) nie sprawdzają się. Co zatem sprawdza się jako podejście do zarządzania? Odpowiedź na to pytanie znajdziemy we Frameworku Cynefin autorstwa Dave’a Snowdena. Dokładne wyjaśnienie jak ten framework kategoryzuje wszystkie obszary i jak odpowiednio zmienia się podejście do zarządzania w środowisku złożonym możesz przeczytać w artykule Harvard Business Review. Teraz skupmy się na obszarze złożonym.

Środowisko złożone cechuje się tym, że mamy więcej niewiadomych, niż wiadomych – to znaczy, że będziemy mogli się dowiedzieć, czy decyzja była słuszna po fakcie, w wyniku retrospekcji. Jest wiele możliwych rozwiązań dla każdego problemów, wiele możliwych ścieżek postępowania. Trzeba wybrać jedną i zobaczyć jak system na nią zareaguje.

W środowisku złożonym, zalecanym podejściem jest Probe, Sense, Respond, czyli Spróbuj, Sprawdź, Zareaguj. Decydujemy o jakimś działaniu, określamy, kiedy zbadamy wpływ tego działania (Probe). Na podstawie uzyskany danych (Sense), decydujemy co będziemy robić dalej (Respond). Mówiąc językiem Scruma, w środowisku złożonym najlepszym podejściem jest podejście empiryczne. Scrum Probe, Sense, Respond definiuje jako Inspect and Adapt. Nie zakładamy z góry, że wiemy, jaki wpływ będą miały wpływ nasze decyzje. Określamy co według nas ma największe szanse powodzenia i sprawdzamy to w doświadczeniu. Czyli w sumie można powiedzieć, że podejmujemy różne eksperymenty.

Weźmy na przykład, pomysł nową funkcjonalność w naszym produkcie. Tak naprawdę nie wiemy, czy to będzie dobra odpowiedź na problemy i potrzeby naszej grupy docelowej. Nie wiemy nawet, czy w ogóle się spodoba, czy i jak użytkownicy będą korzystać. Podejmujemy się dostarczenia minimalnej, wartościowej wersji (MVP) , żeby zebrać dane. Na podstawie danych będziemy podejmować decyzję co do następnych kroków. Na eksperymentach opiera się podejście Lean Startup.

Kolejnym przykładem mogą być wnioski z Retrospekcji Sprintu. Zastanawiamy się jak usprawnić nasz proces, generujemy pomysły, wybieramy jeden z nich i sprawdzamy czy kolejny Sprint dał lepsze rezultaty. Takie działanie to eksperymentowanie, w wyniku, którego ulepszamy swój proces.

Kiedy nie znany możliwości technologii, często robimy Proof of Concept, żeby sprawdzić jak zadziała. Eksperymentowanie z technologią pozwalają na uczenie się nowych rozwiązań.

Czym jest eksperyment w Agile?

Eksperyment (łac. experimentum — doświadczenie, badanie) – w naukach przyrodniczych i społecznych zbiór działań wzbudzających w obiektach materialnych określone reakcje i zjawiska w warunkach pozwalających kontrolować wszelkie istotne czynniki, które poddaje się dokładnej obserwacji.

Eksperymenty wykonuje się w celu potwierdzenia lub sfalsyfikowania określonej hipotezy. Hipoteza z jednej strony określa ściśle warunki eksperymentu a z drugiej nadaje sens poczynionej w wyniku eksperymentu obserwacji i w ogóle decyduje, co w danym eksperymencie jest właściwą obserwacją, a co tylko nieistotnym jego zakłóceniem.

- Wikipedia

Eksperymenty są stosowane w różnych branżach i dziedzinach, są naturalną częścią badań nad nowymi zagadnieniami. Eksperymenty dają możliwość innowacji, co jest podstawą do wzrostu biznesu. Każdy nowy pomysł jest swojego rodzaju eksperymentem, bo nie wiemy “czy to się sprawdzi”.

Co może być wynikiem eksperymentu? Możemy potwierdzić swoją hipotezę, albo dowiedzieć się, że hipoteza była błędna. Jeśli eksperyment się nie powiódł, to przynajmniej czegoś się nauczysz, zdobędziesz nową wiedzę i podejmiesz kolejną decyzję. Eksperymenty pozwalają ruszyć z miejsca i przybliżyć nas do rozwiązania.

Thomas Edison udoskonalając żarówkę przeprowadził 10000 nieudanych prób. Ale nie oceniał ich jako porażkę, bo wiedział, że z każdą próbą jest bliższy dobrego rozwiązania.

Scrum jest frameworkiem dla rozwoju produktów w środowisku złożonym lub rozwiązywania złożonych problemów. Każdy Sprint jest swojego rodzaju eksperymentem. Mamy Cel Sprintu, na Sprint Review prowadzimy inspekcję Przyrostu Produktu oraz zbieramy feedback co do Przyrostu od Interesariuszy, na Sprint Retrospective Zespół Scrum prowadzi inspekcję jak Zespół Scrum pracował oraz decyduje o usprawnieniach dla swojej pracy.

Mogę podać przykład z własnego doświadczenia. Jako Zespół Scrum, mieliśmy Cel Sprintu: “Zwiększyć konwersję na głównej stronie produktu o 5%”. Jako Zespół Scrum, nie wiedzieliśmy, które działanie wpłynie na wzrost konwersji, mieliśmy kilka różnych pomysłów. W trakcie Sprintu podjęliśmy szereg eksperymentów, które według Zespołu Deweloperskiego mogły zwiększyć konwersję. Jak się okazało, naprawdę prosta zmiana pomogła nam to osiągnąć.

Pracując w Transformacji Agile, mamy do czynienia z ciągłą zmianą. Zmieniamy złożony adaptacyjny system. Nie wiemy, jaki będą miały wpływ nasze decyzje — pozytywny, czy negatywny. Agile nie da się skopiować. Musimy wypracować własne metody, które sprawdzą się w tej organizacji. Jak to zrobić? Cały czas przeprowadzamy eksperymenty i wyciągamy wnioski. Możemy to robić “na oko”, albo w sposób profesjonalny, przemyślany. Patrząc na definicje podane wyżej powinniśmy określić hipotezę, jakiej reakcji się spodziewamy, co będziemy obserwować i po czym poznamy czy eksperyment się udał.

Jak prawidłowo definiować Eksperymenty?

Do zdefiniowania eksperymentu będą nam potrzebne 4 elementy.

Hipoteza

Podejmując eksperymentu, należy sformułować jaką masz hipotezę. Ja zwykle zaczynam od sformułowania: „Wierzę, że …”. Weź również pod uwagę priorytet danej hipotezy (jej krytyczność).

Test

Dla weryfikacji danej hipotezy, należy podjąć jakieś działania. Co zrobisz, żeby sprawdzić hipotezę? Dokładnie opisz działania. Określając swoje działania, uwzględnij również Koszt danych działań oraz na ile możesz polegać na danych, które zbierzesz.

Mierniki

Jakie mierniki pokażą Ci, czy Twoje działania doprowadziły do określonego skutku? Uwzględnij, przez jaki czas będziesz zbierał te dane.

Kryteria Akceptacji

Po czym poznasz, że eksperyment się udał, albo nie. Precyzyjnie określ te kryteria, odnosząc się do mierników określonych w poprzednim punkcie.

Karta EksperymentuDla Twojej wygody przygotowaliśmy szablon eksperymentu. Pamiętaj, że dla każdej hiptezy możesz wygenerować wiele eksperymentów i wybrać jeden lub kilka najlepszych. Jeśli wybierzesz kilka, zdecyduj, od którego zaczniesz.

Podsumowanie

Eksperymenty są nieodzowną częścią podejścia Agile i pracy Scrum. Dzięki eksperymentom, możemy podejmować decyzje, ruszyć z miejsca, nauczyć się czegoś nowego. Eksperymenty to tak naprawdę jedyna droga do innowacji.

Nie można obawiać się eksperymentów, bo są częścią naszego życia. Skuteczny eksperyment powinien być dobrze zaplanowany, żeby łatwo wyciągnąć wnioski i sprawdzić czy się powiódł. Wystarczą do tego cztery elementy.

Model Cynefin
Szablon eksperymentu ze Strategyzer

Photo by Bill Oxford on Unsplash