Agile Development and Software Metrics


Productivity measurement involves function point analysis along with determining the amount of effort expended. A typical calculation for productivity is function points delivered per effort hour (FP/Hr). When using waterfall methodology, you typically measure the function points delivered and the effort hours at the final implementation phase of the project. When you use an agile methodology, you can take such measurements during the implementation phase, but you can also gather them at the end of a specific sprint. In the former case, the productivity rate reflects the delivered functionality, as it is for a waterfall project. In the latter case, the productivity measurement reflects the function points developed for that sprint.

Productivity may be impacted when functions are enhanced in more than one sprint for a given project. However, the trade-off is that the projects developed using agile methodology may be able to deliver at least some functionality at an earlier point in time, which in turn can increase customer satisfaction.

Let’s say that for the two examples, the effort for the first sprint was 1,000 hours in each case. Additionally, for the second sprint of the first example, the effort was 250 hours, and the effort for the second sprint of the second example was 1,450 hours. You can attribute the difference to the amount of rework for the second example. Now, let’s calculate the productivity.



Productivity Measure

Example 1


21 FPs / 1,000 hours = 0.021 FP/hr.



4 FPs / 250 hours = 0.016 FP/hr.



25 FPs / 1,250 hours = 0.020 FP/hr.

Example 2


21 FPs / 1,000 hours = 0.021 FP/hr.



25 FPs / 1,450 hours = 0.017 FP/hr.



25 FPs / 2,450 hours = 0.010 FP/hr.

Table 3. Productivity Measurements

Notice that the overall productivity for the second example is lower than the first example even though the same functions are delivered. This is due to the rework required for the second example.

Quality is defined as the number of delivered defects per function point (defects/FP). Related measurements include the defect removal efficiency, which is the ratio of the defects resolved before delivery to the total number of the defects you found, and defect cost, which is the cost of correcting the defects. Quality metrics are often evaluated at the same project phase as productivity metrics. When using waterfall methodology, you can evaluate quality metrics during the implementation phase of projects, and when using an agile methodology, you can evaluate either at the end of a story or sprint or during the time of when you should deliver your projects.

The second example shows that some functions counted more than once for the same project since one agile sprint creates functions and the next one changes them. The effort for changing the functions in the second sprint may be planned, as part of the entire project, or unplanned, due to scope changes. If unplanned, it may be due to either new or changed requirements or defects. You must take care to ensure that the function point count as well as the related quality and productivity metrics accurately reflect the measurement objectives.

About the author

AgileConnection is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.