Metoda
: Feature driven development (FDD)
|
|
|
|
Kód metody
Standarní kód metody v MBI
:
|
|
|
Popis, obsahové vymezení
Obsahové vymezení metody - rekapitulace základních principů ve vztahu k řízení informatiky
1. Feature driven development (FDD) - celková charakteristika
1.1. Koncepce metodiky
- Metodika Feature driven development (FDD) představuje zlatou
střední cestu mezi rigorózními a agilními metodikami.
Ač se svými principy řadí mezi agilní metodiky, definuje procesy, byť odlehčené, a zdůrazňuje nutnost modelování předem.
-
Je formálnější
než ostatní agilní metodiky, a tak ji lze úspěšně použít i na větší projekty.
- Metodika FDD je
založena na iterativním vývoji
, který je řízen užitnými vlastnostmi produktu.
-
Užitná vlastnost (feature)
je malý výsledek užitečný z pohledu zákazníka, který je srozumitelný, měřitelný a realizovatelný v rámci dvoutýdenní iterace.
1.2. Aplikované praktiky
- Podobně jako jiné úspěšné metodiky vývoje softwaru je FDD
postaveno na klíčové skupině praktik
, které úspěšně aplikovali v praxi Peter Coad a Jeff de Luca. Tyto praktiky nejsou nové, ale přínos FDD spočívá ve správné kombinaci těchto praktik, která vede k synergickému efektu.
- FDD definuje
následující praktiky:
- Doménové objektové modelování (Domain Object Modeling),
- Vývoj podle užitných vlastností (Developing by Feature),
- Individuální vlastnictví tříd (Individual Class Ownership),
- Týmy pro užitné vlastnosti (Feature Teams)
- Inspekce (Inspections),
- Pravidelné buildy (Regular Builds),
- Řízení konfigurací (Configuration Management),
- Reporting/viditelnost výsledků (Reporting/Visibility of Results).
1.3. Vývoj SW ve formě procesů
- FDD, na rozdíl od ostatních agilních metodik,
popisuje postup při vývoji softwaru ve formě procesů.
Význam procesů však nepřeceňuje, neboť cílem není splnění předepsaného procesu, ale vytvoření fungujícího softwaru, který splňuje požadavky zákazníka.
- FDD definuje
„lehké“ procesy
. Každý takový proces je
popsán jen na 2 stránkách podle vzoru ETVX:
Entry, Task, Verification, eXit.
- To znamená, že
se u každého procesu specifikují:
- vstupní kritéria,
- sepíší se úkoly (název, kdo se jej účastní, zda je povinný, popis úkolu),
- způsob ověření a výstupní podmínky procesu .
-
Proces 1 Vypracování celkového modelu
- cílem tohoto procesu je vytvořit hrubý model celé domény. Vývojáři a uživatelé pracují společně pod vedením hlavního architekta. Uživatelé prezentují úvodní představy o systému a jeho kontext, společně s vývojáři vytvoří kostru modelu a potom uživatelé podrobněji specifikují použití systému. Výstupem tohoto procesu je diagram tříd a alternativy řešení.
-
Proces 2 Sestavení seznamu užitných vlastností
- definování užitných vlastností je v podstatě funkční dekompozice problémové domény se zaměřením na hodnotu pro zákazníka. Výsledkem je kategorizovaný seznam užitných vlastností.
-
Proces 3 Plánování užitné vlastnosti
- plánování a realizace je řízena seznamem užitných vlastností. Vytvoří se plánovací tým, který plánuje pořadí vývoje užitných vlastností.
-
Proces 4 Návrh užitné vlastnosti
- hlavní programátor, který odpovídá za užitnou vlastnost, určí třídy, kterých se užitná vlastnost týká a kontaktuje odpovídající vlastníky tříd. Tak se vytvoří tým, který vypracuje návrh.
-
Proces 5 Realizace užitné vlastnosti
- každý vlastník třídy realizuje metody a provádí jednotkové testy. Po provedení testů vlastník třídy vloží třídu do systému pro správu verzí.
2. Poznámky, reference
- Bruckner, T. Voříšek, J., Buchalcevová, A. a kolektiv - Tvorba informačních systémů: Principy, metodiky, architektury - (Grada Publishing 2012) - ISBN9788024779027,
- Palmer, S.R. ; Felsing, J.M. - A Practical Guide to Feature-driven Development - (Prentice Hall PTR 2002) - ISBN9780130676153, pro MBI zpracovala: Buchalcevová, A. (katedra IT, VŠE)
|
|
|
|