Agilní modelování - Agile modeling
Tento článek má několik problémů. Prosím pomozte vylepši to nebo diskutovat o těchto otázkách na internetu diskusní stránka. (Zjistěte, jak a kdy tyto zprávy ze šablony odebrat) (Zjistěte, jak a kdy odstranit tuto zprávu šablony)
|
Agilní modelování (AM) je metodika pro modelování a dokumentování softwarové systémy založené na osvědčených postupech. Jedná se o soubor hodnot a principů, které lze aplikovat na (agilní) projekt vývoje softwaru. Tato metodika je pružnější než tradiční metody modelování, díky čemuž lépe zapadá do rychle se měnícího prostředí.[1] Je součástí agilní vývoj softwaru sada nářadí.
Agilní modelování je doplňkem ostatních agilní vývoj metodiky jako např Skrumáž, extrémní programování (XP) a Racionální jednotný proces (RUP). Je výslovně zahrnut jako součást disciplinované agilní doručení (DAD) rámec. Podle statistik z roku 2011 představovalo agilní modelování 1% veškerého agilního vývoje softwaru.[2]
Základní postupy
Existuje několik základních postupů:
Dokumentace
- Dokumentujte nepřetržitě. Dokumentace je vytvářena v průběhu celého životního cyklu souběžně s vytvářením zbytku řešení.
- Dokument pozdě. Dokumentace je vyhotovena co nejpozději, aby se zabránilo spekulativním myšlenkám, které se pravděpodobně změní ve prospěch stabilních informací.
- Spustitelné specifikace. Požadavky jsou specifikovány ve formě spustitelných „zákaznických testů“ namísto nespustitelné „statické“ dokumentace.
- Informace z jednoho zdroje. Informace (modely, dokumentace, software) jsou uloženy na jednom místě a pouze na jednom místě, aby se předešlo otázkám, co je „správná“ verze / informace.
Modelování
- Aktivní účast zúčastněných stran. Zúčastněné strany na modelovaném řešení / softwaru by se na tom měly aktivně podílet. Toto je rozšíření zákaznické praxe na místě od Extrémní programování.
- Předvídání architektury. Tým provádí lehké modelování na vysoké úrovni, které je sotva dost dobré (JBGE) na začátku softwarového projektu, aby prozkoumalo strategii architektury, která podle jeho názoru bude fungovat.
- Inkluzivní nástroje. Upřednostňujte modelovací nástroje, jako jsou tabule a papír, se kterými se snadno pracuje (jsou v ceně).
- Iterační modelování. Pokud požadavek / pracovní položka nebyla dostatečně podrobně prozkoumána pomocí modelování dopředu, může se tým rozhodnout provést tento průzkum během relace plánování iterace / sprintu. Potřeba to udělat je obecně vnímána jako příznak toho, že tým nedělá dostatečné modelování dopředu.
- Jen stěží dost dobrý (JBGE). Veškerý artefakt, včetně modelů a dokumentů, by měl být pro danou úlohu dostatečný. JBGE má kontextovou povahu, v případě modelu je určena kombinací složitosti všeho, co model popisuje, a dovedností publika pro tento model.
- Do budoucna modelování. Agilní tým se podívá na své nevyřízené položky jednou nebo více iteracemi / sprinty dopředu, aby zajistil, že požadavek / pracovní položka je připravena na zpracování. Také se v něm nazývá „backlog grooming“ nebo „backlog refinement“ Skrumáž.
- Model zaútočil. Krátké, často improvizované, agilní modelování. Konání modelových útoků se konají s cílem prozkoumat podrobnosti požadavku nebo aspektu vašeho designu.
- Více modelů. Agilní modeláři by měli vědět, jak vytvořit řadu typů modelů (jako jsou příběhy uživatelů, mapy příběhů, datové modely, Unifikovaný Modelovací Jazyk (UML) diagramy a další), aby bylo možné použít nejlepší model pro danou situaci.
- Prioritní požadavky. Na požadavcích by se mělo pracovat v prioritním pořadí.
- Předvídání požadavků. Tým provádí lehké modelování na vysoké úrovni, kterým je JBGE na začátku softwarového projektu, aby prozkoumal požadavky zúčastněných stran.
Omezení
Existuje významná závislost na osobní komunikaci a spolupráci se zákazníky. Oblasti agilního modelování mohou být obtížně použitelné[Citace je zapotřebí ]:
- Ve velkých týmech (řekněme 30 a více) bez odpovídající podpory nástrojů
- Kde členové týmu nejsou schopni sdílet a spolupracovat na modelech (což by se stalo agilní vývoj softwaru obecně obtížné)
- Když jsou dovednosti v oblasti modelování slabé nebo chybí.