Feature Driven Project Management for Agile Project Managers

Written by:  • Edited by: Ronda Roberts
Published Jan 31, 2010

So, the client has read about the benefits of feature driven development and now wants you, the Agile Project Manager, to use feature driven development in the project. Don’t fret, the intricacies of feature driven project management are explained here.

Introduction

As an agile project manager, your goal should be to deliver software functionality that provides the client value at the earliest possible time. You can achieve this by using feature driven development. Managing a feature driven development project becomes easier by understanding feature driven project management.

Conventions and Terms in Feature Driven Development

Understanding feature driven project management is easier if you know the key terminology and conventions used. In a feature driven development project, software features are grouped together in feature Sets. A grouping of feature Sets is called subject area. The subject area is usually a major subsystem of the software.

To understand the relationship between features, feature sets, and subject areas, let’s take an example. Features sets are usually named after business activities. Each feature set starts with a verb in the gerund form. An example of a feature set is:

Updating customer details

This feature set will belong to a business management area, which is called a subject area in feature driven project management. Subject Areas are named as follows:

Account management

Lifecycle of a Feature

A feature can take as little as 3 to 4 hours of effort. Regardless of the planned effort of a feature, all features will go through the following milestones:

  1. Domain Walkthrough (1%)
  2. Design (40%)
  3. Design Inspection (3%)
  4. Coding (45%)
  5. Code Inspection (10%)
  6. Promote to Build (1%)

The percentage value next to each milestone represents the effort expended for that feature. For example, if you completed the design of a feature then you would have expended 41% of the total planned effort for the feature.

Tip: Have a closer look at the milestones and you will see that these milestones make it relatively easier to track each feature to completion. Hence, feature driven project management enables easier tracking of client valued functionality.

Scheduling Feature Driven Development Projects

The feature lifecycle gives you hints on how to go about scheduling the project. Steps 1 to 3 need to be completed first before proceeding further. The interdependencies between feature sets need to be known. Each feature set may also have interdependencies. The best to determine the complicated relationships between each feature set is by creating a precedence diagram. You can then either use the critical path method or PERT for each subject area. Use the feature sets as activities in the precedence diagram.

As you can see from the project management jargon in the previous paragraph, understanding feature driven project management requires you to have a solid foundation on basic project management principles. To gain better understanding of creating a precedence diagram, read the following articles:

Monitoring Feature Driven Development Projects (Project Status)

Any project management methodology you follow should have robust monitoring and controlling processes. Apart from using the tip provided in the feature lifecycle section, use plotted charts in your work bay. Each plot should illustrate the feature sets in a subject area. By using a color coded scheme, you can easily track feature sets, which are:

  • In-progress
  • Complete
  • Require attention
  • Blocked
  • Late

These plots ensures each member of the team is aware of the current project status. However, as an agile project manager, you will be required to give status to other stakeholders, such as the project sponsors. For these stakeholders, create a dashboard that provides information relevant to them. Information, such as current percent of client-value functionality completed and number of features completed, is useful for such stakeholders. The information on this dashboard should directly show how far you’ve progressed in delivering client-value to the stakeholders.

Lastly, follow the usual practices of project management, such as creating a risk breakdown structure, managing risk, protecting the project against costs, and managing scope creep. Understanding feature driven project management takes a little getting used to because of the unique terminology. However, it is one of the best project management methodologies around. Don’t hesitate to try it out.


 
blog comments powered by Disqus
Email to a friend