Zdecydowałeś się przejść na Agile. Ale jaki rodzaj Agile? Istnieje wiele metodologii i technik, które można zastosować, aby być Agile.

Powinienem wspomnieć, że zwinność nie dotyczy tylko prowadzonego projektu. Powinna ona obejmować całą organizację. Ponadto, przejście na Agile to proces. To jak niekończąca się podróż w kierunku doskonałości. W tym przypadku do zwinności.

Możesz wybierać spośród wielu metodologii i frameworków, które zwiększają zwinność. Wiele z nich istniało na rynku zanim jeszcze ukuto termin Agile Software Development

W tym artykule omówiłem dwa bardzo popularne podejścia: Kanban i Scrum. Zanim skończysz czytać ten artykuł, dowiesz się, jakie są główne różnice między Kanbanem a Scrumem.

Spis treści

Czym jest Kanban w tworzeniu oprogramowania?

Kanban powstał w fabrykach Toyoty w latach 40. ubiegłego wieku. Karty Kanban miały usprawnić proces produkcji, a zwłaszcza logistykę. Pomysł polegał na dostarczaniu dostaw dokładnie na czas. Aby to zrobić, trzeba przestać pchać je z magazynu do pracowników i zacząć ciągnąć.

Kiedy konkretny pracownik osiągnął próg części, które miał na stanie, sięgał po kartę Kanban i przekazywał ją do magazynu, aby odebrać zamówienie. Tylko wtedy magazyn mógł zamówić kolejną partię materiałów od dostawcy, aby otrzymać je tuż przed opróżnieniem magazynu. Ale to było w latach 40. w fabrykach motoryzacyjnych.

Wraz z pojawieniem się firm technologicznych i informatycznych w latach 90-tych, lean management został włączony do wspierania rozwoju oprogramowania. Rozwiązania znane z przemysłu motoryzacyjnego zostały dostosowane do rzeczywistości produktów niematerialnych, a mianowicie oprogramowania lub rozwiązań sieciowych.

Kanban koncentruje się na pracy wykonywanej w danym momencie oraz identyfikacji wąskich gardeł i kopii zapasowych. 

Zadania są zwykle priorytetyzowane przez menedżera produktu, który może na bieżąco dostosowywać listę zadań, aby zmaksymalizować wydajność zespołu. Zespół może jednocześnie pracować tylko nad określoną liczbą zadań, zwanych Work In Progress (WIP). Ograniczony WIP pomaga zespołowi utrzymać koncentrację, a menedżerowi zidentyfikować wąskie gardła. Bez sprintów o stałej długości, Kanban świetnie pasuje do praktyk CI/CD.

Jakie są elementy Kanban?

W przeciwieństwie do wielu metodologii zarządzania projektami, w Kanban nie ma obowiązkowych ról. Chociaż Kanban nie narzuca żadnych ról w zespole lub organizacji i jest bardzo elastyczny w zastosowaniu, ma pewne elementy, które sprawiają, że działa. Są to tablica Kanban i karty Kanban. Posiada również wskaźniki Kanban Metrics, które powinny być monitorowane w celu znalezienia wąskich gardeł i utrzymania efektywności procesu.

Czym jest tablica Kanban?

Tablica Kanban jest głównym elementem tego podejścia. Jej głównym celem jest wizualizacja pracy wykonywanej przez zespół. Tablica składa się z zestawu kolumn reprezentujących kolejne etapy oraz kart reprezentujących zadania.

Kolumny reprezentujące przepływ pracy powinny być nazwane w sposób odpowiadający potrzebom zespołu/organizacji. W najprostszym przepływie etapy to:

  • Do zrobienia
  • W toku
  • Kompletny

Ze względu na rozwój oprogramowania, możesz dodać Peer Review, Testing lub kolumny dla wydań na różnych środowiskach. Kolumny na tablicy Kanban powinny przedstawiać proces, który faktycznie ma miejsce w organizacji.

W złożonych procesach dobrze jest mieć więcej kolumn, ponieważ zwiększy to zdolność do identyfikowania wąskich gardeł. 

Każda kolumna powinna mieć pojemność opisaną przez limit WIP. Jest to maksymalna liczba kart, które mogą pojawić się w tej kolumnie w tym samym czasie. Jest to jeden ze sposobów identyfikacji wąskich gardeł i utrzymania koncentracji zespołu.

Celem zespołu jest przeciągnięcie zadań z puli zaległości i przejście przez wszystkie kolumny aż do ukończenia.

