Co to jest Kanban?

Kanban jest japońskim terminem, który oznacza tablicę znakową lub billboard. Inżynier przemysłowy o imieniu Taiichi Ohno opracował Kanban w Toyota Motor Corporation, aby poprawić wydajność produkcji.

Chociaż kanban został utworzony na potrzeby produkcji, programowanie oprogramowania ma wiele tych samych celów, takich jak zwiększenie przepływów i przepływności. Zespoły deweloperów oprogramowania mogą poprawić swoją wydajność i szybciej dostarczać użytkownikom wartość, korzystając z zasad i metod kanban.

Image that shows people using Kanban boards.

Zasady kanban

Przyjęcie kanbanu wymaga przestrzegania niektórych podstawowych praktyk, które mogą różnić się od poprzednich metod zespołów.

Wizualizowanie pracy

Zrozumienie stanu zespołu deweloperów i postępu pracy może być trudne. Postęp pracy i bieżący stan są łatwiejsze do zrozumienia w przypadku wizualizacji, a nie jako listy elementów roboczych lub dokumentu.

Wizualizacja pracy jest kluczową zasadą, którą kanban adresuje przede wszystkim za pomocą tablic Kanban. Te tablice używają kart zorganizowanych według postępu w celu komunikowania ogólnego stanu. Wizualizowanie pracy jako kart w różnych stanach na tablicy pomaga łatwo zobaczyć ogólny obraz miejsca, w którym obecnie stoi projekt, a także zidentyfikować potencjalne wąskie gardła, które mogą wpłynąć na produktywność.

Diagram showing a Kanban board.

Korzystanie z modelu ściągania

W przeszłości osoby biorące udział w projekcie zażądały funkcjonalności, pchając pracę do zespołów programistycznych, często z napiętymi terminami. Jakość ucierpiała, jeśli zespoły musiały podjąć skróty, aby zapewnić funkcjonalność w przedziale czasu.

Kanban koncentruje się na utrzymaniu uzgodnionego poziomu jakości, który należy spełnić przed rozważeniem wykonania pracy. Aby zapewnić obsługę tego modelu, uczestnicy projektu nie wypychają pracy nad zespołami, które już pracują nad pojemnością. Zamiast tego uczestnicy projektu dodają żądania do listy prac, którą zespół pobiera do przepływu pracy, gdy pojemność stanie się dostępna.

Nakładanie limitu funkcji WIP

Zespoły, które próbują pracować nad zbyt wieloma rzeczami jednocześnie, mogą cierpieć na zmniejszoną produktywność z powodu częstego i kosztownego przełączania kontekstu. Zespół jest zajęty, ale praca nie jest wykonywana, co powoduje niedopuszczalne wysokie czasy realizacji. Ograniczenie liczby elementów listy prac, nad które zespół może pracować w danym momencie, pomaga zwiększyć fokus przy jednoczesnym zmniejszeniu przełączania kontekstu. Elementy, nad którymi obecnie pracuje zespół, są nazywane pracą w toku (WIP).

Zespoły decydują o limicie funkcji WIP lub maksymalnej liczbie elementów, nad którymi mogą pracować jednocześnie. Dobrze zdyscyplinowany zespół gwarantuje, że nie przekroczy limitu funkcji WIP. Jeśli zespoły przekraczają limity funkcji WIP, badają przyczynę i pracują, aby rozwiązać główną przyczynę.

Mierzenie ciągłego ulepszania

Aby ćwiczyć ciągłe ulepszanie, zespoły deweloperów potrzebują sposobu mierzenia skuteczności i przepływności. Tablice Kanban zapewniają dynamiczny widok stanów pracy w przepływie pracy, dzięki czemu zespoły mogą eksperymentować z procesami i łatwiej oceniać wpływ na przepływy pracy. Zespoły, które obejmują Kanban na potrzeby ciągłego ulepszania, używają pomiarów, takich jak czas realizacji i czas cyklu.

Tablice Kanban

