You are on page 1of 10

Feature Driven Development

focuses on developing features that can


be broken down into smaller
What is FDD ? components. It involves constantly
reviewing the progress of the project,
and making sure the features are
delivered on time.

 Feature Driven Development is an agile framework


that organizes software development around
making progress on features.
 FDD is client-centric, incremental and iterative to
deliver tangible software results efficiently.
 FDD became a pragmatic approach ideal for a long focused on the client's needs,
is delivered in small
term and complex project for a comprehensive increments and is repeated
in an iterative manner
but straightforward methodology.
What is FDD ?

 It uses a feature template


 <action>the<result><by|for|of|to>a(n) <object>
 A feature list is created and “plan by feature” is
conducted
 Design and construction merge in FDD
FDD begins by creating a feature list from the feature
template, which provides a structure for the design and
development process. The feature list contains a description of
each feature, its purpose, and how it will be implemented.
This list is used to plan the design and development process
and to ensure that all features are completed.
History of FDD ?

 It was first introduced in 1999 via the book Java


Modeling In Color with UML by Jeff DeLuca’s
company and Peter Coad’s concept of features.
 Jeff DeluCa’s solution was a group of five
processes designed to cover the model’s
development and its listing,designing,planning
and the bulding of its features.
 It was first applied on a large project of Singapore
bank on 15 months with 50 person in 1997.
FDD has 5 basic processes steps :
the first step in FDD is to gain an accurate understanding of
content and context of the project, and to develop a clear,
shared understanding of the target audience and their needs.

Using the “thesis” (aka primary goal) as a guide, the team will develop
detailed domain models, which will then be merged into one overall
model that acts as a rough outline of the system.
Use the information assembled in the first step to create a
list of the required features. Remember, a feature is a client-
valued output.

keep in mind that these features should be


purposes or smaller goals, rather than tasks.
Analyze the complexity of each feature and plan tasks that are
related for team members to accomplish. During the planning stage,
all members of the team should take part in the evaluation of
features with the perspective of each development stage in mind.
Then, use the assessment of complexity to determine the order in
which each feature will implemented, as well as the team members
that will be assigned to each feature set.
user interfaces are built and a feature prototype is created. The unit is tested, inspected and
approved, then the completed feature can be promoted to the main build. Any feature that
requires longer time than two weeks to design and build is further broken into features until it
meets the two-week rule.
They are used to represent business rules
Best Practices : and logic, and to define the data
structures used to store and manipulate
data.
 All of are formed from a client’s perspective.(V imp)
 Domain object modelling
class ownership refers to the concept of
 Developing by feature assigning individual classes to specific
developers. This helps to break down the
 Individual class ownership larger project into smaller, manageable
 Feature teams tasks that can be completed by individual
developers
 Inspection
Configuration Management is a process
 Configuration Management that ensures that the features and
related development objects of a
 Regular builds and visibility of progress product are tracked, monitored and
managed throughout its lifecycle.

You might also like