Agile to jedna z najbardziej znanych metod tworzenia oprogramowania. Pozwala na szybkie i łatwe wdrażanie, zarządzanie i wprowadzanie zmian w danym elemencie technologii. Istnieje jeszcze jedna kluczowa część podejścia zwinnego, zwana zwinną retrospektywą. Dzisiaj rzucę nieco więcej światła na jej szczegóły i niuanse.
>
„Dawno, dawno temu w odległej galaktyce…” – Kilka słów o modelu wodospadowym wytwarzania oprogramowania
>
Nie moglibyśmy rozpocząć tematu retrospektywnych procesów Agile bez opowiedzenia, jak Agile się zaczęło. We wczesnych dekadach rozwoju oprogramowania, prawie każdy deweloper używał modelu zwanego ‘waterfall’. Główne zasady tego modelu mówią, że aby rozpocząć nową fazę rozwoju, poprzednia musi zostać zakończona. Dopiero po zakończeniu wszystkich faz, klient może odebrać efekt naszej pracy.
Taka strategia doskonale sprawdza się w wielu dziedzinach życia, zwłaszcza jeśli chodzi o tworzenie, czy budowanie. Przykładowo, nikt nie przedstawi klientowi niedokończonego obrazu ani nie poprosi go o wprowadzenie się do domu bez dachu.
Jak zaczęło się agile
Przez lata model kaskadowy okazał się nie być najlepszym rozwiązaniem w tworzeniu oprogramowania. Dlaczego? Ponieważ oprogramowanie nie wymaga całkowitego ukończenia, aby było funkcjonalne. Zamiast tego składa się z warstw (funkcjonalności), które można dodawać z czasem i stopniowo ulepszać produkt. W ten sposób klient nie musi długo czekać na wydanie swojego produktu. Może również zmienić oczekiwania wobec produktu w oparciu o efekt, który może zobaczyć, a nie tylko sobie wyobrazić. Takie możliwości pomagają stworzyć oprogramowanie najlepiej dopasowane do jego potrzeb.
Potrzeba rozwiązania spełniającego ciągle zmieniające się wymagania w ciągle zmieniającej się rzeczywistości XXI wieku – jest powodem powstania modelu zwinnego.
>
Dwanaście zasad Manifestu Agile
W 2001 roku grupa programistów ustaliła zasady nowego podejścia, Manifest Agile. Składał się on z dwunastu punktów, które podkreślały:
- Interakcje między deweloperami
- Funkcjonalność stworzonego oprogramowania
- Efektywna współpraca z Klientami
- Usprawnienie reakcji na zmieniające się wymagania
Wszystkie powyższe miały priorytet zamiast:
- przestrzeganie ścisłych procesów i ustalonych planów
- przecenianie wartości szczegółowej dokumentacji i negocjacji umów
Ostatnia zasada Manifestu Agile brzmi:
- W regularnych odstępach czasu zespół zastanawia się, jak stać się bardziej efektywnym, a następnie dostraja i odpowiednio dostosowuje swoje zachowanie.
Powyższe jest powodem, dla którego zwinna retrospektywa została wprowadzona i jest ważną częścią zwinnego tworzenia oprogramowania.
Co to jest zwinna retrospektywa?
Każdą czynność lub zadanie, które wykonujemy, można zrobić lepiej. Refleksja nad istniejącymi procesami i ich ulepszanie jest tym, co ludzie nieustannie robią. Dokonujemy retrospekcji nawet tego nie zauważając. Na przykład, robiąc zakupy w nowym sklepie, nie znamy cen produktów, nie wiemy, gdzie je znaleźć, jak długa będzie kolejka itp. Jednak po miesiącu chodzenia na zakupy podświadomie doskonalimy nasze umiejętności zakupowe. Potrafimy tworzyć listy zakupów zgodnie z układem sklepu, dokładnie wiedzieć, ile pieniędzy wydamy i ocenić, kiedy odwiedzić sklep, aby uniknąć długich kolejek. Wszystko to w oparciu o naszą retrospektywę.
Zwinna retrospektywa to proces, w którym grupa programistów współpracuje nad tym, jak mogliby poprawić swoją przyszłą pracę. Odbywa się ona po zakończeniu określonej fazy rozwoju produktu. Takie fazy w zwinnym rozwoju nazywane są sprintami i trwają około 2-4 tygodni.
Znaczenie zwinnych retro
Głównym powodem organizowania zwinnych retro jest usprawnienie pracy. Dzięki retrospektywnemu podejściu zwinnemu zasady mogą być wykonywane lepiej. Zespół szybciej opracuje lepsze produkty, a wszystkie procesy będą bardziej wydajne i opłacalne.
Co więcej, każdy w zespole może zabrać głos i podzielić się swoimi opiniami lub wnioskami. Dzięki temu członkowie zespołu czują się równie ważni, co ma pozytywny efekt psychologiczny. Co więcej, zespół tworzy silniejszą więź i pracuje wydajniej.
Efektywny przegląd sprintu pomaga również w planowaniu przyszłych sprintów. Uwzględnianie opinii członków zespołu i dostosowywanie przepływu pracy jest tym, o co chodzi w zwinności. Nie tylko jeśli chodzi o rozwój produktu, ale także o rozwój pracy zespołowej.
>
Jakie są tematy zwinnego retro?
Po pierwsze, zespół identyfikuje słabe momenty lub części. Członkowie zespołu dzielą się swoimi doświadczeniami dotyczącymi technicznych aspektów ich pracy i jakości współpracy. Zespół wskazuje nie tylko na problemy, ale także na pozytywne aspekty pracy. Niezależnie od tego, co dokładnie jest omawiane, najważniejsze jest to, że na koniec spotkania należy określić odpowiednie działania i rozwiązania. Dzięki temu pewne obszary pracy mogą zostać usprawnione podczas kolejnego sprintu.
Wskazówki dotyczące świetnego przeglądu sprintu agile
Recenzja zwinna jest raczej luźną formą spotkania, prowadzoną w celu swobodnego dzielenia się pomysłami na temat sprintu. Istnieje jednak kilka wskazówek, których należy przestrzegać, aby zmaksymalizować efektywność przeglądu sprintu.
Rób to często, ale krótko
.
Najlepiej być konsekwentnym w kwestii zwinnych retro, więc organizuj je za każdym razem, gdy kończysz sprint. Nie organizuj długich spotkań. Uczestnicy łatwo się znudzą. Jeśli agenda składa się z wielu punktów, najlepiej zaplanować przerwy pomiędzy nimi.
Przygotuj agendę
.
Twoje zwinne retro nie powinno być surowe, ale zabawne. Jednak dobra struktura pomaga w uwzględnieniu wszystkich pojawiających się kwestii. Sporządź listę problemów, które wymagają rozwiązania. Prowadź także notatki, które przydadzą się podczas następnego przeglądu sprintu.
Stwórz plan działania i bądź zdyscyplinowany w jego realizacji
.
Każde spotkanie jest bezowocne, jeśli nie ma czegoś na wynos. Każde zwinne retro powinno kończyć się planem działania. Co więcej, każdy członek zespołu powinien mieć wyznaczone obowiązki do wykonania lub kroki do podjęcia. To również tworzy wzajemne poczucie odpowiedzialności za wyniki całego zespołu.
Podtrzymuj współpracę
.
Zespół musi być zaangażowany i czuć się komfortowo dzieląc się swoimi odkryciami i pomysłami. Najlepszym pomysłem na utrzymanie zaangażowania jest wykorzystanie niektórych technik przeglądu sprintu. Czytaj dalej, aby poznać najlepsze z nich.
Najlepsze zwinne techniki retro dla skutecznego planowania sprintu
Proces doskonalenia nie ma końca, ponieważ zawsze będą jakieś zadania, które można wykonać lepiej. Nie oznacza to jednak, że znalezienie kłopotliwych obszarów zawsze będzie łatwe. W rzeczywistości jest wręcz przeciwnie. Im więcej przeglądów sprintu, tym trudniej jest wymyślić ulepszenia. Dlatego też istnieje kilka przepływów pracy, które stymulują zespoły i pomagają im dzielić się swoimi przemyśleniami.
Jedno słowo
Jest to świetna technika na rozpoczęcie spotkania podsumowującego sprint. Członkowie zespołu opisują swoje odczucia związane z minionym sprintem za pomocą jednego słowa. Technika ta angażuje wszystkich członków do uczestnictwa w zwinnym retro od samego początku.
>
Karty z pytaniami
Istnieje kilka kart pytań składających się z tematów dotyczących zasad zwinności. Każdy uczestnik losuje kartę i odpowiada na zawarte na niej pytanie.
Start, Stop, Continue
.
Ta aktywność prosi członków zespołu o zidentyfikowanie działań i kroków podjętych w przyszłych sprintach. Dzielą się one na trzy kategorie: te, które muszą zostać wdrożone (start), kontynuowane (continue) i zatrzymane (stop).
4 L
4 L’s oznaczają Liked, Learned, Lacked i Longed For. Członkowie zwinnego zespołu wskazują wszystkie elementy minionego sprintu, które należą do tych kategorii.
Potrzebujesz eksperta od zwinnego podejścia i zwinnego retro? Wybierz Sailing Byte!
Metodyki i techniki zwinne są bardzo mocno obecne w naszej codziennej pracy w Sailing Byte. Dzięki nim możemy budować aplikacje, strony internetowe i oprogramowanie idealnie dopasowane do Twoich potrzeb. Skontaktuj się z nami, jeśli masz jakiekolwiek pytania dotyczące zwinnego retro i tego, jak usprawnia ono nasz proces rozwoju produktu. Zaplanuj czas na spotkanie, aby omówić swoje pomysły na oprogramowanie.