FDD är en modelldriven process för kortvarig utveckling som består av fem grundläggande aktiviteter. För noggrann lägesrapportering och för att hålla koll på mjukvaruutvecklingsprojektet definieras milstolpar som markerar framstegen för varje funktion. Det här avsnittet ger en översikt på hög nivå över aktiviteterna. I figuren till höger visas meta-processmodellen för dessa aktiviteter. Under de två första aktiviteterna i följd fastställs en övergripande modellform. De tre sista aktiviteterna itereras för varje funktion.
Utveckla övergripande modellRedigera
FDD-projektet inleds med en genomgång på hög nivå av systemets omfattning och dess sammanhang. Därefter skapas detaljerade domänmodeller för varje modelleringsområde av små grupper och presenteras för kollegial granskning. En eller flera av de föreslagna modellerna väljs ut för att bli modellen för varje domänområde. Domänområdesmodellerna slås successivt samman till en övergripande modell.
Bygg upp en funktionslistaRedigera
Den kunskap som samlats in under den inledande modelleringen används för att identifiera en lista över funktioner genom att funktionellt dekomponera domänen i ämnesområden. Varje ämnesområde innehåller affärsverksamheter, och stegen inom varje affärsverksamhet utgör grunden för en kategoriserad funktionslista. Funktioner i detta avseende är små delar av klientvärderade funktioner uttryckta i formen “<action> <result> <object>”, till exempel: “Beräkna summan av en försäljning” eller “Validera en användares lösenord”. Funktioner bör inte ta mer än två veckor att färdigställa, annars bör de delas upp i mindre delar.
Planera per funktionEdit
När funktionsförteckningen är klar är nästa steg att ta fram utvecklingsplanen och tilldela programmerare äganderätt till funktioner (eller funktionsuppsättningar) som klasser.
Konstruera per funktionEdit
Ett konstruktionspaket tas fram för varje funktion. En chefsprogrammerare väljer ut en liten grupp funktioner som ska utvecklas inom två veckor. Tillsammans med motsvarande klassägare utarbetar chefsprogrammeraren detaljerade sekvensdiagram för varje funktion och förfinar den övergripande modellen. Därefter skrivs klass- och metodprologerna och slutligen hålls en designinspektion.
Bygg efter funktionRedigera
När en lyckad designinspektion för varje aktivitet för att producera en funktion är planerad, utvecklar klassägarna kod för sina klasser. Efter enhetstestning och framgångsrik kodinspektion befordras den färdiga funktionen till huvudbygget.