Tablica Kanban może być fizyczna lub cyfrowa. To od ciebie zależy, którą z nich preferujesz. Fizyczna tablica jest łatwa do samodzielnego wykonania. Zaletą fizycznej tablicy jest to, że jej zmiana wymaga fizycznej obecności - co daje sygnał innym członkom zespołu, że coś się zmieniło. Tablice cyfrowe mogą być łatwo udostępniane na wielu urządzeniach i często umożliwiają szczegółowe śledzenie. Jeśli zdecydujesz się na tablicę cyfrową, dobrym pomysłem jest wyświetlenie jej na osobnym monitorze lub telewizorze w bardzo widocznym miejscu, aby każdy członek zespołu widział ją przez cały czas.

Czym są karty Kanban?

Karty Kanban reprezentują jednostki pracy. Każda z nich zawiera krótki opis konkretnego zadania: jego właściciela, rezultaty, termin wykonania itp. Zgodnie z zasadą przejrzystości Kanban, tablica i karty muszą być dostępne dla każdego członka zespołu, aby każdy mógł zobaczyć, co dzieje się w projekcie.

Są to wizualne reprezentacje, które pomagają członkom zespołu zrozumieć przepływ pracy. Karty Kanban przesuwają się po tablicy Kanban, wizualizując przepływ.

Czym są wskaźniki Kanban?

Istnieje wiele wskaźników i KPI mających zastosowanie do metody Kanban. Większość z nich można stosować zamiennie z innymi metodologiami. Tutaj wspomnę tylko o tych specyficznych dla Kanban:

  • WIP (Work In Progress) informuje o liczbie zadań, nad którymi pracuje zespół. Możesz śledzić go dla wszystkich etapów razem lub dla każdego z nich osobno;
  • Lead Time to informacja o tym, ile czasu dana karta spędza na tablicy Kanban, od złożenia zamówienia do jego ukończenia;
  • Czas cyklu wskazuje, jak długo trwała praca nad danym zadaniem;
  • Przepustowość to liczba jednostek pracy reprezentowanych przez karty Kanban, które przeszły przez tablicę Kanban w danym czasie, np. w ciągu tygodnia.

Czym jest Scrum?

Scrum to framework stworzony przez Jeffa Sutherlanda, Johna Scumniotalesa i Jeffa McKennę na początku lat 90-tych. Został on później opracowany przez Sutherlanda i Kena Schwabera, którzy przedstawili artykuł "The SCRUM Development Process" w 1995 roku. Obaj uczestniczyli w spotkaniu w 2001 roku, kiedy ogłoszono Manifest Agile.

Obecnie Scrum jest prawdopodobnie najpopularniejszą implementacją Agile.

Scrum ma na celu uproszczenie procesu rozwoju złożonych produktów, takich jak oprogramowanie. Opiera się na zestawie sztywnych reguł, zdarzeń, artefaktów i ról. Interakcje między wszystkimi elementami są jasno opisane. Opiszę najważniejsze cechy i metryki specyficzne dla Scrum. W ten sposób zrozumiesz najważniejsze idee tego frameworka.

Czym są artefakty Scrum?

Backlog dla produktu i sprintu - Backlog to lista produktów wymaganych dla produktu lub danego sprintu. Właściciel Produktu jest odpowiedzialny za tworzenie i zarządzanie Backlogiem Produktu.

User Stories - są to opisy konkretnej użyteczności z punktu widzenia klienta lub użytkownika. Jest to coś więcej niż tylko zestaw wymagań, ponieważ opiera się na doświadczeniu użytkownika. Powinny one zawierać rolę użytkownika, wykonywaną czynność i pożądane osiągnięcie.

Przyrost / Cel Sprintu - jest to cel, który ma zostać osiągnięty do końca sprintu. Przyrost może również zawierać metryki, tj. informacje o tym, czy cel został osiągnięty.

Czym są wydarzenia Scrum?

Projekty Scrum są podzielone na mniejsze części pracy zwane sprintami. Te z kolei składają się z jeszcze mniejszych wydarzeń, zwanych Ceremoniami Scrum.

Planowanie sprintu - członkowie zespołu wybierają historyjki użytkownika, które mają zostać dostarczone w ramach sprintu. Cały zespół omawia, które historie są najważniejsze i najpilniejsze.

Sprint - zamknięta część pracy, która zwykle trwa do kilku tygodni. Pożądane jest wydanie nowych elementów działającego oprogramowania pod koniec każdego Sprintu. Sprint powinien być zaplanowany w taki sposób, aby zespół był w stanie dostarczyć wszystkie historyjki na czas.

Daily Scrum - codzienne spotkania zespołu deweloperskiego i Scrum Mastera. Zazwyczaj odbywają się w formie krótkich spotkań stand-up, aby na bieżąco informować wszystkich o postępach i przeszkodach.

