Feature-driven developmentFeature-driven development (FDD) is een agile-softwareontwikkelingsmethode. Het is in 1997 door Jeff De Luca bedacht om aan de specifieke eisen van een grote Singaporese bank te voldoen, met een project van vijftien maanden lang en 50 man groot. De Luca leverde een set van vijf processen die de ontwikkeling van een globaal model, de registratie, planning, ontwerp en implementatie van features beschrijven. FDD is voor het eerst beschreven in het boek “Java Modeling in Color with UML” uit 1999 waarvan Jeff De Luca mede-auteur is. In 2002 wordt een meer algemene beschrijving gegeven in het boek “A Practical Guide to Feature-Driven Development”. Fases![]() FDD is een model-driven-ontwikkelmethode die uit vijf basistaken bestaat. De eerste drie zijn opeenvolgend en hierin wordt het globale model gemaakt. De laatste twee werkzaamheden worden voor elke feature herhaald. De werkzaamheden zijn als volgt: Develop overall modelHet project start met een walkthrough van de scope en de context van het systeem. Dit dient als basis voor een aantal modellen die door kleine groepen gemaakt zijn en ter feedback worden vrijgegeven. Van deze modellen wordt een globaal model gemaakt. Build feature listDe kennis die tijdens het modelleren is verzameld wordt gebruikt voor een lijst van alle features. Features zijn in dit geval gedeeltes van functies die door de klant als waardevol getaxeerd zijn met de vorm “<actie> <uitkomst> <object>”. Een voorbeeld hier van is: “Uitprinten factuurregels van een factuur”. Features kunnen niet meer dan twee weken duren, anders moeten ze in kleinere componenten opgedeeld worden. Plan by featureNadat de featurelijst gemaakt is, kan er met het ontwikkelingsplan begonnen worden. Features worden naar classes vertaald, zodat class ownership aan de hoofdprogrammeurs gekoppeld kan worden. Design by featureVoor elke feature wordt er een ontwerp gemaakt. De hoofdprogrammeur kiest een aantal features uit die binnen twee weken ontwikkeld kunnen worden. Hierna werken de class owners samen met de hoofdprogrammeurs het ontwerp uit tot sequence diagrammen en als laatst wordt er een ontwerpinspectie gehouden. Build by featureAls de inspectie van het ontwerp gelukt is worden de features geïmplementeerd. De class owners implementeren hun eigen classes en na een unittest en code inspection kan de voltooide feature als main build fungeren. PracticesFDD is ontstaan uit een set van best practices uit de software-industrie. Door deze practices te gebruiken kan men eigenlijk niet om FDD heen.
ToolsFDD maakt gebruik van verschillende tools die speciaal voor deze softwareontwikkelmethode gemaakt zijn.
Externe links |
Portal di Ensiklopedia Dunia