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
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:
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:
- Domain Walk-through (1%)
- Design (40%)
- Design Inspection (3%)
- Coding (45%)
- Code Inspection (10%)
- 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 percent of the total planned effort for the feature.
Tip: Have a closer look at the milestones and you will see that those milestones make it relatively easier to track each feature to completion. That means that feature-driven project management enables easier tracking of client valued functionality.
The feature life cycle gives you hints on how to go about scheduling the project. Steps 1 to 3 need to be completed first. The interdependencies between feature sets need to be known. Each feature set may also have interdependencies. The best way 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:
Any project management methodology you follow should have robust monitoring and controlling processes. Apart from using the tip provided in the feature life cycle 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:
- Require attention
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.
Last, follow the usual practices of project management, such as
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.