Zdecydowana większość dojrzałych projektów jest skostniała, czy to ze względu na biurokratyczne procesy, którymi obrosła, czy to przez problemy w samym kodzie źródłowym.
W takich warunkach warto się na chwilę zatrzymać i zadać sobie pytanie: ile czasu w naszej pracy faktycznie dostarczamy wartość dla końcowego odbiorcy usług czy produktu?
Jak zatem wytwarzać więcej softu, którego potrzebuje klient, przy mniejszych nakładach pracy? Przede wszystkim eliminować marnotrawstwo.
Eliminacja strat to fundamentalna zasada szczupłego wytwarzania oprogramowania (lean software development), z której wynikają wszystkie inne zasady.
Zatem pierwszym krokiem do wdrożenia szczupłego rozwoju jest nauka dostrzegania marnotrawstwa. Drugim i każdym kolejnym krokiem jest odkrywanie największych jego źródeł i ich usuwanie. Po pewnym czasie można stopniowo eliminować nawet rzeczy, które na początku wydawały się niezbędne.
Dostrzeganie strat
Funkcjonalność, która czeka na użycie, jest marnotrawstwem. Tworzenie czegoś, co nie jest natychmiast potrzebne, jest marnotrawstwem. Ruch jest marnotrawstwem. Czekanie jest marnotrawstwem. Wszelkie dodatkowe etapy przetwarzania są marnotrawstwem i oczywiście defekty są marnotrawstwem.
Powolna lub nieefektywna komunikacja skutkuje opóźnieniami, frustracją, brakiem koncentracji i nieporozumieniami z interesariuszami.
Biurokracja po prostu opóźnia szybkość działania. Wiele procesów tworzenia oprogramowania wymaga papierkowej roboty w celu uzyskania podpisu klienta. Czy Twój usługobiorca naprawdę uważa, że dzięki temu produkt jest dla niego bardziej wartościowy?
Częściowo wykonana praca nie dodaje wartości klientowi ani nie pozwala zespołowi wyciągnąć z niej wniosków, co więcej, częściowo wykonane oprogramowanie szybko się starzeje.
Dobrym pomysłem może wydawać się wprowadzenie do systemu dodatkowych funkcji na wypadek, gdyby okazały się potrzebne. Programiści mogą chcieć dodać nową możliwość techniczną tylko po to, aby sprawdzić, jak ona działa. To może sprawiać wrażenie nieszkodliwego, ale przeciwnie, jest to poważne marnotrawstwo.
Niekończąca się opowieść
Pamiętaj, że z eliminacją strat jest jak z delegowaniem czy sprzątaniem. To praca cykliczna, wynikająca z podstawowej zasady fizyki: entropia układu nigdy nie maleje. W trakcie pozbywania się jednego marnotrawstwa będą pojawiać się inne. Czy to syzyfowa praca? Nie, ponieważ ma ona sens. Każda eliminacja zbędnej pracy powinna przynieść pozytywny skutek w postaci odpowiedniej ilości naprawdę potrzebnego oprogramowania.
Źródła
Udostępnij ten wpis
Dobrnąłeś do końca. Jeśli ten artykuł był dla Ciebie wartościowy i chcesz otrzymywać informacje o kolejnych, to zapraszam Cię do zapisania się do listy mailingowej. Gwarantuję zero spamu.
Radek.