Kolejki i limity WIP, o których pisałem w poprzednich postach, składają się na główny wskaźnik problemów w przepływie w trakcie ich występowania. Pokazują, gdzie znajdują się wąskie gardła, oraz, jeszcze zanim to się stanie, gdzie dopiero one powstają. Wąskie gardła często ujawniają się poprzez nawarstwianie się prac przed nimi, kiedy w krokach za nimi brakuje zadań. Na poniższej tablicy można zauważyć, że na programowanie czeka wiele zadań, a nie ma nic gotowego do testowania.
W tym przykładzie programiści nie mogą rozpocząć nowych zadań, ponieważ złamaliby limit dwóch zadań. Krok po programowaniu (Testy) nie zawiera żadnych prac, ponieważ nic nie wychodzi z korku w kolumnie Programowanie.
Oto kilka rzeczy, które możesz zrobić, aby lepiej wykorzystać wąskie gardło (na podstawie M. Hammarberg, J Sunden pt.:”Kanban”, Wydawnictwo Helion 2015:):
- Upewnij się, że ludzie (role), którzy pracują w obszarze wąskiego gardła (w naszym przypadku testerzy), zawsze mają co robić — na przykład tworząc przed nimi kolejkę pracy.
- Buduj z jak największą jakością, aby zminimalizować obciążenie.
- Usuń lub przynajmniej ogranicz czynniki odwracające uwagę.
- Usuń utrudnienia, które przeszkadzają w pracy lub powodują, że zadanie musi czekać.
- Szczegółowo określaj priorytety dla wąskiego gardła, tak aby zawsze wykonywana była najważniejsza praca. Nie chcesz, aby ograniczenie marnowało czas na nie ważne prace, prawda? Pamiętaj, że ogranicza to prędkość całego systemu.
- Wyrównaj tempo dostarczania prac. aby praca mogła być wykonywana w równym tempie.
Kanban dynamicznie wykrywa wąskie gardła
Limity stanowią istotną różnicę pomiędzy tablicą Kanban a innymi tablicami typu storyboard. Ograniczenie ilości prac w toku (WIP) na każdym etapie procesu zapobiega nadprodukcji oraz szybko wykrywa wąskie gardła, tak że można im zapobiec zanim wymkną się spod kontroli.
Poniższa tablica ukazuje sytuację, gdzie deweloperzy i analitycy nie mogą wziąć więcej pracy do czasu zanim testerzy nie zwolnią otworu i nie wezmą się za nowy element roboczy. W tym momencie, deweloperzy i analitycy powinni szukać nowych sposobów pomocy testerom w ich pracy.
Zauważ, że podzieliłem niektóre kolumny na dwie części, aby wskazać elementy robocze w toku i te skończone i gotowe do przekazania do procesu następczego. Istnieje kilka różnych układów na tablicy. Jest to dość prosty sposób. Limity na górze podzielonych kolumn obejmują zarówno kolumny oczekujące jak i w trakcie prac.
Po skończeniu testowania funkcji przez testerów, przesuwają kartę na wolne miejsce w kolumnie „Test” (Testy).
Teraz puste miejsce w kolumnie „Test” może zostać wypełnione jedną z kart w kolumnie produkcji Wdrożone. To zwalnia miejsce pod Programowanie i następna karta może być przeciągnięta z kolumny Analiza, itd.
Buforuj swoje wąskie gardła
W związku z tym, że wąskie gardło jest tak ważne, jedną z rzeczy jakie chcemy zrobić jest upewnienie się, że rzadko (najlepiej nigdy) nie będzie brakowało mu pracy. Rzeczą wartą zapamiętania jest fakt, iż w naszym systemie Kanban celowo ograniczamy pracę w toku (WIP), a elementy robocze różnią się pod względem rozmiaru; a więc kilka przetwarzanych dużych elementów na wcześniejszym etapie procesu może tymczasowo zagłodzić wąskie gardło. Na omawianym przykładzie zastosowałem już bufor w postaci oczekuje. Problem polega na tym, że gdy limit jest ustawiony na cały etap obejmuje on zarówno prace w toku jak i bufor. Rozwiązaniem tej sytuacji jest przeniesienie limitów z całego etapu do kolumn opisujących prace w toku. Nikt nie ma pustego bufora i w danym momencie może mieć otwartych maksymalną liczbę zdań zgodną ze swoim WIP.
Każdy dodatkowy element WIP niesie za sobą karę w postaci czasu realizacji, tak więc zacznij od małych ilości i reguluj je w górę i w dół empirycznie. Inną rzeczą godną rozważenia jest podzielenie większych elementów roboczych na mniejsze elementy, lub odwrotnie – łączenie kilku małych elementów, aby stworzyły większe elementy. Zmniejszenie różnorodności rozmiarów elementów roboczych umożliwi zmniejszenie rozmiaru buforu.
Omówiony w tym poście to jeden z wielu możliwych sposobów przeciwdziałania wąskim gardłom. Kanban umożliwia sprawną wizualizację problemów. Oferuje też inne mechanizmy, oparte na wskaźnikach i raportach, które ułatwiają usprawnianie procesu. O wskaźnikach i raportowaniu napiszę w kolejnym poście.