Co je Lean Software Development?
Lean Software Development je paradigma, které popisuje teoretický ideální soubor okolností pro tvorbu softwaru. Je důležité myslet na Lean Software Development jako na jednu z mnoha teorií vývoje softwaru, z nichž každá má své výhody i nevýhody. Při používání modelu Lean Software Development je třeba pochopit sedm zásadních bodů: odstranit plýtvání, zesílit učení, pozdní rozhodování, rychlé dodání, posílení týmu, budování integrity a vizualizaci celku.
Odstranění odpadu je cílem úspor času i peněz. Tím, že vývojový tým softwaru sníží množství nadbytečného kódu a nadbytečných funkcí v Lean Software Development, ušetří peníze a doručí přísnější kód koncovému uživateli. Programy vytvořené pomocí modelu Lean Software jsou tedy méně náročné na zdroje a více zaměřené.
Zesílení učení v Lean Software Development se týká koncepce použití krátkých cyklů mezi fázemi testování. Teoreticky to poskytuje konstruktérům stálejší zpětnou vazbu, což umožňuje identifikovat problémy dříve ve vývojovém řetězci. Do těchto fází jsou zahrnuti koncoví uživatelé, což zajišťuje, že beta verze programu vyhovují jejich potřebám.
Pozdní rozhodování umožňuje dodatečnou flexibilitu v harmonogramu návrhu, což umožňuje přijímat rozhodnutí až po shromáždění maximálního počtu skutečností. Například rozhodnutí před začátkem vývoje, že program X by měl mít funkce A, B a C, by se mohlo zdát jako dobrý nápad, dokud místní testování neodhalí, že tyto funkce nelze dokončit včas. V Lean Software Development by rozhodnutí o zařazení A, B a C bylo zpožděno, dokud nebylo jisté, zda to bylo skutečně možné.
Rychlé dodání znamená upřednostnění co nejrychlejšího poskytnutí funkčního modelu beta koncovému uživateli - pravděpodobně, když je program dokončen na 85 až 90 procent - a pokračování v opravování a aktualizaci tohoto modelu po dobu životnosti programu. To je v kontrastu s čekáním na dokončení programu a jeho následným dodáním. Teoreticky to umožňuje koncovému uživateli vytlačit z programu více života, spolu s tím, že vývojovému týmu umožní další zpětnou vazbu z pracovních beta modelů.
Posílení týmu znamená dát týmu větší autonomii během procesu programování. Výsledkem bude, že se do projektu teoreticky více investují. Navíc to znamená poskytnout jim přístup k zákazníkům, více sladit očekávání se skutečným doručením.
A konečně, integrita a vidění celku se zaměřují na prohlížení programu jako jedné jednotky. Kontrastujte to s jinými systémy, které považují program za patchworku různých systémů. Tento „obraz“ způsob myšlení teoreticky poskytuje úplnější produkt, protože celý tým je na stejné stránce, pokud jde o hotový produkt.