Feature-Driven Development: An Agile Alternative to Extreme Programming


in the way it transforms domain models into source code. The first step an XP-er or Scrumm-er needs to take in order to understand it is to temporarily suspend their belief that the code is king and imagine it might be possible if the domain model were king instead.

FDD is an agile method that treats the model as if it was the source code for nearly all but the implementation details of individual classes. In FDD, the domain model is valued over documentation, and it is also valued over the source code (which must be written under closer control/supervision than with XP/scrum). The source code is still valued, but the model is valued more, and it is a much more visual way of communicating system information to more than just programmers.

For some interesting and profoundly insightful and practical extensions of FDD that tie it together with other process improvement methods like Lean, the Theory of Constraints, and Six Sigma, I strongly recommend taking a close look at the work of David Anderson, author of Agile Management for Software Engineering. In particular, his paper and presentation on Feature-Driven Development: Toward a TOC, Lean and Six Sigma Solution for Software Engineering.
Here are some further resources about FDD so folks can learn more and become more aware of the fact that XP isn't the only agile game in town when it comes to development practices (scrum and DSDM are focused primarily on planning rather than development practices):


• Feature-Driven Development and Extreme Programming, by Stephen Palmer - Superficial Similarities Between Feature-Driven Development (FDD) and Extreme Programming (XP) hide a number of very important differences between the two processes. This article provides a short comparison of FDD and XP.
• Jeff DeLuca's FDD website including the latest description of FDD processes and an FDD Overview presentation
• The FDD Portal
• David Anderson's Channel FDD articles (scroll to the far right-hand-side)
• Implementing Cognizant Feature-Driven Development using MS VSTS (whitepaper)
• Delivering Business Value using FDD, by Grant Cause, from the Winter 2004 Methods and Tools Newsletter, pp.23-35


About the author

AgileConnection is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.