W metodologii Agile praca nad rozwojem produktu jest podzielona na mniejsze przyrosty. To prawdziwe błogosławieństwo dla wszystkich deweloperów. Dlaczego? Ponieważ zapewnia szeroki wachlarz korzyści. Aby jednak cieszyć się nimi wszystkimi, najpierw trzeba nauczyć się, jak prawidłowo prowadzić te łatwe w zarządzaniu fragmenty, aby pozostały naprawdę łatwe w zarządzaniu! Pozwól zatem, że rzucę nieco światła na sprinty w cyklu życia oprogramowania Agile.
Co to jest sprint w cyklu życia oprogramowania Agile?
Sprint to termin używany do opisania podstawowej miary przyrostu stosowanej w metodologii Agile. Jest to pewien (uzgodniony) okres, w którym określona praca lub zestaw zadań jest ukończony i gotowy do przeglądu. Innymi słowy, zespół Agile zgadza się na wykonanie określonej części projektu w określonym czasie. Jak długo to trwa? To zależy od Scrum Mastera, który zarządza przepływem pracy w zespole Agile. Zazwyczaj jest to faza trwająca około czterech tygodni.
Dlaczego używamy Sprintów?
Głównym celem Sprintów jest stworzenie przestrzeni na ulepszenia. Jest to szczególnie ważne w przypadku złożonych projektów. Spójrzmy na konkretny przykład. Zespół opracowuje aplikację rezerwacyjną dla trzech rodzajów zakwaterowania. Na początku klient wybiera określoną funkcjonalność, zgodnie z którą będzie przeprowadzana rezerwacja. Zwinny zespół tworzy aplikację dla jednego rodzaju zakwaterowania podczas pierwszego sprintu. Następnie klient mówi, że chce zmienić funkcjonalność. Zespół bez wysiłku dostosowuje się do życzeń klienta w kolejnym Sprincie.
>
Teraz wyobraźmy sobie, że zespół nie pracuje w Sprincie i postanawia od razu zbudować całą aplikację ze wszystkimi funkcjami i zależnościami. Po pierwsze, minie dużo czasu, zanim klient zobaczy pierwsze wyniki. Po drugie, więcej czasu zajmuje również dostosowanie całego produktu do nowych wymagań.
Wniosek jest taki, że Sprinty pozwalają na dostosowanie pracy do zmieniających się celów. Co jeszcze może przynieść korzyści zespołowi?
- wzmocnienie konkretnego myślenia – cele każdego Sprintu są jasno określone, więc uwaga skupia się na nich i nie ulega łatwym przesunięciom
- usprawnienie ustalania priorytetów – każdy wie, nad czym ma pracować, więc zespół pozostaje skupiony
- zaangażowanie w podejmowanie decyzji – wszyscy członkowie mają wpływ na cele Sprintu i mogą lepiej zrozumieć, w jaki sposób dokonywane są wybory
- zwiększenie produktywności – ustalone ramy czasowe pomagają skupić się na terminowym wykonywaniu pracy
.
.
Jak zaplanować idealny Sprint w cyklu życia oprogramowania Agile?
Zrozumiałe jest, że Sprinty wymagają starannego planowania, aby były skuteczne. Takie planowanie odbywa się podczas spotkań planowania sprintu. Jak one wyglądają? Zilustruję to na przykładzie agendy planowania Sprintu.
Wartość Sprintu (DLACZEGO)
Właściciel produktu, którym zazwyczaj jest klient, przedstawia swój pomysł dotyczący celu danego Sprintu. Następnie rozpoczyna się dyskusja na temat kierunku, w jakim powinien podążać rozwój, aby zapewnić produktowi optymalną wartość w tym momencie. Oczywiście cel nie jest ustalony, a celem dyskusji jest zdefiniowanie celu, nad którym zespół zgadza się pracować. Taki cel powinien być zdefiniowany zgodnie z kryteriami SMART (Specific, Measurable, Attainable & Relevant).
Wybór zadań (CO)
Następny krok jest podejmowany przez deweloperów. Gdy mają już cel, mogą zacząć identyfikować zadania, które pomogą go osiągnąć. W tym momencie kluczowe jest oznaczenie konkretnych zadań i nadanie im priorytetów. Należy również zidentyfikować główne zależności lub blokery.
Sposoby pracy (HOW)
Kolejnym krokiem po uzgodnieniu, co należy zrobić, jest podjęcie decyzji, jak to zrobić. Deweloperzy opracowują konkretny plan rozwoju i strukturę monitorowania postępów (na przykład codzienne spotkania). Podczas takich spotkań będą odpowiadać na pytania, takie jak: co zostało i zostanie zrobione, które zadania zostaną wykonane przez kogo, jakie możliwe problemy zostały (lub mogą zostać) napotkane i kto potrzebuje pomocy przy których zadaniach.
>
Dobrym pomysłem jest przygotowanie podsumowania planowania Sprintu. Takie podsumowanie może zawierać następujące elementy:
- Ustalenie Celu Sprintu – Po dyskusji, uzgodniliśmy uzyskanie „XYZ” jako cel sprintu;
- Pobieranie elementów z backlogu do bieżącego Sprintu – Aby uzyskać Cel Sprintu omówiliśmy & dopracowaliśmy XX elementów backlogu i przesunęliśmy je do Bieżącego.
- Zgodziliśmy się, że musimy skupić się na elemencie XYZ ze względu na zależności i możliwości blokowania.
- Wybór priorytetów dla sprintu +1 i sprintu badawczego – Po dyskusji wybraliśmy XX nowych elementów dla sprintu +1 i sprintu badawczego, które wydają się być najważniejsze w następnej fazie rozwoju (do szczegółowego omówienia na następnym Planowaniu Sprintu).
Co to są Przeglądy Sprintu?
Jak wskazuje nazwa, Przeglądy Sprintu oceniają wyniki Sprintów. Podczas Przeglądów Sprintu zespół:
- przedstawia osiągnięcia Sprintu
- przekazanie informacji zwrotnych dotyczących nowych wdrożeń
- wprowadzenie planów dotyczących celu produktu (dostosowanie się do niego lub dostosowanie go).
Kluczową cechą Przeglądów Sprintu jest znaczenie uczestnictwa całego zespołu. Wszyscy członkowie zespołu są zaangażowani w tworzenie produktu, dlatego wszyscy członkowie mogą dzielić się swoimi punktami widzenia na miniony Sprint. Kluczowym zadaniem jest upewnienie się, że Przeglądy Sprintu nie przypominają prezentacji Scrum Mastera. Nie są to spotkania, które „powinny być mailami”. Chodzi o to, aby zaangażować cały zespół, uzyskać cenny wkład i prowadzić przyszłe sprinty w sposób gwarantujący stworzenie najlepszego produktu dla klienta.
>
Jak powinny wyglądać przeglądy sprintów w zwinnym cyklu życia oprogramowania?
Jak najlepiej wykorzystać Przeglądy Sprintu? Przyjrzyjmy się przykładowej agendzie Przeglądu Sprintu poniżej:
Demo
Jest to rodzaj wprowadzenia, które przedstawia opracowane funkcje i wykonane zadania. Ta część powinna być przedstawiona przez nietechnicznego użytkownika, aby klient, który może nie być zbyt biegły w kwestiach technicznych, mógł zrozumieć, na czym polegał Sprint.
>
Sesja feedbackowa
Podczas sesji informacji zwrotnej zespół omawia kilka aspektów Sprintu. Przeanalizujmy te aspekty w oparciu o konkretne pytania, na które zespół powinien spróbować odpowiedzieć:
- Rozwinięte funkcje, wykonane zadania: Czy jakość opracowanych funkcji/wykonanych zadań odpowiada standardom? Czy Sprint zakończył się osiągnięciem Celu Sprintu?
- niedopracowane funkcje, niewykonane zadania: Czy oszacowanie zadań lub funkcji było prawidłowe? Czy Sprint został prawidłowo zaplanowany? Czy zmiana zakresu, specyfikacji zadania lub celu Sprintu nastąpiła podczas Sprintu?
- identyfikacja kwestii, którymi należy się zająć podczas Retrospektywy Sprintu: Czy jakość wydarzeń Scrum była niska? Czy wystąpił brak informacji zwrotnej lub błędna komunikacja między klientem / właścicielem produktu a zespołem? Czy jakość specyfikacji pozycji zaległości lub priorytetyzacji była niska?
.
.
.
Dostosowania Backlogu Produktu
Ta faza Przeglądu Sprintu powinna koncentrować się na strategii dla przyszłych sprintów w celu usprawnienia procesów. Zespół zadaje pytania, takie jak:
>
- Co zrobić z funkcjami, które nie zostały opracowane lub zadaniami, które nie zostały wykonane (Backlog / pozostawione w bieżącym / dług techniczny itp.)?
.
- Czy informacje zwrotne powinny zostać dopracowane do możliwych nowych pozycji Backlogu Produktu? Jak dostosować cel/strategię produktu?
.
Podobnie jak w przypadku planowania Sprintu, Przeglądy Sprintu również powinny zawierać podsumowanie. Spójrz na poniższy przykład, aby zobaczyć, z czego powinno się ono składać:
- Zamknięte zadania & Cel Sprintu:
Podczas tego Sprintu zamknęliśmy XX zadań.
Cel Sprintu został osiągnięty/nie został osiągnięty poprzez zamknięcie tych zadań/nie został nawet zdefiniowany.
- Niedokończone zadania:
Oczekujemy na odpowiedzi (od XX, YY i ZZ) dotyczące zadań XX – pozostają one w bieżącym sprincie
>
Nie było wystarczająco dużo czasu na ukończenie XX zadań (nie były one kluczowe dla osiągnięcia Celu Sprintu)
XX zadania (stały się znacznie większe/zmieniono ich zakres), niż początkowo zakładano – będą musiały zostać podzielone na XX zadań; nadal trwają wyjaśnienia
- Kwestie do omówienia podczas Retrospektywy Sprintu:
Zgodziliśmy się, że musimy skupić się na 1X, 2X i 3X, aby mieć lepszą jakość Sprintów.
Sailing Byte – ekspert w dziedzinie zwinnego cyklu życia oprogramowania
Sprinty to najlepszy sposób na przeniesienie rozwoju produktu na wyższy poziom. Szybkie i skuteczne, krótkie i wnikliwe. Dobrze zaplanowany Sprint jest przyjemnością i fantastyczną motywacją dla wszystkich członków zespołu Agile. Ale być może najważniejszą częścią każdego Sprintu jest to, że wykonuje on swoją pracę. Każdy dobrze przeprowadzony Sprint ma pozytywny wpływ na wynik rozwoju produktu. Sailing Byte przeprowadził wiele Sprintów i Przeglądów Sprintów w każdym projekcie. Historie sukcesu są dowodem na skuteczność tego procesu. Zarezerwuj telefon już dziś, aby omówić swoje pomysły i dowiedzieć się, w jaki sposób przeprowadzane przez nas sprinty pozwolą Ci uzyskać idealny produkt w krótkim czasie.