Tablica Kanban jest jednym z narzędzi używanych przez zespoły narzędzi do implementowania praktyk Kanban. Tablica Kanban może być tablicą fizyczną lub aplikacją programową, która pokazuje karty ułożone w kolumny. Typowe nazwy kolumn to To-Do, Doing i Done, ale zespoły mogą dostosować nazwy tak, aby odpowiadały stanom przepływu pracy. Na przykład zespół może wolisz używać polecenia New, Development, Testing, UAT i Done.

Karty wyświetlające tablice Kanban oparte na oprogramowaniu, które odpowiadają elementom listy prac produktu. Karty zawierają linki do innych elementów, takich jak zadania i przypadki testowe. Zespoły mogą dostosowywać karty tak, aby zawierały informacje istotne dla ich procesu.

Screenshot of a software development Kanban board.

Na tablicy Kanban limit funkcji WIP ma zastosowanie do wszystkich kolumn w toku. Limity funkcji WIP nie mają zastosowania do pierwszych i ostatnich kolumn, ponieważ te kolumny reprezentują pracę, która nie została uruchomiona lub została ukończona. Tablice Kanban pomagają zespołom pozostać w granicach funkcji WIP, zwracając uwagę na kolumny, które przekraczają limity. Zespoły mogą następnie określić przebieg akcji, aby usunąć wąskie gardło.

Diagramy przepływu skumulowanego

Typowym dodatkiem do tablic Kanban opartych na programach programistycznych jest wykres nazywany diagramem przepływu skumulowanego (CFD). CFD ilustruje liczbę elementów w każdym stanie w czasie, zwykle w ciągu kilku tygodni. Oś pozioma pokazuje oś czasu, a oś pionowa pokazuje liczbę elementów listy prac produktu. Kolorowe obszary wskazują stany lub kolumny, w których obecnie znajdują się karty.

CFD jest szczególnie przydatne do identyfikowania trendów w czasie, w tym wąskich gardeł i innych zakłóceń w zakresie szybkości postępu. Dobry CFD pokazuje spójny trend w górę, podczas gdy zespół pracuje nad projektem. Kolorowe obszary na wykresie powinny być w przybliżeniu równoległe, jeśli zespół pracuje w ramach limitów funkcji WIP.

Image showing a cumulative flow diagram.

Wybrzuszenie w jednym lub kilku kolorowych obszarach zwykle wskazuje wąskie gardło lub przeszkodę w przepływie zespołu. W poniższym CFD ukończona praca w kolorze zielonym jest płaska, podczas gdy stan testowania na niebiesko rośnie, prawdopodobnie ze względu na wąskie gardło.

Image showing a bottleneck in a cumulative flow diagram.

Kanban i Scrum w tworzeniu aplikacji Agile

Chociaż szeroko dopasowane pod parasolem rozwoju Agile , Scrum i Kanban są zupełnie inne.

  • Scrum koncentruje się na przebiegach o stałej długości, podczas gdy Kanban jest modelem ciągłego przepływu.
  • Scrum ma zdefiniowane role, podczas gdy Kanban nie definiuje żadnych ról zespołu.
  • Scrum używa prędkości jako kluczowej metryki, podczas gdy Kanban używa czasu cyklu.

Zespoły często przyjmują aspekty zarówno Scrum, jak i Kanban, aby pomóc im w najbardziej efektywnej pracy. Niezależnie od tego, które cechy wybierają, zespoły mogą zawsze przeglądać i dostosowywać się do momentu znalezienia najlepszego dopasowania. Zespoły powinny zacząć od prostych i nie tracić wzroku na znaczenie regularnego dostarczania wartości użytkownikom.

Kanban z usługą GitHub

Usługa GitHub oferuje środowisko Kanban za pośrednictwem tablic projektów (wersja klasyczna). Te tablice ułatwiają organizowanie i określanie priorytetów pracy na potrzeby tworzenia określonych funkcji, kompleksowych planów działania lub list kontrolnych wydań. Możesz zautomatyzować tablice projektów (klasyczne) w celu zsynchronizowania stanu karty ze skojarzonymi problemami i żądaniami ściągnięcia.

Kanban z usługą Azure Boards

Usługa Azure Boards udostępnia kompleksowe rozwiązanie Kanban do planowania metodyki DevOps. Usługa Azure Boards ma głęboką integrację w usłudze Azure DevOps i może być również częścią integracji usługi Azure Boards-GitHub.