1 / 28

Feature Driven Development

Feature Driven Development. By: John Bonjean. Overview. History Definition Key Concepts Process Reporting Pros Cons. History. 1997 Jeff De Luca Peter Coad Singapore Bank Large Scale Software Project Create alternative to Waterfall process. Feature Driven Development (FDD).

sani
Télécharger la présentation

Feature Driven Development

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 totalofanaccount • Display the totalofabalance

  7. Feature Set • Group of Business Related Features • <action><-ing><a/an><object> • Example • Creatinganaccount • Features • Calculate the totalofanaccount • Display the totalofanaccount

  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 • 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. 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 • 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 • 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 • 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 • Design package created • Tasks • Implement classes and methods • Code inspections • Unit test • Promote to build • Verification • Code inspections • Unit test • Exit • Completion of client valued feature

  20. FDD Model

  21. Track by Feature • Feature Progress • 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%) BBF DBF

  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 • 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?

More Related