When designing metrics to measure your Agile process, it’s important to recognize that not all metrics are fit for all organizations. It wouldn’t make sense to measure blood sugar everyday for a patient not prone to diabetes who shows no symptoms, so it wouldn’t make sense to buy any of the special equipment to do so nor spend the time to do it. The point is that to determine the optimal metrics for your organization, you need to examine your current processes and determine where your problem areas are as well as your goals. If we are an organization that uses an Agile development process, let’s start by looking at two key Agile objectives of quality and velocity:
Quality Software: One of the main objectives of Agile is to provide not only working software, but software that is free from defects. This being said, it’s important to stop any defect – especially one that would impact the customer or end user – in its tracks prior to production. If key problems that impact your end users and how they view your software quality enter production, jump on them fast.
Velocity: One of the main concepts is that we are supposed to produce good quality software FASTER. Anything that measures elements that would slow us down or keep us from meeting our delivery schedule is important, and anything that makes us faster, keeps us from wasting time or makes us more productive is important for Agile. Additionally, the concept of having working software early in the process is a key part of Agile. Each step is supposed to provide software that works so that feedback can be obtained quickly and developers can nimbly switch directions or add/subtract requirements if needed. Therefore, metrics at each step or iteration that indicate the software is not working are critical.
Anytime you are considering metrics, you need to link them back to an objective. What will you do with this metric? Does it help you meet the two Agile objectives of quality and velocity? I’m looking forward to discussing this during my session at QUEST in April. Come join in the fun!