Odcinek 65. Prawo Little’a – hit czy kit?

W poszukiwaniu informacji o tym, jak może wyglądać przyszłość naszego projektu, liczba obsłużonych klientów czy czas realizacji zadania lubimy odwoływać się do wzorów i formuł. Jedną z nich jest Prawo Little’a, które możemy skutecznie zwizualizować na popularnym wykresie CFD (cumulative flow diagram), czyli skumulowanym wykresie przepływu. Czy to dobry prognostyk przyszłości dla każdego systemu? Dowiedz się do czego mogą przydać się Prawo Little’a i wykres CFD, ale też, jakie mają ograniczenia.

Nie taki wzór straszny…

Niezależnie od tego, czy jesteśmy klientem, członkiem zespołu lub osobą, która prowadzi jakiś zespół – lubimy przewidywać przyszłość. Niestety jako że jesteśmy w tym bardzo słabi (czy może być w ogóle inaczej?), to próbujemy posiłkować się wykresami czy stojącymi za nimi prawami.

Jednym z takich praw jest tzw. Prawo Little’a, które mówi o wzajemnej relacji średnich wartości:

  • ilości pracy w toku (liczby rozpoczętych, ale nie ukończonych zadań),
  • tempa ich dostarczania (ile zadań kończymy w jednostce czasu),
  • czasu realizacji (lead time).

Jeśli poszukacie opisu tego prawa w Wikipedii, czy innych źródłach możecie znaleźć trochę inne określenia. Dla jasności – te przedstawione powyżej są typowym językiem kanbaniarzy 🙂

Prawo to jest nierozerwalnie powiązane z popularnym w wielu narzędziach wykresem CFD (cumulative flow diagram). Patrząc na ów wykres możemy szybko i wizualnie zrozumieć, ile mamy zadań w różnych jej stanach (kolumnach na tablicy Kanban) oraz co działo się historycznie w naszym zespole czy projekcie.

Wykres ten powstaje przez bardzo prostą operacją pomiaru (np. na koniec każdego dnia), ile było zadań w każdym stanów i zbudowaniu z tych danych wielokolorowego paska. Dokonując tego pomiaru co dzień budujemy wykres tworzący mniej lub bardziej wielokolorowe wstęgi.

Przyglądając się wykresowi możemy zobaczyć zjawiska takie jak „zrzucanie paczki nowych zadań” lub też ich przekazywanie lub kończenie w taki sposób – to tak zwane schodki.

Możemy też dostrzec, gdzie praca się akumuluje, prawdopodobnie blokuje lub co najmniej starzeje, a więc w miejscach, gdzie któraś z kolorowych warstw puchnie (rośnie jej wysokość).

Obserwując również to, czy nasz wykres rozszerza się (rozbudowuje w pionie) lub też zwęża możemy nazwać go stabilnym lub nie.

Gdy zrozumiemy, jak ów wykres powstaje i co pokazuje często pojawia się stwierdzenie, że łatwo na nim zwizualizować prawo Little’a.

Prawo to mówi, że istnieje jasna relacja pomiędzy średnimi wartościami:

czas realizacji (lead time) = liczba zadań w toku (WIP) / tempo dostarczania (delivery rate)

prawo Little’a
Prawo Little'a i wykres CFD

Jeśli więc mamy jakieś określone tempo dostarczania wynikające np z wielkości zespołu, jego dostępności i będziemy zwiększać liczbę zadań w toku, to możemy spodziewać się wzrostu czasu realizacji.

Jeśli zaś skupimy się na mniejszej liczbie zadań to będą one płynęły szybciej.

Jaki jest Twój system?

Tyle teorii, która wydaje się (słusznie) prosta i pomocna. Teraz warto zastanowić się, do jakich systemów czy też sytuacji prawo Little’a się odnosi?

Warunkami, jakie musi spełnić system, by zasadne do jego opisu było prawo Little’a są:

  • pomiar czasu realizacji jest dokonywany dla wszystkich zadań pomiędzy tymi samymi punktami (momentami w ich przepływie) i w tych samych jednostkach,
  • zadania nie są „wstrzykiwane” do wnętrza systemu, a więc nie ma sytuacji, gdy ktoś zleca nam zajęcie się czymś od pewnego momentu – np wrzutka polegająca na testowaniu, bez developmentu,
  • zadania, które wpuściliśmy do systemu nie opuszczają go, dopóki nie przejdą przez cały system – zakładamy, że zadanie nie może zostać porzucone i usunięte z środka systemu,
  • system nie wykazuje trendu rosnącego lub malejącego tj. tempo spływania nowych zadań i ich kończenia są w dłuższym czasie zbalansowane, lub też jeśli popatrzymy na czasy realizacji to nie wykazują one trendu rosnącego – coraz dłuższe czasy, lub malejącego – coraz krótsze czasy,
  • i jeszcze jedna istotna rzecz, której nie znalazłem w najmądrzejszych nawet książkach – prawo Little’a operuje wartościami średnimi obserwowanymi w odpowiednio długim czasie* (sami musicie zdecydować, co to znaczy), ale też nie bierze pod uwagę tego, jak zadania są traktowane w systemie – a więc tego, czy wpływ na oczekiwania i czas realizacji mają priorytety (czy też klasy usług).

Jeśli jesteś na tym etapie tekstu warto zadać sobie pytanie:

Które z powyższych warunków spełnia mój system?

Z doświadczeń firm, które zaczynają mierzyć czasy przepływu, tempo dostarczania lub ilość rozpoczętych zadań czy inicjatyw, powiem, że niestety tylko pierwszy z powyższych punktów jest łatwo zrealizować.

Często przyczyną dla której szukamy pomocy jest właśnie „trendowanie” systemu – wzrost czasów realizacji lub poszukiwanie metody „na radzenie sobie z wrzutkami”, które nie kompromitowałoby realizacji zadań standardowych.

Pierwsze spojrzenia na wykres CFD pokazują więc system, który najczęściej rozwiera się im bliżej teraźniejszości.

Czyli co? Kit? Nie!

  1. Przede wszystkim wizualizacja pracy w postaci CFD jest bardzo dobrą diagnozą tego, gdzie jesteśmy. Kształt wykresu pokaże nam problemy, z jakimi się borykamy.
  2. Nawet jeśli nie spełniamy wszystkich warunków zakładanych przez prawo Little’a, to wiemy już, czym sterować! Nadal ograniczanie pracy w toku przy zachowanym tempie dostarczania będzie wpływało na czasy realizacji.
  3. Jeśli czasy realizacji dla zadań uprzywilejowanych (pilnych, priorytetowych) będą (a pewnie będą) dużo krótsze niż to, co wynika z prawa średnich, to pokazuje, że nie jesteśmy powolni ze wszystkim, ale czas realizacji zależy u nas nie od „rozmiaru” zadania, a raczej jego priorytetu.
  4. I co istotne – jeśli zrozumiemy, że nasz system nie jest stabilny, to nie w prawie Little’a szukajmy odpowiedzi na pytanie: „na kiedy to będzie”, a raczej odnośmy się do rozkładu obserwowanych czasów realizacji (histogram, scatterplot).

Jako inspirację podam, że czasem naszą (zdrową) ambicją jest doprowadzenie naszego systemu do stabilności nie dlatego, że ładnie wygląda, ale dlatego, że zaczniemy dzięki temu dostarczać wartość i pracować z większym komfortem.

A czy Ty śledzisz wykres CFD i czy jest dla Ciebie w jakiś sposób pomocny?

Pomóż innym, podziel się!


Leave a Reply

Masz feedback? Daj znać i nagraj się!