Blog

09 października 2015 Wojciech Zawistowski

Empiryzm w Agile – otwartość na zmiany ORAZ planowanie

Tagi:

Empiryzm w Agile – otwartość na zmiany ORAZ planowanie

Otwartość na zmiany leży w samym sercu Scruma. W ogóle cała filozofia Agile zbudowana jest wokół empirycznego podejścia – “sprawdzaj i adaptuj”. Manifest Agile zawiera stwierdzenia: “Responding to change over following a plan” (“Reagowanie na zmiany ponad podążaniem za planem”) oraz “Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage” (“Przyjmuj zmieniające się wymagania, nawet pod koniec developmentu. Procesy Agile ujarzmiają zmianę dla konkurencyjnej przewagi klienta”). Filozofia ta sięga tak głęboko, że nie tylko jesteśmy otwarci na zmianę – oczekujemy, czy wręcz pożądamy jej. Jeśli tej zmiany nie ma, stajemy się podejrzliwi wobec naszego procesu.

Z drugiej strony, chcemy mieć dobrze wypielęgnowany i uporządkowany backlog. Chcemy szczegółowych kryteriów akceptacji dla historyjek użytkownika. Przeprowadzamy planning sprintu i podejmujemy zobowiązania, jakie cele osiągniemy w trakcie sprintu. Walczymy wręcz przeciwko zmianie tych celów; Scrum Guide stwierdza: “During the Sprint […] no changes are made that would endanger the Sprint Goal” (“Podczas Sprintu […] nie są wprowadzane żadne zmiany, które mogłyby zagrozić Celowi Sprintu”).

Pozorna sprzeczność

Ta dychotomia pomiędzy planowaniem a otwartością na zmiany powoduje często nieporozumienia i zamieszanie.

Na jednym krańcu spektrum można spotkać się z nastawieniem, że Przegląd Sprintu jest związany bardziej z akceptacją niż z informacją zwrotną. Jeśli inkrement wyprodukowany na koniec sprintu nie zostaje “zaakceptowany” albo jeśli przegląd zaowocuje reorganizacją backlogu, oznacza to, że źle wykonaliśmy analizę wymagań, projektowanie albo planowanie.

Na przeciwnym krańcu spektrum można spotkać się z nastawieniem, że skoro spodziewamy się po Przeglądzie Sprintu zmian, szczegółowa analiza wymagań, projektowanie i planowanie to marnotrastwo, które jedynie spowalnia naszą pętlę informacji zwrotnej.

Oba podejścia są złe.

Jak działa empiryzm?

Najważniejsze, aby zrozumieć, że empiryzm nie oznacza próbowania przypadkowych rzeczy i obserwowania co się stanie. Podejście empiryczne jest w pełni rozmyślne i zwykle obejmuje następujące kroki:

  • sformułowanie hipotezy
  • zaprojektowanie eksperymentu, który potwierdzi albo obali hipotezę
  • przeprowadzenie eksperymentu i zebranie wyników
  • ewaluacja wyników
  • wykorzystanie świeżo nabytej wiedzy do sformułowania kolejnej hipotezy, albo do aktualizacji obecnej

Zrozumienie tego procesu prowadzi do kilku wniosków:

Dobrze jest szczegółowo projektować najbliższy eksperyment

Rozmyślny ekspetyment wymaga hipotezy: musisz mieć jakieś oczekiwania co powinno się stać, w jakich okolicznościach i dlaczego. Wymaga on także planu: musisz z góry wiedzieć jak przygotować i przeprowadzić eksperyment, jak zmierzyć jego wyniki oraz jak dokonać ich ewaluacji.

Alternatywą jest próbowanie przypadkowych rzeczy i obserwowanie co się stanie. Nie jest to z gruntu złe; także będzie owocować zdobyciem jakiejś wiedzy. W niektórych przypadkach, gdy dany obszar jest dla Ciebie nowy i nie potrafisz sformułować rozsądnej hipotezy, takie podejście może być nawet lepsze. Jednak najczęściej, rozmyślny eksperyment zaowocuje szybszym tempem zdobywania wiedzy niż bierna obserwacja.

Źle jest zmieniać okoliczności eksperymentu w trakcie jego trwania

Ingerowanie w eksperyment w trakcie jego trwania spowoduje, że jego wyniki staną się niewiarygodne, co z kolei sprawi, że Twoja początkowa hipoteza będzie trudna do zweryfikowania. Obniży to także Twoją zdolność do oceny i usprawniania Twojego procesu – zdolność do uczenia się, jak formułować lepsze hipotezy i projektować lepsze eksperymenty w przyszłości. W związku z tym, eksperyment powinien być “zamrożony”. Korekty powinny być wprowadzane pomiędzy eksperymentami, nie w ich trakcie.