Przegląd Sp rintu - jest to spotkanie, które odbywa się po każdym Sprincie. Celem jest zebranie w jednym miejscu Zespołu Deweloperskiego, Scrum Mastera, Właściciela Produktu i wszystkich interesariuszy w celu omówienia rezultatów i Celów Sprintu. Głównym pytaniem na tym spotkaniu jest to, czy Cele Sprintu zostały osiągnięte.

Retrospektywa Sprintu - zwykle po Przeglądzie Sprintu odbywa się jeszcze jedno spotkanie. Tym razem tylko dla zespołu deweloperskiego. Celem jest przegląd procesu rozwoju z perspektywy czasu i znalezienie sposobów na jego ulepszenie w przyszłości.

Czym są role w Scrumie?

W przeciwieństwie do Kanbana, Scrum narzuca role potrzebne w projekcie. 

Product Owner - PO jest odpowiedzialny za backlog, jego tworzenie i zarządzanie nim. Jest on jedynym źródłem prawdy o ostatecznym kształcie produktu. PO powinien mieć prawo do podejmowania wszelkich decyzji dotyczących produktu. Jego rolą jest reprezentowanie klienta w procesie.

Scrum Master - Głównym obowiązkiem Scrum Mastera jest upewnienie się, że wszyscy zaangażowani rozumieją zasady Scrum i odpowiednio je stosują. Co więcej, Scrum Master ma za zadanie zapewnić dobre relacje pomiędzy Zespołem Deweloperskim a Właścicielem Produktu, zapewnić Zespołowi przestrzeń roboczą wolną od zakłóceń i rozpraszaczy, a także usuwać ewentualne przeszkody, aby jego praca była wydajna. Scrum Master jest odpowiedzialny za przeprowadzanie wszystkich Ceremonii Scrum i usprawnianie procesu.

Zespół programistów - samoorganizujący się i wielofunkcyjny zespół. Powinien składać się ze specjalistów posiadających wszystkie umiejętności wymagane do powodzenia projektu.

Czym są metryki Scrum?

Podobnie jak w przypadku Kanbana, istnieje wiele wskaźników i KPI przydatnych w zarządzaniu projektami. Tutaj skupię się na trzech specyficznych dla Scruma.

Velocity - to liczba Story Points (używanych do szacowania User Stories) ukończonych w danym Sprincie. Można ją śledzić i porównywać pomiędzy kolejnymi Sprintami. Po kilku Sprintach, gdy Zespół Deweloperski osiągnie pełną prędkość, a Velocity jest stabilne, można je wykorzystać jako miarę do Planowania Sprintu.

Sprint burndown - ten diagram jest sposobem na śledzenie ukończenia pracy w trakcie sprintu. Wykres ten powinien być również porównywany pomiędzy Sprintami. Na podstawie tego wykresu można wcześnie zauważyć potencjalne problemy z osiągnięciem celów Sprintu i zidentyfikować wąskie gardła.

Cele sprintu Sukces - w ilu sprintach zespół spełnił wymagania dotyczące sukcesu i dostarczył działający produkt? Do śledzenia przez cały czas trwania projektu.

Kanban vs Scrum: co jest lepsze?

Agile nie dotyczy tylko jednego projektu, ale może i powinien wpływać na całą firmę. Zarówno Kanban, jak i Scrum są skutecznymi narzędziami, które można wykorzystać do przekształcenia organizacji i poprawy jej wydajności. Które z nich jest najlepsze dla twojego projektu i firmy? W naszym następnym artykule przeprowadzimy Cię przez proces dokonywania właściwego wyboru. W międzyczasie możesz zapytać naszych ekspertów o radę.

P: Czym jest Kanban w tworzeniu oprogramowania?

Kanban to metoda rozwoju oprogramowania, która powstała w fabrykach Toyoty w latach 40. ubiegłego wieku, gdzie została wykorzystana do usprawnienia procesu produkcyjnego i logistyki. Kanban koncentruje się na pracy wykonywanej w danym momencie oraz identyfikacji wąskich gardeł i kopii zapasowych.

P: Jakie są elementy systemu Kanban?

Kanban ma kilka kluczowych elementów, które sprawiają, że działa, w tym tablicę Kanban, karty Kanban i wskaźniki Kanban. Tablica Kanban wizualizuje pracę wykonywaną przez zespół i składa się z kolumn reprezentujących kolejne etapy oraz kart reprezentujących zadania. Metryki Kanban służą do monitorowania procesu i identyfikowania wąskich gardeł.

P: Czym jest Scrum?

Scrum to zwinna struktura do zarządzania i realizacji złożonych projektów. Jest powszechnie stosowany w tworzeniu oprogramowania, ale może być również stosowany w innych branżach. Scrum opiera się na zasadzie samoorganizujących się zespołów i kładzie nacisk na dostarczanie działającego oprogramowania na koniec każdego sprintu.

5/5 - (4 głosy)