When to use Agile FDD
When I talk with software engineering teams about methodologies, Agile Scrum seems to be the one that people are most aware of by far. Many developers are hands-on with Scrum currently or they were in the recent past. Most engineers are also at least aware of the existence of Agile Extreme Programming (XP), even if they’ve not practiced it.
Agile Feature-Driven Development (FDD) is one practice I’ve used with a lot of success, and one that I think should be more popular than it seems to be. I’ve used FDD in my software teams, sometimes taking a hybrid approach, and for several different technical domains.
My experience has been that FDD can work very well in teams that share these traits:
- Developers have a lot of experience in their technical area of the project
- The team has many combined years of experience and can formulate a great design and foresee the major challenges and obstacles
- The quality team is at least partially embedded in the core development team, and the team is using test-driven development