Opublikowano: 04.03.2018

Lean: Jak znaleźć straty w tworzeniu oprogramowania

Lean: Jak znaleźć straty w tworzeniu oprogramowania

Wiele poradników na temat efektywności powie Ci co musisz robić, żeby zwiększyć swoją skuteczność. Więcej czasu na sport, kontakty z innymi, czy edukację. Tymczasem Toyota, lider podejścia Lean mówi coś zupełnie przeciwnego. Żeby zwiększyć swoją efektywność musisz robić mniej. Musisz znaleźć straty i następnie systematycznie je usuwać.

Straty w Produkcji (Muda)

Toyota definiuje stratę bardzo prosto. To każdy element systemu, za który klient nie chciałby zapłacić. Czyli coś co nie dodaje wartości z jego punktu widzenia. Błędy, czekanie, przewożenie półproduktów z magazynu do magazynu to oczywiste przykłady. Ale dla Toyoty stratą są również nadmierne zapasy półproduktów czy materiałów gotowych, coś co w większości firm będzie traktowane jako aktywa, czyli majątek firmy. Dlatego idealnym rozwiązaniem w Toyocie jest przepływ jednego produktu przez system, co pozwala maksymalnie skrócić czas od zamówienia do otrzymania zapłaty. Taiichi Ohno, twórca Systemu Produkcyjnego Toyoty twierdził, że straty są wszędzie i trzeba tylko przyjrzeć się procesowi produkcji, żeby je znaleźć. Chcąc ułatwić poszukiwanie i usuwanie strat w fabrykach Taiichi wyróżnił siedem rodzajów strat czyli MUDA. Dopiero ich usunięcie daje firmie czas na zajęcie się czymś ważnym z punktu widzenia klienta.

Straty w Tworzeniu Oprogramowania

Model Ohno był dobrze znany w Ameryce już w latach 90-tych, głównie za sprawą książki "Lean Thinking" James'a Womack'a i Daniel'a Jones'a. Jednak dopiero w 2001 roku Mary i Tom Poppendieck w swojej książce „Lean Software Development” przetłumaczyli straty z typowej produkcji na tworzenie oprogramowania. W międzyczasie do siedmiu rodzajów strat Taiichi Ohno doszly trzy nowe straty, związane z pracą umysłową. Poniżej znajdziesz listę dziesięciu strat wraz z ich odpowiednikami dla software:

Strataw Produkcjiw Tworzeniu Oprogramowania
ZapasyPraca w toku jest najpoważniejszym rodzaj straty. Zapasy to wszystko, co nie jest ukończonym produktem.Wszystkie funkcje, nad którymi nie została ukończona praca. Wymagania, które nie zostały zaimplementowane; kod który nie został przetestowany; komponenty, które nie zostały zintegrowane, funkcje, która nie została wdrożona u klienta itd.
NadprodukcjaProdukty, na które nie ma zamówienia.Dodatkowe funkcje, których klient nie potrzebuje lub nie używa.
Dodatkowe przetwarzanie Zbędne kroki w procesie wytwarzania, niewydajne przetwarzanie z powodu zastosowania nieefektywnego narzędzia.Aktywności nie zwiększające wartości produktu z punktu widzenia klienta (twz. goldplating).
Nadmierna dokumentacja.
Ponowne uczenie się.
TransportPrzenoszenie półproduktów między stanowiskami pracy, lub z i do magazynów.Przekazywanie produktu i informacji (hand-off) między pracownikami (np. różnych działów).
Zbędne ruchyNiepotrzebne ruchy wykonywane przez pracowników, takie jak podchodzenie po narzędzia, części.Wielozadaniowość – próba wykonania kilku zadań jednocześnie.
CzekanieOczekiwanie na narzędzia, części, decyzje. Przechowywanie materiałów.Oczekiwanie na informacje, decyzje, zasoby, czy inne produkty (np. do integracji).
DefektyProdukcja wadliwych części i ich składowanie, odrzuty oraz koszty napraw, przeróbek, części zamiennych.Błędy. Powodują nawroty do poprzednich faz i uniemożliwiają wyrównanie produkcji (Muri).
Myślenie życzenioweOpieranie planów nie na informacji zwrotnej i rzeczywistości a na nierealnych żądaniach
Rozproszona informacjaWiedza niedostępna osobom, które ją potrzebują.
Nie wykorzystany potencjał pracownikówNie angażowanie pracowników w proces ciągłej poprawy (Kaizen).
Nie podnoszenie oczekiwań w stosunku do pracowników.
Nie podnoszenie kwalifikacji pracowników.

Możesz również skorzystać z naszej sciągi na temat Nieefektywności i Strat.

Usuwanie strat to nie wszystko

Wiele firm koncentruje się jedynie na usuwaniu strat zapominając, lub nie wiedząc zarówno o pozostałych nieefektywnościach, jak i zasadach Lean. Powoduje to zbytnie wychudzenie organizacji, wręcz jej anoreksję. Uniemożliwia tym samym szybkie reagowanie na zmieniający się popyt na jej produkty. Jeszcze w gorszej sytuacji są firmy, które próbują usuwać nieefektywności lokalnie (np. tylko w dewelopmencie) nie patrząc na wpływ wprowadzanej zmiany na pozostałe elementy systemu (np. testy). Dlatego Lean, tak jak Agile trzeba wprowadzać całościowo, jako zmianę kultury organizacji, a nie skupiając się jedynie na kilku narządziach.