Dzień 5 – Scrum jest empirykiem, wierzy tylko w to, co może zobaczyć i dotknąć

Ten post jest częścią cyklu Pierwsze Dni Scrum.

Co chcesz wiedzieć o swoim projekcie?

W trakcie trwania projektu prawdopodobnie najważniejsze pytania to:

  • Jak szybko nam idzie? Czy się wyrobimy na czas?
  • Czy nasz produkt ma odpowiednią jakość?
  • Czy to co budujemy jest rzeczywiście potrzebne?

Kiedy chcesz to wiedzieć?

  • Jak najprędzej!

Dla naszych dzieci niedorzeczne będzie, że kiedyś zdarzało nam się czekać na koniec wielomiesięcznych projektów, żeby zweryfikować fundamentalne założenia na ich temat. Dlaczego ktokolwiek miałby na ślepo podążać ścieżką, nie wiedząc czy jest to ta właściwa? Dlaczego nie zawsze inwestujemy w wykrywanie i usuwanie błędów natychiast po ich powstaniu wiedząc, że koszt ich późniejszego usunięcia pnie się do góry z każdym upływającym dniem?

Niektóre projekty są wystarczająco przewidywalne, by nie przejmować się zbytnio koniecznością zmiany kierunku w trakcie ich trwania. Im więcej jednak w naszym projekcie ryzyka i niepewności tym bardziej potrzebujemy silnych mechanizmów pomiaru (obserwacji) i adaptacji do zdobytej w ten sposób wiedzy.

Twórca Scrum, Jeff Sutherland, jako były pilot wojskowy przytacza czasem analogię między Scrum a nowoczesnymi myśliwcami z systemem Fly-by-Wire. Przez lata inżynierowie lotniczy wyśrubowali osiągi swoich maszyn do tego stopnia, że bezpośrednie kontrolowanie samolotu przez pilota jest już niemożliwe. Przy prędkościach osiąganych przez te maszyny nawet najdrobniejsza turbulencja mogłaby spowodować całkowitą utratę kontroli. Nad stabilnością lotu musi czuwać komputer, który kilkaset razy na sekundę mierzy jego parametry i dopasowuje kierunek ciągu i ustawienie sterów.

Tak samo Scrum dostarcza szeregu mechanizmów pozwalających “w locie” korygować nasze plany. Trzy najważniejsze to:

  1. Pod koniec każdego Sprintu musimy mieć gotowy kawałek funkcjonalności – jest to jedyna realna miara postępu.
    • Dzięki temu, że regularnie dostarczamy gotowe ulepszenia możemy zmierzyć (a nie jedynie oszacować) tempo pracy zespołu i szybko dowiedzieć się, czy jesteśmy na dobrej drodze do zakończenia projektu przed wyznaczona datą, czy już teraz powinniśmy kupować bilet do jakiegoś odległego zakątka ziemi, żeby uciec przed niezadowolonymi Klientami.
    • Możemy też szybko dostarczyć gotowy fragment i sprawdzić, czy to czego chciał Klient na początku projektu jest rzeczywiście tym, czego najbardziej potrzebuje.
  2. Standupy (Codzienny Scrum) pozwalają zespołowi odświeżyć plan (Backlog) sprintu, odpowiednio wcześnie wykryć i usunąć problemy, które mogłby zagrozić realizacji celu sprintu a w ostateczności wcześnie zgłosić się do Właściciela Produktu celem renegocjacji zakresu prac.
  3. Retrospekcja pod koniec każdego sprintu pomaga zespołowi przyjrzeć się szczegółom swojej własnej pracy, zidentyfikować ew. problemy i zaplanować ulepszenia.

Nawet jeśli nie stosujesz Scrum, zastanów się, jak mógłbyś skorzystać z pomiaru i adaptacji. Jakich problemów w swoim ostatnim projekcie mógłbyś uniknąć, gdybyś wiedział o nich odpowiednio wcześnie? Co mógłbyś zrobić (jeszcze) lepiej?

Ćwiczenie dla Was:

Sprawdźcie jakie korzyści przynosi dzielenie pracy na małe kawałki i domykanie zadań przed rozpoczęciem kolejnych przeprowadzając eksperyment z pakowaniem kopert.