rozpocznij współpracę
 
 
 
play button
close button

Lean Software Development

Jak zoptymalizować proces wytwarzania oprogramowania

#lean software development #eliminacja strat #optymalizacja #wytwarzanie przyrostowe

„Odchudzone” tworzenie oprogramowania, Lean Software Development, nierozerwalnie, łączy się z metodologią zwinną. W ostatnim czasie to podejście zostało mocno zorientowane na potrzeby użytkownika oraz analizę przepływu pracy. Genezę koncepcji lean upatruje się w technikach stosowanych przez koncern motoryzacyjny Toyota, który po II wojnie światowej wyróżniał się elastycznością, ale przede wszystkim ograniczaniem kosztów produkcji.

W odniesieniu do oprogramowania oraz cyfryzacji biznesu zastosowanie koncepcja lean pozwala na szybsze wytwarzanie wysokiej jakości produktu. Ograniczenie funkcjonalności do akceptowalnego minimum pozwala na prostsze wdrożenie oraz zrozumienie zmiany przez nie wywołanej.

Eliminowanie marnotrawstwa w postaci produkcji niepotrzebnych funkcjonalności przynosi wymierne oszczędności. Prosta architektura systemu pozwala na lepsze zorientowanie oraz planowanie rozwoju elementów wykorzystywanych przez użytkowników.

Istota Lean Software Development

Eliminacja strat

klient definiuje wartość, wszystko co jej nie dodaje jest marnotrawstwem;

Jakość i spójność

użytkownicy powinni otrzymać produkt, którego oczekiwali i być zadowoleni z działania aplikacji przez długi czas od jej wdrożenia;

Pozyskiwanie wiedzy

podejście iteracyjne w oparciu o krótkie cykle projektowe pozwala na uzyskanie natychmiastowej informacji zwrotnej dotyczącej spełnienia oczekiwań użytkowników;

Opóźnianie decyzji

zgodnie z zasadami „szczupłego” programowania decyzjeo kluczowych rozwiązaniach dotyczących wdrożenia finalnego należy podejmować tak późno, jak tylko się da. Jednocześnie utrzymując oprogramowanie w wersji łatwej
w przystosowaniu do wybranych założeń;

Wczesne wdrożenie

„porcjowanie” produktu pozwala na szybką korektę jego funkcjonalności w przypadku zmiany decyzji klienta lub niewłaściwego zdefiniowania wymagań;

Respektowanie zespołu

kluczowe funkcjonalności projektowane przez zaangażowanych członków zespołu tworzą wartość dodaną wytwarzanego oprogramowania. Wsparcie dla aktywnych uczestników procesu pozwala na wykorzystanie ich pełnego potencjału;

Optymalizacja ogółu

negatywny wpływ poszczególnych funkcjonalności usprawniających wąski zakres wymagań zaburza odbiór produktu jako całości. Należy się tego wystrzegać.

Przeczytaj również