Professional Documents
Culture Documents
Assignment: 01
FDD was initially devised by Jeff De Luca to meet the specific needs of a 15-month, 50-person
software development project at a large Singapore bank in 1997. This resulted in a set of five
processes that covered the development of an overall model and the listing, planning, design, and
building of features. The first process is heavily influenced by Peter Coad's approach to object
modelling. The second process incorporates Coad's ideas of using a feature list to manage
functional requirements and development tasks. The other processes are a result of Jeff De
Luca's experience. There have been several implementations of FDD since its successful use on
the Singapore project.
Overview:
FDD is a model-driven short-iteration process that consists of five basic activities. For accurate
state reporting and keeping track of the software development project, milestones that mark the
progress made on each feature are defined.
Definition:
Feature-driven development (FDD) is an iterative and incremental software development
process. It is a lightweight or agile method for developing software. FDD blends a number of
industry-recognized best practices into a cohesive whole. These practices are driven from a
client-valued functionality (feature) perspective. Its main purpose is to deliver tangible, working
software repeatedly in a timely manner in accordance with the Principles behind the Agile
Manifesto.
FDD - Agile:
FDD is an agile methodology. Businesses these days don’t want to wait a long time for results.
The crux of this methodology depends on iteration cycle of two weeks. The features are built
within 1-12 days. Any feature that requires longer build time than this is further broken down till
it meets the two weeks rule.
Processes of FDD:
1st Process: Developing an overall model
In this process, FDD pushes teams to build an object model of the domain problem. Differing
from others, FDD modelling is a cross-functional, iterative & collaborative activity. The team
members (development, domain experts & chief programmers) work together to compose a
model for the domain area and are guided by a Chief Architect. The idea is to have different
teams proposing different models and later on, after getting reviewed, choose an option, or mixes
them up. Finally, the domain area model will be merged into the overall model. It’s actually a
great way to start the project as it enables the team to get a strong understanding of the project as
well as a solid communication.
Features of FDD:
FDD is excellent for big projects and is actually quite scalable and prone to get achieve
success.
FDD is very effective in helping with complex projects that are in a critical situation.
The 5 processes help when it comes to getting new members to join the team, especially in
short periods of time.
Feature Driven Development is built around best practices that are recognized by the industry
and it considers the strengths and weaknesses of developers.
The fact that with FDD you do regular builds ensures that the system is always up to date and
it can be shown to the client. You can easily identify errors in the source code of the features.
All along the processes you have a high visibility of progress and results due to the fact that
there are frequent progress reporting that are made at all the levels of the project