KEMBAR78
Feature Driven Development | PDF
Feature Driven Development
(FDD)
Dr. Davut Çulha
• FDD is an 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)
Process Model of FDD
• 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
• For technical reviews, 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)
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.
Feature
• A feature is 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
Feature Teams
• Feature teams 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.
Class Ownership
• Class ownership 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.

Feature Driven Development

  • 1.
  • 2.
    • 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.