This measurement that encourages behavior.

This measurement that encourages behavior.

Discussions of software development, maintenance and enhancement measurement are generally tense, even at the best of times. Measurement has a significant amount of baggage, ranging from using measures to grade individuals for team activities to measurement without sharing the results with those being measured. Add the philosophies of Agile into the mix and the discussion becomes even more difficult, because, to be optimally efficient, Agile measurement requires an organization to adopt a different set of measurement philosophies that are more inline with the principles found in the Agile Manifesto.

  • Reinforce desired Agile behavior – Measurement has a very strong behavioral competent. You get what you measure, therefore the measures selected need to support and promote the behavior you want in the organization. For example, organizations often try to measure individual productivity or velocity, which reinforces individualism. Where the more Agile behavior would be team collaboration, asking for help and swarming to problems. Measure team productivity and velocity rather than focusing on individuals.
  • Focus on results – Agile techniques are geared to delivering potentially implementable functionality early and often. Potentially implementable functionality equates to value for the organization. Agile measurement should focus on the value that is delivered. Examples of value would include functionality delivered, stories completed or estimated business value.
  • Measure trends – The direction a measure is trending is typically more important than an individual observation (common cause versus special cause variation). Given the short cycles (sprints) most Agile teams use, teams can accumulate enough observations of their processes and the functionality being delivered to understand whether they are improving or not.
  • Easy to collect – All measurement requires effort, typically from both the people doing the measurement and those being measured. The overhead of measurement is time that is not being used to deliver value therefore it should be minimized. The measurement information you collect should be easily collected (or in perfect world) be a natural byproduct of the tools and techniques being used on the project.
  • Includes context – Just knowing black and white numbers does not allow nuanced interpretation of performance. Collecting and storing (write story down and save it as text attached to the measurement data) the context that helped generate a specific result will help teams and managers to understand and use the data.
  • Creates real conversation – Measurement needs to generate a dialog in which all stakeholders of IT and projects can understand the value that is being delivered, discuss performance and find ways to improve the delivery of value.
  • Measure only what is absolutely needed – Define and collect measures and metrics that will be actively used to guide the organization or make decisions. Collecting more information than you will need to answer questions and make decisions will generate more overhead for teams to overcome.

All organizations and teams need the feedback that measurement generates. Organizations typically measure for two reasons. The first is to generate specific behaviors, and second to predict the future.  Organizational goals provide the rational for what to measure and the type of measure determines whether it drives behavior or provides direction. In organizations that leverage Agile techniques measurement will be more effective if it embraces Agile measurement philosophies.

Advertisements