Section 5: Agile and Lean Measurement ( Section 3.2 )

Checklist

  • Identify the differences in the purposes of agile and plan-driven measurement
  • Recognize your agile measurement goals
  • Select the most important agile metrics for your purposes
  • Learn practical guidelines for measuring agile and lean software development

Description

Agile methods are inherently empirical – they use metrics (see Agile metrics classification) and practices rigorously to achieve a good match between the delivered software and customers' expectations. In Agile mindset, estimating is applied as a way to predict how much the team can get done to guide sprint planning—not as a target that should be achieved as closely as possible. For example, a team's velocity is used in XP to assign a sustainable amount of work to the team and plan the iteration contents accordingly, whereas traditional planning would set the team a productivity goal as given and track team performance against that goal.

Agile methods emphasize measuring progress in terms of working software over measuring intermediate work products (documents) and strive for making the measurement simple and immediate. Overall, Agile methods create two types of conflicts to Traditional measurement approaches (see Table - The contrast between agile and traditional measurement programs). First, the traditional approach of tracking progress against a pre-made plan and measurable goals conflicts with the Agile value of embracing the change. Second, the standard quality measurement approaches propose a rather comprehensive set of metrics, which does not align well with the Agile principle of simplicity.

The following table shows the contrast between agile and traditional measurement programs:

The contrast between agile and traditional measurement programs