sprint w stylu agile, zdjęcie: Cpl. Tyler Giguere, marines.mil, CC-0

AgileLife#3: Sprint

Napisałem już kiedyś o tym, że w metodyce zwinnej praca powinna przebiegać od jednego do kolejnego MVP. Po przeczytaniu tamtego wpisu mogła się pojawić w Twojej głowie myśl „No dobra, ale w takim razie to oznacza jedynie, że zamiast jednego dużego projektu realizujemy wiele mniejszych, następujących po sobie projektów, które zmierzają do tego samego celu”. Czas więc udać się na eksplorację tajników osiągania MVP, żeby odkryć, w czym tkwi różnica.

Praca w metodyce zwinnej podzielona jest na sprinty. Sprint to krótki okres czasu (trwający zwykle od kilku dni do miesiąca), w czasie którego zespół wprowadza konkretne zmiany w produkcie. Sprint powinien kończyć się wydaniem nowego MVP. Tak więc minimalnie raz na miesiąc rozgrzebujemy to, co już mamy, żeby osiągnąć tego ulepszoną i działającą wersję.

Żeby móc to osiągnąć, każdy sprint zaczyna się precyzyjnym ustaleniem jego celów, a kończy podsumowaniem na którym analizowane są nie tylko same efekty, ale (wręcz przede wszystkim) też nauka, która wynika z zakończonego sprintu. Bo  w sprincie nie chodzi o to, żeby „odtikować wszystkie taski” wyznaczone na początku. Celem takiego trybu pracy jest ciągłe uczenie się i szukanie sposobu na to, aby cały projekt zrealizować lepiej, niż na początku się założyło.

Tak więc na początku sprintu musisz dokładnie wiedzieć, jaki postęp chcesz osiągnąć w jego czasie. Nie będę się na ten temat rozpisywał, tylko zaproszę Cię do przeczytania paru moich wcześniejszych wpisów związanych z wyznaczaniem celów:

Podsumowaniu sprintu poświęcę jeden z kolejnych wpisów z serii, więc zachęcam Cię, żebyś śledził rozwój cyklu (o, zobacz – po prawej stronie możesz się zapisać na newsletter, dzięki czemu już żaden wpis Ci nie umknie!).

Na kiedyś zostawię sobie też to, jak organizować pracę w ramach sprintu. W tym wpisie chcę przekazać Ci przede wszystkim jedną zasadę: „dopóki coś nie jest zrobione, to to nie jest zrobione” („It’s not done until it’s done”).

Wiem, że brzmi to banalnie, ale bardzo często zapominamy o tym w życiu codziennym i jako zadania wykonane (czy zrealizowane cele) uznajemy coś, co zostawiamy na statusie „jeszcze tylko”:

  • Jeśli napisałeś list, włożyłeś go do zaadresowanej koperty i musisz jeszcze tylko go wysłać, to nie jest wysłany.
  • Jeśli jesteś na siłowni i została Ci jeszcze tylko ostatnia seria ostatniego ćwiczenia, to trening nie jest skończony.
  • Jeśli napisałem szkic wpisu, edytowałem go, wprowadziłem ostateczne poprawki, dodałem linki i muszę jeszcze tylko znaleźć do niego grafikę i dopasować słowa kluczowe, to wpis nie jest skończony.
  • Jeśli jesteś już gotowa do wyjścia i jeszcze tylko musisz dokończyć makijaż, to nie jesteś gotowa do wyjścia.

Więc:

it’s not done until it’s done.

Jasne?

Aby łatwiej osiągać swoje cele, z idei sprintu warto ukraść do swojego życia też parę innych zasad:

  • Łatwiej jest zrealizować sto mniejszych celów, niż jeden wielki. Czyli jedz słonia po kawałku. Posuwaj się od jednego do kolejnego MVP w krótkich, ograniczonych czasowo etapach.
  • Zawsze oczekuj konkretnych efektów i stale monitoruj swoje postępy. Efekty będą tak konkretne, jak konkretnie zdefiniowałeś je na początku sprintu – jeśli nie wiesz, co chcesz osiągnąć, na pewno tego nie osiągniesz.
  • Nastaw się na ciągłe uczenie. Nawet jeśli nie zrealizowałeś celu, to nauczyłeś się czegoś w trakcie jego realizacji. Obserwuj to i wyciągaj wnioski, a każda porażka będzie też przybliżała Cię do sukcesu.
  • Przed i po każdym sprincie musisz mieć coś, co możesz praktycznie wykorzystać – kolejne MVP. Jeżeli po sprincie nie możesz czegoś przetestować, to nie możesz wyciągnąć odpowiednich wniosków co do następnych kroków.

I jeszcze jedna uwaga. Możesz zaczynać projekt z wielką wizją bulbulatora totalnego, ale po kilku sprintach stwierdzić, że równie dobrze działa bez rurki prawoskrętnej bulbującej, moduł kolorowania płynu nie poprawi znacząco jego działania, a automatyczne bulbanie nie zmienia używania z punktu widzenia użytkownika. W skrócie – możesz nagle stwierdzić, że obecny MVP jest już ostatecznym produktem i nie ma sensu ciągnąć projektu dalej. Tak, jak ja nie szukam na razie innego stolika do pracy na stojąco. To jest OK i nie zdziw się, jeśli Ci się przydarzy taka historia. To jedna z zalet metodyki zwinnej – może się okazać, że Twój produkt końcowy wcale nie wymaga tyle pracy, ile myślałeś. Ważne tylko, żeby nie zatrzymać się na etapie prowizorki (która, jak powszechnie wiadomo, że jest najtrwalsza i działa najlepiej).

Lekcja ze sprintów agile: dziel pracę na małe kawałki, osiągaj w poszczególnych etapach konkretne cele i wyciągaj wnioski z realizacji każdego etapu.

PS. Wiem, że dotychczasowe wpisy AgileLife były teoretyczne i przez to mogły być trochę trudne do uchwycenia. Dlatego już przygotowuję wpis w którym pokażę, jak to wszystko zastosować w praktyce.