W tym artykule przyjrzymy się bliżej Prawu Little’a (Little’s law), jego historii i zastosowaniu. Jest to bardzo istotne pojęcie dla wszystkich systemów kolejkowych, ale przyda nam się także do zarządzania pracą.
Czym jest Prawo Little’a?
Little’s law, znane również jako „Prawo Little’a dla systemów masowej obsługi”, zostało po raz pierwszy sformułowane przez Alana Cobhama, ale to Johna D.C. Little w 1961 roku udowodnił, że możemy zaobserwować je w każdym systemie kolejkowym. Little był amerykańskim naukowcem i inżynierem, który zajmował się badaniami operacyjnymi i zarządzaniem. Jego prace nad masowym przetwarzaniem danych i obsługą klientów doprowadziły do spopularyzowania zależności znanej pod jego nazwiskiem.
„Średnia liczba rzeczy/klientów w systemie jest równa iloczynowi średniego czasu przebywania w systemie oraz średniego tempa ich przybywania.” – Prawo Little’a
Prawo Little’a początkowo zostało sformułowane w kontekście systemów masowej obsługi, takich jak obsługa klientów w bankach, stacjach benzynowych lub sklepach. Jednak z czasem okazało się, że ma ono zastosowanie w wielu innych dziedzinach, w tym w zarządzaniu projektami i wytwarzaniem oprogramowania, co czyni je niezwykle istotnym zagadnieniem wśród „zwinnych narzędzi”.
Prawo Little’a w skrócie
Prawo Little’a można sformułować w prosty sposób:
L = λW
Gdzie:
– L oznacza liczbę jednostek w systemie (np. liczba zadań w kolejce)
– λ (lambda) to stopa przybywania nowych jednostek do systemu (np. tempo przybywania nowych zadań)
– W to średni czas, jaki jednostka spędza w systemie (np. czas potrzebny na wykonanie zadania)
To równanie jest niezwykle proste, ale jednocześnie bardzo potężne, ponieważ pozwala zrozumieć zależność między liczbą zadań w kolejce (L), tempo ich napływu (λ) i czasem przetwarzania (W). Wykorzystać to możemy między innymi do analizy pracy w toku (Work in Progress).
Little’s law w sklepie spożywczym
Wyobraźmy sobie, że jesteśmy w sklepie spożywczym, który ma jedną kasę. Klienci przychodzą i stają w kolejce (L), a średnio jeden klient wchodzi co 2 minuty (λ = 1/2 klienta na minutę). Jeśli średni czas, jaki klient spędza na kasie, wynosi 4 minuty (W = 4 minuty), możemy użyć Prawa Little’a, aby obliczyć, ile klientów będzie w kolejce:
L = λW = (1/2) * 4 = 2
Oznacza to, że średnio w danej chwili w kolejce do kasy będzie 2 klientów, a to z kolei pozwala nam na optymalizację liczby stanowisk, kasjerów, prędkości obsługi, itd.
Jeżeli przykład z kolejką Was nie przekonuje, to załóżmy, że jesteś Product Ownerem, który pracuje nad dostarczaniem funkcjonalności produktu. Twoim zadaniem jest monitorowanie liczby zadań w kolejce (L), tempo przybywania nowych zadań od klienta (λ) i średni czas potrzebny na wykonanie zadania (W). Matematyka w tym przypadku jest równie prosta – na podstawie tylko i wyłącznie dwóch informacji (λ, W) jesteśmy w stanie wyliczyć nasze średnie obciążenie.
Little’s law in agile
Prawo Little’a, choć pierwotnie sformułowane w kontekście zarządzania kolejkami, jest równie ważne i przydatne we wszystkich miejscahc, gdzie mamy do czynienia z ciągłymi procesami kolejkowymi. Pozwala ono na lepsze zrozumienie i optymalizację procesów w zespołach, włączając w to rozwiązywanie błędów, utrzymanie, rozwój, itd.
W kontekście rozwoju oprogramowania, Prawo Little’a można wykorzystać do obliczenia czasu cyklu (cycle time) potrzebnego na naprawę błędów, na podstawie pracy w toku (work in progress, WIP) i liczby nowych błędów odkrytych (λ) oraz średniego czasu, jaki zajmuje rozwiązanie pojedynczego błędu (W).
Cykl życia błędu w rozwoju oprogramowania obejmuje kilka etapów, takich jak zgłoszenie błędu, przypisanie go do programisty, rozwiązanie, przegląd i testowanie. Ostatecznie, błąd jest uznawany za rozwiązany, gdy zostanie wdrożony na produkcję. Właśnie te etapy odpowiadają za mierzony cykl czasu.
Prawo Little’a pozwala zrozumieć, jak szybko zespół jest w stanie reagować na nowe błędy i ile czasu potrzebuje na ich rozwiązanie. Pamiętajmy też, że możemy je przekształcać i np. wyliczyć Cycle Time na podstawie średniej liczby błędów „na zespole” oraz tempa ich napływania. Nie musimy do tego celu mierzyć czasu realizacji poszczególnych błędów.
Prawo Little’a to istotne pojęcie, które pochodzi z dziedziny zarządzania kolejkami. Dzięki niemu możemy lepiej zrozumieć, jak działają nasze systemy. Warto też pamiętać, że może być ono stosowane w różnych kontekstach, nie tylko w obszarze zarządzania kolejkami, co czyni je niezwykle przydatnym narzędziem dla zespołów zwinnych. Dzięki niemu możemy podejmować bardziej świadome decyzje i optymalizować naszą pracę, o co przecież wszystkim nam chodzi.