Search:

ProjectConnections Print View


Got a Question?
Drop us an email, or call us toll free:
888-722-5235
7am-5pm Pacific
Monday - Friday
We'd love to talk to you.


Learn more about ProjectConnections and who writes our content. Want to learn more? Take a site tour and compare our membership levels.


Get Instant Access to Over 200 Templates and Hundreds of Resources
Become a Member »

Agile Method Brief – Feature Driven Development (FDD)


Quick Summary
A quick overview of Feature Driven Development (FDD)—an iterative software development methodology intended for use by large teams working on a project using object-oriented technology.


This template requires a Premium Subscription
Please log in. Don't have a log-in? Sign up now. Already a Member? Log in to upgrade immediately and get the file! A Premium subscription is only $14.95/month or $149/year and gets you over 200 templates, guidelines, and checklists.
15-day free trial period for new Premium subscribers! Learn more
Log in to download this file

Username:  
Password:  

What this is

Feature Driven Development (FDD) is an iterative software development methodology intended for use by large teams working on a project using object-oriented technology. The methodology description includes some prescription about what tasks should be done and what roles should be doing them, so many do not consider it a truly agile methodology. FDD is good for organizations that are transitioning from a phase-based approach to an iterative approach but are not comfortable getting rid of all task and role assignments.


Why it's useful

FDD is useful because it demonstrates that you can focus on domain modeling on an iterative and incremental project, and because it demonstrates that agile-like methodologies can scale. FDD shows that teams can spend a short amount of time at the beginning of the project to establish a clear understanding of the domain in which they are working and use that understanding to formulate a rough plan without getting stuck in analysis and design paralysis.

The fact that FDD was created on a project that was larger than recommended for most agile projects is a sign that methodologies taking an iterative and incremental approach can be used for large projects. The founders of this method chose to facilitate use by a large team by prescribing some tasks and roles, but they also took an approach used by many teams to scale using agile approaches—break the large team into smaller feature-focused teams, instead of small teams organized by role or skill set.


How to use it

  1. Develop an Overall Model: A team is formed of development team members and people familiar with the business domain to build an overall model of the domain, in order to establish the scope of the system and provide a common understanding the of the domain.
  2. Build a Features List: The team then develops a comprehensive list of features and groups these features into feature sets, and then major feature sets.
  3. Plan by Feature: The team establishes a development plan that includes the order in which feature sets will be realized, which Chief Programmers are responsible for which feature sets, and which Class Owners are responsible for each class.
  4. Design by Feature and Build by Feature: The team launches into a series of Design by Feature and Build by Feature iterations where they break into Feature Teams and design, build, and test features in two-week time boxes.
  5. Repeat step 4 until no more features exist.
About the Author

Kent J. McDonald, partner and co-founder of Accelinnova, has more than a decade of experience guiding successful projects and designing business solutions in a variety of industries, including financial services, health insurance, performance marketing, human services, non-profit, and automotive. By addressing common questions about project leadership, Kent demonstrates how agile practices can be applied in organizations, focusing on his "Words To Lead By: Collaborate; Iterate; Serve The Team; Consider Context; Practice Excellence; Reflect And Adapt; Deliver Value."

Kent has a Bachelor of Science in Industrial Engineering from Iowa State University and an MBA from Kent State University. He is co-founder, and Treasurer of the Agile Project Leadership Network, is a founder of the Agile Iowa Group, and is on the planning committee for the Agile 2007 Conference. He welcomes questions about project leadership with a focus on value at kent@kentmcdonald.com.


This template requires a Premium Subscription
Please log in. Don't have a log-in? Sign up now. Already a Member? Log in to upgrade immediately and get the file! A Premium subscription is only $14.95/month or $149/year and gets you over 200 templates, guidelines, and checklists.
15-day free trial period for new Premium subscribers! Learn more
Log in to download this file

Username:  
Password:  





Related Templates
Agile Overview and Core Methods
This paper by ProjectConnections Director of IT Content Kent McDonald provides an overview of the key historical statements created by members of the agile community to codify the value set and principles shared by agile software development and agile project leadership methods.

Selecting Appropriate Agile Methods
Assess some key characteristics of your project team and environment, and compare them against the characteristics of several Agile methodologies to determine which is the best approach for you.

Checklist for Trying Out Agile
A checklist summarizing one proven approach (of many) for applying and learning agile methodologies on a single project, as an experiment.





©Copyright 2000-2014 Emprend, Inc. All Rights Reserved.
About us   Site Map   View current sponsorship opportunities (PDF)
Contact us for more information or e-mail info@projectconnections.com
Terms of Service and Privacy Policy