Oczywiście, jeżeli widzisz, że eksperyment podąża w zupełnie niewłaściwym kierunku, nie ma sensu, by go kontynuować. Jednakże w takim przypadku powinieneś raczej przerwać eksperyment, a nie próbować go w locie przeprojektowywać.

W porządku jest obalić hipotezę

Naszym nadrzędnym celem jest odkrycie warościowej innowacji na końcu całej serii eksperymentów, a nie to, by “mieć rację” w każdym z nich. Obalenie “złej” hipotezy często jest o wiele bardziej wartościowe niż potwierdzenie hipotezy bezpiecznej i oczywistej. “Nieudane” eksperymenty są w porządku jeżeli tylko skutkują rozmyślnym zdobywaniem nowej wiedzy, która przybliża nas do ostatecznego przełomu – szczególnie gdy te eksperymenty są krótkie a koszt przeprowadzenia “złego” eksperymentu jest niski.

Dobrze jest z wyprzedzeniem planować serię eksperymentów

Empiryczne podejście polega na przeprowadzeniu eksperymentu i wykorzystaniu wiedzy nabytej poprzez ten eksperyment do zaprojektowania kolejnego, lepszego. Nie oznacza to jednak, że wolno nam myśleć tylko jeden krok w przód.

Rzadko zdarza się sytuacja, że w danej chwili możliwy jest tylko jeden eksperyment. Zazwyczaj, istnieje całe spektrum eksperymentów, które możemy przeprowadzić, i musimy wybrać najbardziej wartościowy – ten, dzięki któremu najwięcej się nauczymy. Utrzymywanie krótkiego backlogu możliwych eksperymentów pozwala nam je grupować i porównywać, oraz priorytyzować je pod względem ich potencjału do dostarczania nam nowej wiedzy. To z kolei umożliwia nam podejmowanie lepszych decyzji, który eksperyment przeprowadzić jako następny, co owocuje szybszym tempem nauki, redukcją ilości “nieudanych” eksperymentów i, w efekcie, szybszym osiągnięciem ostatecznego przełomu.

W porządku jest przeplanować serię eksperymentów

Choć dobrze jest utrzymywać backlog przyszłych eksperymentów, musimy zrozumieć, że nie jest on nietykalny. Obserwacje dokonane podczas eksperymentu często inicjują pomysły na nowe eksperymenty lub sprawiają, że niektóre z początkowych pomysłów stają się zbędne.

Jednak fakt, że backlog będzie się zmieniał, nie jest argumentem przeciwko utrzymywaniu backlogu, ani przeciwko wkładaniu wysiłku w jego pielęgnację i priorytyzację. Zadbany backlog wspiera zmiany, ponieważ ułatwia on asymilację obserwacji z ostatniego eksperymentu i ocenę ich wartości, oraz odrzucanie całych grup powiązanych pomysłów na eksperymenty gdy stają się one zbędne.

Nie ma tu żadnej sprzeczności

Otwartość na zmiany oraz planowanie wcale się nie wykluczają. Może się to z początku wydawać nieintuicyjne, ale rozsądna ilość analizy i planowania, jeśli przeprowadzimy je poprawnie, wspiera otwartość na zmiany a nie jej przeciwdziała. Pozwala nam traktować zmiany bardziej rozmyślnie, wyciągać z nich większą wartość, reagować bardziej elastycznie, nie mniej.

Jest jednak pewien haczyk: by planowanie pomagało Ci być otwartym na zmiany, musisz być otwarty na zmiany Twoich planów.

Gdzie leży Twój złoty środek pomiędzy planowaniem i zmianą? Czy jesteś otwarty na oba, czy raczej skłaniasz się bardziej w kierunku jednego z nich? Podziel się swoimi doświadczeniami w komentarzach poniżej!

Zobacz na blogu

09.09.2022
Marcin Jahn
It’s Not Just HTTP It’s Not Just HTTP

In today’s world of cloud-based solutions, distributed systems, and microservices-based architectures, network communication is a...

23.08.2022
Adam Mrowiec
Konferencja IPC 2022 Berlin Konferencja IPC 2022 Berlin

Pandemia wreszcie się kończy, dlatego w tym roku postanowiliśmy wrócić do naszych wyjazdów na konferencje....