So often we get on the bandwagon without really thinking about why, and whether what we’re doing is actually helping us to be as successful as we could possibly be. Trundling along mindlessly is the surest path to mediocrity, stagnation and ultimate death (in the metaphoric sense!).
Hopefully, the agile practices your team chooses to adopt are a conscious expression of the Agile Principles- a set of truths expressed with an intent to maximise software delivery team success. But how conscious are you when choosing to adopt specific practices and do they genuinely set your team up for success when applying an agile way of working? As you apply one of the many agile methods (Scrum, Kanban, Lean, XP etc) to the way you deliver software to your customers, it’s worth taking a moment to reflect on the principles that aim to guide us on this path.
It’s no surprise that every project team and context is unique. The intent of the principles is to honour that. They’re guiding truths to help each team determine a way of working that reflects their unique context and iterate in a way to best meet the principle’s underlying intent. Apply, reflect, refine, reapply. And so, the continual loop of evolution unfolds. Having a system of measurement and related agile metrics in place is the fuel to making this loop as effective as possible. How else do you know for certain whether your practices are truly setting your team up for success in the agile way of working?
Within the Agile Manifesto for Software Development, the full list of 12 agile principles form a set of ‘wholistic’ guiding truths that bring the four agile values to life. I want to call out 7 principles in particular and share my thoughts on how agile metrics and a system of measurement help embed these principles into your team’s way of working and keep the principles as living truths in your team.
‘Deliver working software frequently, from a couple of weeks to a couple of months, with a preference for a shorter timescale’
Assuming ‘working’ software refers to work that has been deployed and is being used by its intended customers, a system of measurement that gives insight into the tempo or cadence of your team is vital. Common metrics that verify your team’s throughput, or speed in classical lean terminology include:
- Lead Time measures the total time from the moment a story enters the workflow (i.e. the backlog) until it is released to customers. This provides insight into the time for a requirement to be realised and start earning value – the speed of you value chain.
- Deployment frequency tracks the number of times you deploy to production in a time period. This is also a good metric to use when the goal is to do more smaller deployments as often as possible.
‘Business people and developers must work together daily throughout the project’
The key takeaway for successfully applying agile metrics is to ensure agile terminology is commonly understood across all disciplines within the company. You all have to speak the same language if you’re going to support each other in maximising success. It also becomes very difficult to influence and align stakeholders outside of engineering if they don’t speak your language when reporting on progress, productivity or performance of your software delivery teams. This is consistently one of the greatest cultural divides I see within an organisation, surprisingly even for those that would identify as a technology or product company. There’s no point tracking anything if you’re not all on the same page on what it means and why.
‘Build projects around motivated individuals. Give them the environment and the support they need, and trust them to get the job done’
Autonomy, mastery and purpose are the three most common characteristics of self-motivated people, according to Daniel Pink in Why (see my earlier post on how to boost your team’s success). We harness the power of what intrinsically motivates us by providing our teams with an environment and culture that feeds autonomy, mastery and purpose. Google’s Aristotle Project named Psychological Safety (the degree to which we can take risks in this team without feeling insecure and embarrassed) and Dependability (counting on each other to do high quality work on time) as two characteristics required to build a supportive, high performing team environment and culture, But what are the signals or metrics you use to ensure you’re on track? Whatever tools you provide to assist self-managed teams collaborate and take control of their learning, these cultural aspects need to be named and applied for any agile measurement system to be effective and trusted.
A couple of easy signals that speak to a supported and safe environment from Umano reference insights into team communication flow. Notably Communication Balance highlights whether there is distributed and equal contribution occurring or whether the online team is dominated by a few members. Responsiveness understands the average response times when individuals or the broader teams is asked for help.
‘Working software is the primary measure of progress’
Common metrics that verify the health of your working software are referred to as stability or reliability metrics. These counterbalance to the tempo metrics above guard against the pursuit of speed over quality. They might include:
- Releases that pass QA requirements provide confidence that governance controls are in place and relevant
- Change Fail Percentage provides insight into what a percentage of changes to production (software releases and configuration changes) fail.
- Mean Time to Restore – how long it takes to resolve or rollback an error in production
- Defect Escape Rate aims to keep bugs out of production by tracking the defects that are found in production either the team or by your customers.
Customer behaviour metrics could also be considered to provide a more wholistic view of understanding the health of working software. Otherwise you’re back to tracking outputs, and not outcomes related to your software. Example metrics to support this principle could include:
- Net Promoter Score – the extent to which you customers would promote you to others
‘Agile processes promote sustainable development. The sponsors, developers and uses should be able to maintain a constant pace indefinitely’
News flash: Washed up, burnt out and overly stretched teams aren’t their most productive and deliver poor quality work. Thinking that somehow this way of working delivers results means your way of working is stuck in the 1990’s. I’m not denying the need for a surge of energy to get a release or piece of work to meet a deadline, but you’ll be you’re out of balance. When you push the pendulum too far in one direction, it’s only going to swing back with equal force to its natural opposite. With the aid of a few simple measures to flag responsively when a practice is uncharacteristically out of range, a team is empowered to reflect, reset expectations and course correct. Any good system of measurement takes into account the balance of all metrics to affirm sustainable development and whether the pace is consistent or not.
‘At regular intervals, the team reflects on how to become more effective, then turns and adjusts its behaviour accordingly’
Retrospectives are the most common means for building a reflective practice for an agile team. Unless concrete examples, evidence or facts from metrics are referenced, interactions run the risk of becoming subjective, biased leading to suggested improvements that are reactive and not strategic. Observing trends is a powerful way to determine where a team needs to focus its energy to improve. Having a measurement system in place also provides responsive feedback on whether the improvement is delivering the desired outcome or not, feeding your next retrospective with further opportunities to iterate on what’s working.
Thrive by keeping the principles alive!
Get intentional about making the agile principles living and breathing truths in your team by applying a system of measurement with related agile metrics. Having the facts at hand to guide your team’s continuous improvement is the key to maximising your team’s success and staying ahead.
Umano is on a mission to help self-directed teams succeed by providing real-time feedback with data-driven insights that help agile teams to continually improve and stay ahead.
Sign up here to access your complimentary Umano account and see how your team’s agile sprint practices are tracking.
Join our slack community to learn from others and be a part of the data-driven movement to improving team performance.