Czworo ludzi wprowadza usprawnienia do cyklu sprintu oznaczonego symbolicznie strzałkami

Jak zespół Droptica stale usprawnia swoją pracę. Zobacz przykłady z naszych spotkań Sprint Retrospective

29.06.2018

Twój zespół programistyczny stale popełnia te same błędy, nie poprawia jakości swojej pracy. Znasz ten problem? Jeśli tak, to rozwiązanie jest bardzo proste - Sprint Retrospective. 

Co to jest Sprint Retrospective

To jedno ze spotkań w metodzie SCRUM. Narada odbywa się regularnie na koniec każdego sprintu. W Droptica robimy zebranie raz na 2 tygodnie. Podczas spotkania zespół developerski analizuje poprzednie sprinty i zastanawia się, co można ulepszyć. Jak eliminować błędy, blokery, jak przyśpieszyć prace.

Co z tego ma klient?

Spotkanie trwa u nas najczęściej 15-60 minut. W Sprint Retrospective uczestniczy 3-6 osób, zależnie od wielkości zespołu na konkretnym projekcie. W innych firmach może to wyglądać inaczej. Łatwo obliczyć, że to spotkanie może kosztować klienta kilka roboczogodzin. Czy warto? 

Zdecydowanie tak! Podczas każdego zebrania zespół proponuje usprawnienia i ustala wprowadzenie kilku z nich od kolejnego sprintu. W wielu przypadkach te usprawnienia zmniejszają czas realizacji zadań. Spotkanie wprowadzające daną zmianę robimy raz, a ulepszenie jest stosowane stale w kolejnych sprintach. Po kilku czy kilkunastu sprintach mamy bardzo dużą oszczędność czasu i pieniędzy.

Jak robimy Sprint Retrospective w Droptica

Używamy do tego Google Docs - Spreadsheet. W dokumencie mamy 5 kolumn:

  1. Data,
  2. DROP - co powinniśmy przestać robić,
  3. KEEP - co należy kontynuować,
  4. IMPROVE - co należy usprawnić,
  5. ADD - co należy dodać.

Podczas spotkania każda osoba proponuje różne, potrzebne według niej usprawnienia: co usunąć, poprawić, dodać, itp. Gdy wszyscy już się wypowiedzą, zespół wybiera, co z propozycji wdrożyć od kolejnego sprintu. Staramy się wybierać 1-3 pozycje do wdrożenia, aby nie robić za dużych zmian. Ustalamy też osobę odpowiedzialną za wdrożenie konkretnej zmiany. 

Przykłady usprawnień związane z programowaniem i DevOps

Poniżej lista wybranych usprawnień zebranych z naszych kilku projektów. 

  • Częściej uruchamiamy testy automatyczne, aby szybciej wyłapywać błędy. Dzięki temu unikamy przykrych niespodzianek przed samym wdrożeniem.
  • Poprawimy szybkość budowania nowej wersji strony na serwerze testowym poprzez zmniejszenie bazy danych o około 90%.
  • Przed rozpoczęciem zadania, omawiamy nie tylko cele biznesowe. Dyskutujemy jak programistycznie zrealizować zadania, aby zachować spójność w całej aplikacji oraz wybierać rozwiązania optymalne dla projektu.
  • Code review powinien być zrobiony przez minimum dwie osoby.
  • Stosujemy git-flow, a każde zadanie robimy na osobnym branchu. Na tym branchu są robione testy oraz code review. Po tych czynnościach dopiero łączymy branch z głównym branchem developerskim. 

Przykłady usprawnień związane z organizacją pracy

  • Codzienna wysyłamy krótką informację do klienta (Product Ownera) na Slacku z podsumowaniem, co zrobiliśmy od wczoraj i co będziemy robić dzisiaj.
  • Zadania w Jira rozbijamy na mniejsze, tak, aby jedno zadanie trwało do 3-4 godzin. Możemy wtedy lepiej śledzić postęp prac i szybciej reagować na opóźnienia. 
  • Jeśli w trakcie sprintu okazuje się, że zadanie jest trudniejsze niż planowaliśmy, to zmieniamy Story Points dla zadania. 
  • Stale aktualizujemy dokumentację. Trzymamy się zasady, że jeżeli jakieś pytanie padnie minimum 2 razy, to powinno zostać dodane do dokumentacji. 
  • Komputer używany go rozmów wideo zawsze musi być podłączony do internetu kablem - zniknęła irytacja z powodu zacinających się wideo rozmów.
  • W wielu projektach usunęliśmy też z DoD wdrożenie - najczęściej te wdrożenia są raz na 2 tyg/miesiąc lub w ogóle po stronie klienta, a jak mamy sprint tygodniowy to taka rzecz nie powinna nas blokować przed zamknięciem zadania.
  • Planowanie z uwzględnieniem supportu - na podstawie poprzednich sprinów wiemy ile orientacyjnie czasu poświęcamy na rzeczy, których nie da się zaplanować (np. klient dodaje jakieś hotfixy).

Podsumowanie

W Droptica Scrum Retrospective daje widoczne efekty. Bardzo polecam wszystkim zespołom takie obiektywne spojrzenie wstecz, nawet jeśli nie stosują SCRUMa do prowadzenia projektu. Wystarczy zaplanować w kalendarzu raz na 2 tygodnie 1-2h na spotkanie i omówić, co można usprawnić. W skali kilku czy kilkunastu tygodni daje to naprawdę bardzo duże efekty. 
 

Porozmawiajmy o Twoich projektach

Napisz do nas!