Głównym powodem 20% czasu jest utrzymanie wykorzystania mocy na poziomie 80%, a nie 100%.
Można myśleć o organizacji opracowującej oprogramowanie jako o systemie, który przekształca żądania funkcji w funkcje rozwinięte. Możesz modelować jego zachowanie za pomocą teorii kolejkowania .
TEORIA
Jeśli żądania przychodzą szybciej niż system może je obsłużyć, ustawiają się w kolejce. Gdy przyjazdy są wolniejsze, rozmiar kolejki zmniejsza się. Ponieważ procesy nadejścia i obsługi są losowe, rozmiar kolejki zmienia się losowo z czasem.
Skłonni matematycznie mogą zapytać o tę „losowość”: musi istnieć pewien rozkład prawdopodobieństwa, więc jaki będzie średni rozmiar kolejki? Matematyka (teoria kolejkowania) ma na to odpowiedź: jeśli zarówno procesami przybycia, jak i usługami są Markow, to N = rho ^ 2 / (1-rho).
(Gdzie rho jest współczynnikiem wykorzystania równym stosunkowi usług i stawek przybycia. Jeśli procesy nie są Markowskie, matematyka jest bardziej skomplikowana, ale nie zmienia wniosków.)
Jeśli wykreślisz tę funkcję, zobaczysz, że średnia długość kolejki pozostaje niska, podczas gdy wykorzystanie wynosi do 0,8 , a następnie gwałtownie wzrasta i przechodzi w nieskończoność. Możesz to zrozumieć intuicyjnie, myśląc o procesorze komputera: gdy jego wykorzystanie zbliży się do 100%, komputer przestaje reagować.
ĆWICZYĆ
Ekonomika tworzenia oprogramowania jest taka, że firmy produkujące oprogramowanie ponoszą duże koszty, gdy ich kolejki znajdują się w stanach wysokiej kolejki. Obejmuje to utracone możliwości rynkowe, przestarzałe produkty, spóźnione projekty i marnotrawstwo spowodowane przez tworzenie funkcji w oczekiwaniu na popyt.
Czas 20% jest zatem naukową odpowiedzią na problem optymalizacji wyników ekonomicznych: unikaj stanów stojących w kolejce, unikając powodujących je wskaźników wykorzystania. Zasadniczo to luz powoduje, że system reaguje.
Natychmiast wyciągnięto kilka praktycznych wniosków:
- jeśli bierzesz pod uwagę 20% czasu i rozliczasz koszty (czas programistów kosztuje X, ale / a firma nie może sobie na to pozwolić), robisz to źle.
- jeśli przeznaczasz 20% na piątek co tydzień, robisz to źle
- jeśli tworzysz system składania / oceny / zatwierdzania propozycji projektu w czasie 20%, robisz to źle
- jeśli wypełniasz karty czasu pracy, robisz to źle
- jeśli używasz innowacji jako motywatora przez 20% czasu, robisz to źle. Chociaż nowe produkty powstały z 20% projektów, nie o to chodziło. Jeśli Twoja firma nie może wprowadzać innowacji w godzinach pracy, to jest problem!
- 20% czasu to nie kreatywność. Nie mów, że uwolnisz swoją kreatywność z czasem 20%, zapytaj, dlaczego nie jesteś wystarczająco kreatywny już w swoich podstawowych godzinach.
ODPOWIEDZI NA PYTANIA W KOMENTARZACH
Dan , masz rację i dokładnie opisałeś błąd popełniony przez wielu. Nie możesz wybrać procentu wykorzystania, ponieważ jest to zmienna wyjściowa. Jest to stosunek cech dwóch procesów, więc jest taki, ponieważ procesy są takie, jakie są. Organizacja ma wpływ na oba procesy; dopasowanie możliwości i popytu jest jednym z trudnych problemów, z którymi boryka się szczupły zespół programistów. Wykorzystanie jest jednym ze wskaźników, jak dobrze ten problem rozwiązano w organizacji. Slack pojawia się wraz z postępem inicjatywy lean i usuwasz odpady ze strumienia wartości. Ale jeśli zlecisz 20% czasu, skończysz w tej samej pułapce wykorzystania z mniejszą dostępną pojemnością.
Kim , nadal jest to po części kwestia kultury. Najbliższe odniesienie kulturowe, jakie mogę wymyślić, to synergiczny poziom tak zwanego modelu zmian organizacyjnych Marshalla . Pojawia się pod koniec udanych transformacji Lean lub jest obecny w organizacjach zbudowanych Lean od samego początku. ( Oto link do białej księgi Boba Marshalla (PDF) .)
REFERENCJE
Powyższa logika jest dobrze poparta w literaturze inżynierii oprogramowania. Mary i Tom Poppendieck wspomnieli o tym w książce z 2006 roku Implementing Lean Software Development . Donald Reinertsen w swojej książce „Principles of Product Development Flow” (rozdział 3) z 2009 r. Szczegółowo omawia ten temat za pomocą wzorów i wykresów.