Nie ma prostych rozwiązań, jeśli chodzi o wybór ram postępowania Agile dla zespołu Agile. Bez względu na to, czy korzystasz z metodyki Kanban, Scrum, czy też kombinacji jednej i drugiej, na przykład Scrumban lub Kanplan, Agile jest procesem zespołowym. Każdy zespół musi sam stwierdzić, które ramy postępowania sprawdzą się najlepiej jako fundament planowania, monitorowania i wydawania doskonałego oprogramowania.
Scrumban, Kanban czy Scrum
W metodyce Kanban dąży się do zapewnienia członkom zespołu tylko takiej ilości pracy, aby zespół przez cały czas pracował z maksymalną wydajnością. Zespoły korzystające z metodyki Kanban czerpią korzyści z elastycznego planowania, bardziej precyzyjnego określenia celów i pełnej przejrzystości, ponieważ to, co znajduje się na tablicy, zawsze jest kwestią priorytetową. Właśnie nad tym pracują programiści. Kanban to doskonałe rozwiązanie dla zespołów operacyjnych skupionych na ciągłym dostarczaniu przy zmieniających się priorytetach.
Z kolei w metodyce Scrum pracę dzieli się na szereg iteracji o stałej długości nazywanych sprintami. Najwyższy priorytet dla zespołu mają prace zaplanowane w ramach sprintu (np. konkretna funkcja lub grupa funkcji). Metodyka Scrum zazwyczaj sprawdza się najlepiej w zespołach produktowych, które mają wyraźnie określony harmonogram i których praca jest podzielona na konkretne fragmenty o ustalonym priorytecie.
Ale być może zespół najbardziej skorzystałby na połączeniu metodyk Scrum i Kanban? Lub może chciałby zmienić Scrum na Kanban? Jeśli te pytania pasują do Twojego zespołu, rozwiązaniem będzie Scrumban. Tę metodykę mieszaną można wdrożyć w praktyce na różne sposoby. Jednak do najczęstszych trendów w zespołach Scrumban należy zapożyczenie sprintów i backlogu z metodyki Scrum oraz limitów WIP i czasu cyklu z metodyki Kanban. (Uwaga: czas cyklu oznacza ilość czasu potrzebną na przejście zadania przez cały przepływ pracy zespołu).
A co z zespołami, które nie chcą pracować w sposób iteracyjny, ale wciąż zależy im na możliwości porządkowania backlogu? Rozwiązaniem może być metodyka Kanplan (lub aktywacja funkcji backlogu Kanban) w Jira.
Czym jest Kanplan?
Kanplan to metodyka mieszana dla zespołów programistycznych Agile. Podobnie jak Scrumban łączy ona elementy metodyk Scrum i Kanban. Kanplan to doskonałe rozwiązanie dla zespołów, które chcą mieć możliwość porządkowania backlogu, ale nie chcą pracować w sprintach.
Dlaczego Kanban to fundament, a nie sztywne ramy postępowania
Zespół inżynierów kompilacji w Atlassian odpowiada za platformę przeznaczoną do kompilowania, testowania i dostarczania oprogramowania Atlassian. Programiści polegają na niezawodnej infrastrukturze oraz szybkiemu procesowi ciągłej integracji (CI). Cztery lata temu oznaczało to 21 000 kompilacji miesięcznie. Obecnie ta liczba przekracza 150 000 kompilacji miesięcznie.
Tę zdolność do skalowania można wyjaśnić powiększeniem zespołu, zamianą systemu Subversion na Git, zautomatyzowaniem testowania i czymś mniej oczywistym: decyzją o przejściu z metodyki Scrum na Kanban. Charakter prac związanych z inżynierią kompilacji (na przykład doraźne wnioski, incydenty, prace innowacyjne) nie wpisywał się zbyt dobrze w ramy postępowania Scrum. W związku z tym zespół zdecydował się wprowadzić Scrumban, który szybko zamienił się w Kanban, ponieważ jego członkowie nie lubili pracować w sprintach. Okazało się jednak, że metodyka Kanban także nie była cudownym lekiem, na który liczyli. Podobnie jak wiele innych zespołów oni też starali się dostosować to rozwiązania do swojego sposobu pracy. Przeszli od jednej tablicy do wielu — tablicy inżynierów wsparcia, tablicy prac projektowych i innych — z różnymi przepływami pracy. Co jednak okazało się największą bolączką w przypadku wszystkich tablic? „Nieużytki”, jak określił to jeden z członków zespołu, które obejmowały niesklasyfikowane zgłoszenia, którym trzeba było nadać tryb gotowości do podjęcia pracy. Gdy coś znalazło się w kolumnie „W toku”, zespół ruszał z kopyta, jednak jego kolumna „Do wykonania” — kolumna nieużytków — była dokładnie tym, czym ją nazwano: nieużytkiem.
Zmień listę zadań do wykonania w backlog
Nasz zespół inżynierów kompilacji podejmował próby walki z długą i nieuporządkowaną listą zadań do wykonania za pomocą codziennych spotkań stand-up i cotygodniowych spotkań poświęconych planowaniu. Jak się okazało, to nie większej liczby spotkań potrzebowali, ale backlogu.
W tradycyjnym kształcie tablice Kanban nie mają funkcji backlogu, więc menedżerowie produktów, menedżerowie prac programistycznych i liderzy zespołów wykorzystywali do planowania zgłoszenia z pierwszej kolumny. Gdy lista się rozrastała, monitorowanie zgłoszeń i ustalanie ich priorytetu stawało się trudne. Zespół inżynierów kompilacji podzielił swoje tablice według różnych obszarów prac, jednak połączona tablica zespołu wciąż była ogromna (i wymagała mnóstwa przewijania).
W związku z tym, zamiast poszukiwać różnych sposobów reorganizacji zespołu, tablic czy wymyślania koła na nowo, zespół Jira zdecydował się wprowadzić backlogi do metodyki Kanban. Funkcja Kanplan obejmuje backlog w postaci szerokiej kolumny zawierającej zgłoszenia w widoku listy. W ten sposób tablica Kanban jest podzielona na dwa różne ekrany: backlog umożliwiający przeprowadzanie porządkowania backlogu oraz tablicę Kanban dla zespołu inżynierskiego, która służy do wybierania zadań i przenoszenia ich między różnymi etapami przepływu pracy.
Funkcja ta nie różni się niczym od backlogu tablicy Scrum w Jira. Przykładowo po kliknięciu ikony backlogu na pasku bocznym następuje przejście do szerokiej kolumny zgłoszeń w backlogu. Po uporządkowaniu backlogu można przeciągnąć zgłoszenia i upuścić je w kolumnie kolejnego etapu przepływu pracy.
Taka kombinacja ekranu backlogu z metodyki Scrum oraz tablicy Kanban w formie pojedynczej tablicy Agile działa jak backlog tablicy Scrum. Kliknięcie zgłoszenia powoduje wyświetlenie szczegółów na jego temat. Zogniskowane widoki, takie jak widok szczegółów zgłoszenia, umożliwiają każdemu członkowi zespołu szybsze wykonywanie zadań przy mniejszej rozpraszających elementów.
Na koniec warto również wspomnieć o zespołach niekorzystających z metodyki Scrum, które do porządkowania swoich wydań używają epików i wstępnie przypisanych wersji. W ich przypadku przydatne będą narzędzia dostępne na tablicach Scrum, takie jak wyświetlanie zgłoszenia czy szybka edycja. Dzięki prostej i szybkiej edycji menedżerowie produktów, menedżerowie prac programistycznych oraz inne osoby pracujące w trybie planowania mogą efektywnie zarządzać epikami oraz wersjami.
Chcesz dodać backlog do tablicy Kanban?
Postępuj zgodnie z tym samouczkiem, aby włączyć backlog w projekcie kanban:
Kanplan to, jak ujął to jeden z naszych klientów, „połączenie tego, co najlepsze z obu światów”. Zespół może przenosić karty bez trwających sprintów i wprowadzać zadania do backlogu, aby ułatwić planowanie. Taki sposób postępowania eliminuje „nieużytki”, z którymi borykał się zespół inżynierów kompilacji w Atlassian, a zespoły Kanban zyskują tryb planowania dotychczas nieznany w świecie Kanban. Wprowadza również nowy sposób pracy, który może przypaść do gustu zespołom czującym, że metodyki Kanban, Scrum czy Scrumban nie dają im podstawy do wykonywania pracy zgodnie z ich oczekiwaniami.
Dzięki udostępnieniu trybu planowania na tablicy Kanban zarówno zespoły zaznajomione z metodyką Kanban, jak i te, dla których jest ona nowością, mogą dostosować te ramy postępowania Agile do własnych potrzeb, zamiast dążyć do wdrożenia najlepszych praktyk, które niekoniecznie muszą się sprawdzić w ich zespole. Pamiętaj, że w programowaniu zgodnym z zasadami Agile ciągłe doskonalenie jest ważniejsze od najlepszych praktyk.