Blog

19 września 2014 Wojciech Zawistowski

5 rzeczy, o których musisz pamiętać, by skutecznie “sprawdzać i adaptować”

Tagi: ,

5 rzeczy, o których musisz pamiętać, by skutecznie “sprawdzać i adaptować”

Jednym z fundamentów metodyk Agile jest podejście “inspect and adapt” (“sprawdzaj i adaptuj”).

Co to znaczy sprawdzać i adaptować? To znaczy, że zamiast kaskadowo planować (zgadywać) wszystko z góry, regularnie rozważasz swoją sytuację i dostosowujesz do niej swoje zachowanie.

Aby takie podejście było skuteczne, musisz pamiętać o kilku regułach:

1. Dokonuj inspekcji z rozmysłem

Rób regularne, celowe “przerwy” aby rozważyć bieżący stan rzeczy. Nie będziesz w stanie przeprowadzić skutecznej inspekcji, jeśli pracujesz w nieustannym pośpiechu. Zaplanuj takie przerwy według z góry narzuconego harmonogramu (np. codziennie) lub tak, by były inicjowane przez jasno zdefiniowane zdarzenia (np. natychmiast po ukończeniu każdego “user story”).

Nie podchodź też do tych przerw ad-hoc. Udekoruj je odrobiną lekkiego “ceremoniału”: zamiast luźnych pogaduszek o tym, w jaki sposób pracujecie – zorganizuj formalne retrospektywy; zamiast po prostu rzucić wzajemnie okiem na swój kod od przypadku do przypadku – wprowadź ścisły, ustandaryzowany proces code review. Zapobiegniesz w ten sposób rozmyciu się (a w końcu zarzuceniu) procesu dokonywania inspekcji.

2. Spraw, by informacja zwrotna była natychmiastowa

Twój mózg działa w taki sposób, że adaptujesz się tym skuteczniej im szybsza jest informacja zwrotna. Np. w sporcie wypracujesz odpowiednią pozycję ciała najszybciej, jeśli trener koryguje Cię gdy wciąż stoisz w tej pozycji. To potwierdza się dla każdego typu informacji zwrotnej, nawet dla wydarzeń długotrwałych – np. post-mortem projektu powinieneś przeprowadzić w dniu jego zakończenia, a nie tydzień po albo dopiero przed rozpoczęciem kolejnego dużego projektu.

Nie dla wszystkich typów informacji zwrotnej jest to realistyczne (dlatego np. Scrum zaleca spotkania dzienne a nie zbieranie się całym zespołem wielokrotnie każdego dnia, po każdym commicie do systemu kontroli wersji), niemniej jednak pratyczną regułą jest dążenie, by informacja zwrotna następowała tak blisko “źródła” jak to rozsądnie możliwe.

3. Poszukuj informacji zwrotnej na 3 poziomach: produktu, procesu i kodu

Punktem informacji zwrotnej najczęściej kojarzonym ze Scrumem jest retrospektywa sprintu, która dotyczy głównie procesu – sposobu, w jaki pracuje zespół developerski. Istnieją jednak dwa inne, istotne rodzaje informacji zwrotnej:

Pierwszym z nich jest informacja zwrotna o produkcie. Przykładem informacji zwrotnej tego typu jest review sprintu (o ile jest przeprowadzony poprawnie).

Drugim rodzajem informacji zwrotnej, o którym często zapominamy, jest niskopoziomowa informacja zwrotna na temat kodu – np. formalny proces code review.

Każdy spośród tych trzech rodzajów informacji zwrotnej oferuje inny, równie wartościowy punkt widzenia i nie powinieneś zaniedbywać żadnego z nich.

4. Znajdź tak wiele pętli informacji zwrotnej jak się da

Scrum określa trzy główne pętle informacji zwrotnej: review sprintu (znany też jako “demo”), retrospektywę sprintu oraz spotkanie dzienne. Pierwsze dwie dokonują się raz na sprint, ostatnia codziennie. Często wizualizuje się to przy pomocy tzw. “snowman diagram” (śniegowego bałwana), którego większa pętla reprezentuje cykl sprintowy a mniejsza cykl dzienny:

snowman

To jednak tylko niektóre z szerokiego wachlarza pętli informacji zwrotnej jakie możesz znaleźć – i szkoda by było nie skorzystać z pozostałych.

Spróbujmy na szybko wymyślić kilka innych pętli potencjalnej informacji zwrotnej (w losowej kolejności):

  • post-mortem projektu
  • review kodu
  • częste wydania na produkcję
  • częste wydania na pre-produkcję
  • testy A/B
  • analiza problemu źródłowego dla defektów
  • wewnętrzne testy usability
  • TDD
  • statyczna analiza kodu
  • programowanie w parach
  • Ciągła Integracja
  • zautomatyzowany monitoring systemu

Nie wszystkie zespoły muszą obowiązkowo korzystać ze wszystkich powyższych pętli informacji zwrotnej jak również z całą pewnością będziesz w stanie wymyślić ich więcej – celem tej listy jest pokazanie, że istnieje o wiele więcej potencjalnych punktów “sprawdzenia i adaptacji” niż popularne wytyczne wskazują. (Dodatkowo, jako “ćwiczenie dla czytelnika”, pozostawiam Ci zastanowienie się, jakiego rodzaju informację zwrotną – dotyczącą procesu, produktu czy kodu – możesz uzyskać w każdej z wymienionych pętli).

5. Nie zapomnij podjąć działania!

Jak dotąd skupiałem się głównie na różnych punktach inspekcji, nie zapominajmy jednak, że podejście Agile nosi nazwę “sprawdzać i adaptować“.

Ponarzekanie sobie w trakcie retrospektywy czy okresowy rzut okiem na metryki systemu nie wystarczy. Musisz zadecydować, jakie kroki mogą zostać podjęte w celu poprawy sytuacji i mieć dość wytrwałości by rzeczywiście wcielić je w życie.

Nie traktuj swoich pętli informacji zwrotnej jako pustego ceremoniału. Chwila “przerwy” na rozważenie swojej sytuacji rzeczywiście może wynieść cię na wyższy poziom – ale jedynie wtedy, gdy podejmiesz na bazie swoich wniosków działanie.


Z jakich pętli informacji zwrotnej korzystasz? Jakie sztuczki pozwalają Ci uzyskać jak najwięcej korzyści z podejścia “spawdzaj i adaptuj”? Podziel się pomysłami w sekcji komentarzy 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....