FDD is an agile software development methodology that employs a short iterative process. It consists of 5 steps: develop an overall model, build a features list, plan by feature, design by feature, and build by feature. FDD is designed for large projects and teams, and combines best practices from other agile methods. It focuses on developing features in 2 week increments with mandatory code reviews, and involves customers during modeling and design.
FDD is an agile methodology suited for large projects, emphasizing short iterations and integrating best practices from other agile methods.
FDD's five-step process includes model development and feature building. Important for reviews and customer involvement, with project scope managed dynamically.
Key roles in FDD include chief architect and chief programmer, responsible for model creation and feature development, respectively.
A feature represents a client-valued function, designed for two-week implementation, broken down if longer.
Temporary feature teams form around client features, allowing developers to work across multiple teams.
Each class is owned by a developer responsible for changes, fostering quality and expertise in FDD.
• FDD isan agile software development
methodology.
• FDD employs a short-iteration model.
• FDD is designed to be used in large projects
and teams.
• FDD combines many of the best practices of
other agile methodologies.
Feature Driven Development (FDD)
3.
Process Model ofFDD
• FDD consists of a minimalist and five-step
process that has the following steps:
– Develop an Overall Model
– Build a Features List
– Plan by Feature
– Design by Feature
– Build by Feature
4.
• For technicalreviews, mandated code
inspections are performed in FDD.
• Customer involvement is realized in the first
step (develop an overall model) and in the
fourth step (design by feature).
• When the number of new features exceeds
ten percent, the project manager asks top
management.
– Scope or time is rearranged.
Feature Driven Development (FDD)
5.
Feature Driven Development(FDD)
• FDD has two important roles: chief architect
and chief programmer.
• Chief architect leads to draw the overall
model.
• FDD is an architecture-centric development
model.
• Chief programmer leads the programmers
through the feature sets.
6.
Feature
• A featureis a client-valued function that can be
implemented in two weeks at maximum.
• Longer features are broken into smaller features.
• A feature is FDD’s form of a customer
requirement.
• For a feature, there are three important parts:
– action
– result of the action
– object related with the action
7.
Feature Teams
• Featureteams are temporary groups of
developers formed according to the features.
• Usually there are multiple feature teams.
• A developer can take role in more than one
feature teams.
8.
Class Ownership
• Classownership is important in FDD.
• Every class belongs to a specific developer.
• Class owners have the responsibility for all
changes in implementing new features.
• Quality classes are developed using class
ownership.
• Class owners becomes expert for their classes.