InfoQ

News

Feature Driven Development : Still Relevant?

Posted by Deborah Hartmann on May 11, 2006 01:28 AM

Community
Agile
Topics
Agile in the Enterprise,
Methodologies
Tags
CMM/CMMI,
CM,
FDD,
MDA
Brad Appleton is known to the Agile community for his work in the area of configuration management, including his work on Software Configuration Management Patterns: Practical Teamwork, Effective Integration. Recently, he has also been blogging on Feature Driven Development - not surprisingly, since FDD is described as one of the few agile methods that explicitly mentions software configuration management. Those blog entries have now evolved into a complete article in April's issue of CM Crossroads, whose theme is Agile Development Practices.

Feature-Driven Development was initially described by Peter Coad and Jeff DeLuca in chapter six of the book Java Modeling in Color with UML, published in 1999. At the time some dismissed it, saying it retained too much from traditional "waterfall" methods. For example: unlike Extreme Programming, which is test-driven and promotes "generalists", FDD is more model-driven and retains the concept of specialist roles. FDD also has defined activities with explicit entry and exit criteria, so has a higher level of ceremony than many Agile methods. This pdf quick reference gives a quick summary of FDD's phased activities.

And yet it has since developed into a complete methodology with notable promoters within the Agile community. So which is it? Too heavy? Too phased? Or Agile enough to be worth another look?

In his thorough CM Crossroads article Feature-Driven Development - an Agile Alternative to Extreme Programming Appleton outlined the practices of FDD, including the optional practice of "modeling in colour" and then compared it with Model-Driven Development and the far end of the Agile spectrum, Extreme Programming. He concluded that FDD fills certain process gaps without giving up Agility, summed up by his observation that "FDD is Football-Driven Development (and XP is Rugby)". The arcticle ended with a list of resources for further reading on FDD.

It is worth noting that Appleton recommends FDD as an Agile method suitable for a large projects and companies, especially those striving for CMM/CMMI certification, suggesting that FDD may be worth a look for those in a position to choose or recommend an enterprise development approach.

Related Sponsor

VersionOne is recognized by Agile practitioners as the leader in Agile project management tools. Companies such as Adobe, BBC, CNN, Dow, HP, IBM, Sony and 3M have turned to VersionOne to help deliver greater value to their customers.

No comments

Reply

Exclusive Content

Tapestry for Nonbelievers

A new article by I. Drobiazko and R. Zubairov introduces v. 5 of the Apache Tapestry component-oriented web framework. The tutorial shows how to create a component and covers IoC in Tapestry and Ajax.

Pete Lacey on REST and Web Services

In this interview, Burton Group consultant Pete Lacey talks to Stefan Tilkov about his disillusionment with SOAP, his opinion on REST, and addresses some of the perceived shortcomings REST vs. WS-*.

Business Natural Languages Development in Ruby

Jay Fields presents his concept of Business Natural Languages - a type of Domain Specific Languages geared towards being readable by domain experts.

Distributed Version Control Systems: A Not-So-Quick Guide Through

Adoption and interest for Distributed Version Control Systems is constantly rising. We will introduce the concept of DVCS and have a look at 3 actors in the area: git, Mercurial and Bazaar.

Segundo Velasquez and Agile as Seen Through the Customer's Eyes

Deborah Hartmann interviewed Segundo Velasquez about his experience as customer with an Agile team during the initial phase of software design of a product.

Fine Grained Versioning with ClickOnce

David Cooksey shows how to fine grained versioning to a ClickOnce deployment using an HttpHandler written with ASP.NET, making partial rollouts to a test audience much easier.

Implementing Manual Activities in Windows Workflow

Windows workflow (WF) is an excellent framework for implementing business processes, but lacks support for human activities. This article describes a completely generic approach for changing this.

Markus Voelter about Software Architecture Documentation

In this interview taken during OOPSLA 2007, Markus Voelter talks about the importance of documenting the software architecture, and gives some good and also bad examples on how it could be done.