Proces vývoje softwaru na základě cíle - Goal-Driven Software Development Process
Proces vývoje softwaru na základě cíle (HDP) je iterativní a přírůstkové vývoj softwaru technika. I když podobný ostatním moderním procesní modely „HDP se primárně zaměřuje na identifikaci cílů před stanovení požadavků a výslovné využití návrhového přístupu zdola nahoru.
Následující části vycházejí z příspěvku Cílený vývoj softwaru [1] kde byl představen koncept HDP.
Odůvodnění
Prvním argumentem k přijetí principů HDP je aspekt požadavků. Při vývoji softwaru je velká koncentrace na požadavky (např. Typické pro model vodopádu ) způsobuje nadměrné náklady a sníženou kvalitu výsledku, zejména z následujících důvodů:[1]
- Požadavky obvykle nejsou totožné s obchodními cíli z důvodu omezených znalostí autora o technických možnostech a jejich nákladech - tyto požadavky obvykle zahrnují zbytečné nákladné přání a vylučují technicky jednoduché funkce, které by poskytly podstatný přínos.
- Formalizace podporovaného obchodního procesu během vývoje obvykle odhalí nesrovnalosti a mezery v tomto procesu, které je třeba vyrovnat změnami samotného procesu nebo role softwarového systému.
Výsledkem těchto dvou efektů je obvykle velké množství požadavků na změny během a po vývoji (s tím spojené překročení času a nákladů), proto je zapojení uživatelů považováno za kritický faktor úspěchu projektu.[2]
Zadruhé, i když je zaveden softwarové procesy zdokonalit požadavky až po implementaci, vývojový proces zaměřený na cíl doporučuje pokusit se najít optimální mapování mezi obchodními cíli a schopnostmi technické platformy v iterativní procesu, stejně s ohledem na a přizpůsobení obchodních cílů a technických aspektů tak, aby došlo k optimálnímu, konvergentní řešení.
Proces vývoje zaměřený na cíl umožňuje zúčastněným stranám:[3]
- Objevte případy použití, které jsou přizpůsobeny požadavkům podle obchodních cílů
- Vytvořte most mezi cíli a architekturou IT
Klíčové principy
Identifikace společného cíle
Jak úzce souvisí s Cílová otázka - metrika paradigma, a nejvyšší úrovně je definován jako neformální popis toho, co chce účastník změnit nebo zlepšit ve svém obchodním prostředí, rozložit se na konkrétnější dílčí cíle. S každým cílem je navíc spojena sada otázek, která charakterizuje způsob, jakým bude software po každém testován na definované cíle opakování.
Jelikož se jedná o klíčový princip GDP, společná identifikace cílů spojuje znalosti uživatelů a vývojářů softwaru. Zatímco definice cíle je řízena shora dolů, rozhodování, zda je proveditelný cíl, je orientováno zdola nahoru.
Konvergence shora dolů a zdola nahoru
- Více informací viz Design shora dolů a zdola nahoru.
Zatímco orientace shora dolů podporuje horizontální týmovou organizaci, přístupy zdola nahoru se snaží poskytovat zobecněné komponenty nebo služby, což vede k lepší spokojenosti uživatelů.[4] Společná identifikace cílů zavedených HDP umožňuje kombinovat aspekty shora dolů a zdola nahoru („myšlení shora dolů a jednání zdola nahoru” [1]) podporovat artefakty konzistence a umožnění vertikální organizace týmu.
Vertikální organizace týmu
Na rozdíl od horizontálně organizovaných projektových týmů, kde programátoři implementují řešení specifikované týmem modelování, vyžaduje vertikální organizace implikovaná HDP kvalifikované a kvalifikované všeobecné pracovníky. Jak uvedl IBM Rational Unified Process mohou jednotliví vývojáři a by měl mít na projektu více rolí, abyste se vyhnuli zbytečným režijním nákladům a konfliktům.
Role a lidé
Vzhledem ke své vertikální organizaci vyžaduje HDP kvalifikované všeobecné pracovníky se schopností plnit mnoho rolí procesu:
- Programátoři (zodpovědný za konvergenci shora dolů a zdola nahoru)
- Obchodní analytici (spolupracovat s programátory při identifikaci cíle a později při testování)
- Softwaroví architekti (sledujte celý projekt)
- Projektový manažer (přiřazuje zdroje, sleduje čas a úsilí, vytváří produktivní prostředí)
- Inženýr požadavků
Minimalizace velikosti projektu
Podle GDP je dalším klíčem k úspěchu u velkých projektů minimalizace velikosti projektu ve všech aspektech, tj. Omezení počtu cílů a softwaru artefakty jako jsou dokumenty, specifikace požadavků, modely atd., ale také omezit počet zaměstnanců, vyhnout se vzájemnému čekání a velikosti kódu.
Minimalizace velikosti vede ke zvýšené udržovatelnosti a proměnlivosti systému na obchodní procesy, protože jsou nejpravděpodobnějším faktorem, který se v budoucnu změní.[5]
Činnosti
Každá iterace začíná identifikací obchodních cílů a jejich priorit a končí spuštěnou verzí softwarového systému odpovídající vybraným cílům.
Zatímco přírůstkový vývoj softwarového systému se provádí také v jiných softwarové procesy, je rozsah iterace HDP rozšířen o diskusi o obchodních cílech po každý iterace, o které se věří, že samotné obchodní cíle dozrávají s dostupností použitelné implementace.[1]
Mezi hlavní činnosti patří:
- Identifikace a stanovení priorit cílů (malé skupiny nejvýše 5 osob sestávající ze zúčastněných stran a / nebo obchodních analytiků a programátorů)
- Vertikální rozdělení úkolů (vybrané cíle jsou přiřazeny do skupin nejvýše 4 programátorů)
- Implementace a testování (testy založené na implementaci během implementace, testy zaměřené na cíl na konci každé iterace)
Tyto aktivity lze také rozdělit do šesti hlavních kroků:[3]
- Seskupte obchodní požadavky podle cílů
- Formalizujte chování systému řízeného cílem uvnitř procesů
- Monitorovat pokrok v realizaci cílů (volitelně)
- Přiřaďte odpovědnosti účastníkům procesů
- Zapojte chování do architektonické páteře řízené cílem a hrajte
- Integrujte aplikační omezení aktérů
Reference
- ^ A b C d Schnabel, I .; Pizka, M. „Vývoj softwaru zaměřeného na cíl“. ŠÍT. 2006. IEEE Computer Society. Citováno 2008-12-30.
- ^ Zpráva o chaosu. Technická zpráva, Standish Group, 1994.
- ^ A b Berkem, Birol (březen – duben 2006). "Jak sladit IT se změnami pomocí UML a podle BMM". Journal of Object Technology. 5 (2): 85–102. doi:10.5381 / jot.2006.5.2.c9. Citováno 2008-12-30.
- ^ Pizka, M .; Bauer, A. „Stručná filozofie vývoje softwaru shora dolů a zdola nahoru“. IPWSE. 2004. IEEE Computer Society. Citováno 2008-12-30.
- ^ Panas, Löwe, Asmann. Směrem k jednotné architektuře obnovy pro reverzní inženýrství. Proc. Intern. Konf. o softwarovém inženýrství a praxi SERP’03, svazek 1, strany 854–860, Las Vegas, NV, červen 2003. CSREA Press.