it-swarm-eu.dev

Existují nějaké hlavní alternativy k vodopádu a hbitosti?

Jsem zvědavý, jestli někdo zná nějaké metodologie, které se výrazně liší (nikoli rekombinace), a zvláště bych ocenil každého, kdo přinesl jakékoli zkušenosti s alternativami.

35
Morgan Herlocker

Wikipedia je uvádí jako metodiky/vývojové procesy :

  • Agilní - na základě iteračního a inkrementálního vývoje, kde se požadavky a řešení vyvíjejí prostřednictvím spolupráce mezi samoorganizačními, vícefunkčními týmy .

  • Cleanroom - Proces Cleanroom je zaměřen spíše na prevenci defektů než na odstraňování defektů.

  • Iterativní - proces vývoje cyklického softwaru vyvinutý v reakci na slabiny modelu vodopádu. Začíná počátečním plánováním a končí nasazením cyklických interakcí mezi nimi.
    iterative diagram

  • RAD - používá minimální plánování ve prospěch rychlého prototypování. „Plánování“ softwaru vyvinutého pomocí RAD je prokládáno samotným zápisem softwaru).

  • RUP - Rational Unified Process (RUP) je přizpůsobivý iterativní vývoj softwaru rámec procesu, který má být přizpůsoben výběrem prvků procesu, které jsou vhodné.

  • Spirála - kombinující prvky jak návrhu, tak prototypování v etapách, ve snaze kombinovat výhody shora dolů a koncepty zdola nahoru. Tento vývojový model kombinuje vlastnosti prototypového modelu a vodopádového modelu.
    spiral model diagram

  • Vodopád - sekvenční prostřednictvím fází koncepce, zahájení, analýzy, návrhu, konstrukce, konstrukce, testování a údržby.
    waterfall diagram

  • Lean - překlad Lean výroby a Lean IT principů a postupů do oblasti vývoje softwaru; všechno, co nepřidává hodnotu zákazníkovi, se považuje za odpad.

  • model V - Místo lineárního pohybu dolů jsou procesní kroky po fázi kódování ohnuty směrem nahoru, aby tvoří typický tvar V. Model V ukazuje vztahy mezi každou fází životního cyklu vývoje a přidruženou fází testování.
    v-model diagram

  • TDD - spoléhá se na opakování velmi krátkého vývojového cyklu: nejprve vývojář píše neúspěšný automatizovaný testovací případ, který definuje požadované vylepšení nebo novou funkci, poté vytvoří kód, který tento test projde, a nakonec nový kód upraví podle přijatelných standardů.

49
Peter Boughton

Cowboy Coding

Čistý nestrukturovaný, neřízený vývoj volného tvaru. To může být užitečné pro malé hobby projekty, které nemají termín nebo dokonce jasný cíl, ale pravděpodobně nebudou fungovat v podnikovém prostředí.

20
Bruce Alderman

Model spirály

Spirální model je proces vývoje softwaru, který kombinuje prvky jak návrhu, tak prototypování ve stádiích, ve snaze kombinovat výhody konceptů shora dolů a zdola nahoru. Také známý jako model spirálového životního cyklu (nebo spirální vývoj), jedná se o metodu vývoje systémů (SDM) používanou v informačních technologiích (IT). Tento vývojový model kombinuje vlastnosti prototypového modelu a vodopádového modelu. Spirální model je určen pro velké, drahé a komplikované projekty.

- Wikipedia alt text

4
Ryan Hayes

Plán

Posaďte se s klientem (nebo koncovým uživatelem) a navrhněte řadu případů použití.

Design

Rozložte systém na papír/tabuli na několik piv a pizzy. Snicker, když něco vypadá falešně.

Potvrdit

Potvrďte design s klientem (nebo koncovým uživatelem) a zmrazte požadavky.

Kód

Samozřejmý.

1
Josh K

Tento argument Waterfall už nějakou dobu existuje a používá jej agilní vůdci myšlenek brzy. Také se setkali s „realitou“ vodopádu jako s „červenou výstrahou“.

Když začnete pracovat na projektu vývoje softwaru, rychle zjistíte, že použitá metodologie vývoje bude hrát hlavní roli v rychlosti a kvalitě vyvinutého kódu. Vzhledem k tomu, že se agilní metodologie používá tak často, je důležité, abyste pochopili výhody a nevýhody agility, takže můžete určit, zda je pro vaše projektové výstupy nejvhodnější.

Agilní vývoj softwaru je koncepční rámec pro provádění projektů softwarového inženýrství. Většina agilních metod se snaží minimalizovat riziko vyvíjením softwaru v krátkých časových rámcích, nazývaných iterace, které obvykle trvají jeden až čtyři týdny. Každá iterace je jako vlastní miniaturní softwarový projekt a zahrnuje všechny úkoly potřebné k uvolnění drobného přírůstku nové funkce: plánování, analýza požadavků, návrh, kódování, testování a dokumentace.

Je to dobrý proces pro společnost, protože zahrnuje zákazníka do procesu vývoje a je odpovědný za dodávku produktu. Na druhé straně jsou zákazníci spokojeni, protože se sami nacházejí ve vývoji produktu.

Demerits for Agile:

  • Agilita je příliš zaměřená na programátory, takže není jasné, jak vyvážit práci napříč organizací.
  • Pokud nevíte, kam jdete, agilní vás tam nedostane!
  • Vytváření rámců bez jasných potřeb.
  • Nadužívání jazykových funkcí (nevhodně).
  • Žádná mentalita první zkoušky.

Zajímavou metodologii, která by mohla fungovat jako alternativa pro AGILE, lze nejlépe zobrazit na základě těchto 3 odkazů:

Kanban jako alternativní agilní implementace

Vývoj softwaru Kanban

Lean vývoj softwaru v cloud

1
Tony