FDD jest sterowanym przez model procesem krótkiej iteracji, który składa się z pięciu podstawowych czynności. W celu dokładnego raportowania stanu i śledzenia projektu tworzenia oprogramowania definiuje się kamienie milowe, które oznaczają postępy w realizacji każdej cechy. Ta sekcja przedstawia przegląd czynności na wysokim poziomie. Na rysunku po prawej stronie pokazany jest model meta-procesu dla tych czynności. Podczas pierwszych dwóch sekwencyjnych czynności ustalany jest ogólny kształt modelu. Ostatnie trzy czynności są iterowane dla każdej cechy.
Rozwijanie modelu ogólnegoEdit
Projekt FDD rozpoczyna się od wysokopoziomowego przeglądu zakresu systemu i jego kontekstu. Następnie, szczegółowe modele domeny są tworzone dla każdego obszaru modelowania przez małe grupy i przedstawiane do wzajemnej weryfikacji. Jeden lub więcej z zaproponowanych modeli jest wybierany jako model dla każdego obszaru domeny. Modele obszarów domen są stopniowo łączone w model ogólny.
Zbuduj listę cechEdit
Wiedza zebrana podczas wstępnego modelowania jest wykorzystywana do identyfikacji listy cech poprzez funkcjonalną dekompozycję domeny na obszary tematyczne. Każdy z obszarów tematycznych zawiera działania biznesowe, a kroki w ramach każdego działania biznesowego stanowią podstawę dla skategoryzowanej listy cech. Cechy w tym ujęciu to małe fragmenty funkcji wartościowanych przez klienta, wyrażone w postaci “<akcja> <wynik> <obiekt>”, na przykład: “Oblicz sumę sprzedaży” lub “Sprawdź poprawność hasła użytkownika”. Wykonanie cech nie powinno zająć więcej niż dwa tygodnie, w przeciwnym razie należy je podzielić na mniejsze części.
Plan według cechEdit
Po ukończeniu listy cech następnym krokiem jest sporządzenie planu rozwoju i przypisanie programistom własności cech (lub zestawów cech) jako klas.
Projektowanie według cechEdit
Dla każdej cechy powstaje pakiet projektowy. Główny programista wybiera małą grupę cech, które mają być opracowane w ciągu dwóch tygodni. Wraz z odpowiednimi właścicielami klas, główny programista opracowuje szczegółowe diagramy sekwencji dla każdego elementu i dopracowuje ogólny model. Następnie pisane są prologi klas i metod, a na koniec przeprowadzana jest inspekcja projektu.
Build by featureEdit
Po pomyślnej inspekcji projektu dla każdej czynności mającej na celu wytworzenie cechy, właściciele klas opracowują kod dla swoich klas. Po przeprowadzeniu testów jednostkowych i udanej inspekcji kodu, ukończona funkcjonalność jest promowana do głównego builda.