Download presentation
1
Feature Driven Development
By: John Bonjean
2
Overview History Definition Key Concepts Process Reporting Pros Cons
3
History 1997 Jeff De Luca Peter Coad Singapore Bank
Large Scale Software Project Create alternative to Waterfall process
4
Feature Driven Development (FDD)
Agile Process Incremental Short Iterations Model-Driven Five Processes Feature Agile Process
5
Why FDD? Emphasizes quality Deliver frequent tangible results
Visible reporting Communication Decomposes problem Distance between analysis and test phase reduced Developing by feature
6
Feature Small client valued function Implemented 10 days Template
<action>the <result><by/for/of/to><a/an><object> Example Calculate the total of an account Display the total of a balance
7
Feature Set Group of Business Related Features Example Features
<action><-ing><a/an><object> Example Creating an account Features Calculate the total of an account Display the total of an account
8
Feature Teams Chief Programmer Temporary 2-week team
Members can be in multiple teams Feature Team 1 Feature Team 2
9
Class Ownership Individual class ownership Sense of ownership
Local consistency Quicker changes Local expert
10
Roles Project Manager Chief Architect Development Manager
Chief Programmers Class Owners (Developers) Domain Experts
11
Supporting Roles Release Manager Language Guru Build Engineer
Toolsmith System Administrator
12
Process Development Creates Lightweight Well-defined Simple
Repeatable success Scalability to larger projects Result focus rather than process micro-stepping Shorter learning curve Creates
13
FDD Process Template ETVX
Entry Criteria Tasks Name Teams involved Optional/required Description Verification Exit criteria
14
Develop an Overall Model
Five Processes Startup Phase Develop an Overall Model Develop an Overall Model Build a Features List Plan By Feature Design By Feature Build By Feature Build Feature List Plan By Feature Construction Phase Design By Feature Build By Feature
15
1. Develop an Overall Model
Entry Domain experts, Chief Programmers, Chief Architect selected Tasks Form modeling team Domain walk-through Develop the model Verification Internal and external Assessment Exit Object Model created
16
2. Build a Features List Entry Tasks Verification Exit
Domain experts, Chief Programmers, Chief Architect selected Tasks Form feature list team Build Feature List Verification Internal and external Assessment Exit Features List Created
17
3. Plan By Feature Entry Tasks Verification Exit
Features List completed Tasks Form the Planning Team Determine the Development Sequence Assign Business Activities to Chief Programmers Assign classes to Developers Verification Self Assessment Exit Development plan
18
4. Design By Feature Entry Tasks Verification Exit
Planning process completed Tasks Form feature team Domain walk-through Develop sequence diagrams Refine the object model Write class/method prologues Verification Design inspection Exit Successful design package
19
5. Build By Feature Entry Tasks Verification Exit
Design package created Tasks Implement classes and methods Code inspections Unit test Promote to build Verification Exit Completion of client valued feature
20
FDD Model
21
Track by Feature Feature Progress Design by Feature (DBF)
Processes 4,5 Design by Feature (DBF) Domain walkthrough (1%) Design (40%) Design Inspection (3%) Build by Feature (BBF) Code (45%) Code Inspection (10%) Promote to Build (1%) DBF BBF
22
Parking Lot Report
23
Parking Lot Report
24
Feature Set
25
Pros Adaptable to large projects Progress tracking/reporting
Frequent tangible results Class ownership Concise processes Emphasizes quality Just enough design initially
26
Cons Not as powerful on smaller projects
High reliance on chief programmer No written documentation
27
Conclusion Agile process Five processes Feature driven
Develop an Overall Model Build a Features List Plan By Feature Design By Feature Build By Feature Feature driven Produces frequent tangible results
28
Questions?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.