“Any observed statistical regularity will tend to collapse once pressure is placed upon it for control purposes. It is wrong to suppose that if you can’t measure it, you can’t manage it” – W. Edwards Demming

When I was a baby engineer, the VP of Engineering where I worked decided to measure build breaks as a proxy for quality. He was so excited by this, he then went wild with power and decreed that no developer can break the build more than once per quarter. So much quality, right?

You can guess what happened next – no developer committed to the code base more than once every four months, those changes were huge, and tracking down where the build was broken took months.

This is an example of Goodhart’s Law:

“Any observed statistical regularity will tend to collapse once pressure is placed upon it for control purposes.”

Charles Goodhart

As soon as you start using metrics to manage people, those people will change their behaviour to game those metrics. It’s better to use measurements as a temperature check to examine your Engineering system then zooming into areas that aren’t working using qualitative techniques (a fancy way of saying TALK TO YOUR ENGINEERS).

What metrics are best?

In Working Backwards, Colin Bryar and Bill Carr at Amazon describe two types of measures: Output and Input metrics.

  • Output metrics: Measure how successful a process or activity is.
  • Input metrics: The activities that lead to changes in output metrics,

Most of us concentrate on output metrics, for example looking at defect rates, but forget that there is little we can do to directly improve that measure. To drive down defect rates, we might think about how much testing is automated and how often those tests run – this is your input metric.

Choose output metrics that align with the value you want to give to your customers and choose input metrics that you think will improve those. Always start with customer value.

Measure multiple dimensions

Don’t be like the VP – balance your metrics across multiple dimensions. Nicole Forsgren describes five dimensions for highly effective engineering teams:

  • Satisfaction and Wellbeing
  • Performance
  • Activity
  • Communication and Collaboration
  • Efficiency and Flow

You want your metrics to balance across two or three of these to avoid forcing your teams into strange behaviours.

Another example, if you’re measuring number of commits (activity) only, then it’s going to be really easy for teams to stop helping each other while trying to optimise getting code into mainline.

Balance is the key.

Being data-driven is really fashionable, especially as business push to do more with fewer people. Being only data-driven is not enough, remember your teams are people, remember your teams need to collaborate. In the end, engineering is a human endeavor.

If the only tool you have is a hammer…

I’ve been talking to a lot of engineering leaders and every one of them asks some variation of, “What are the best tools to use?” Behind the question seems to be the idea that with the perfect set of tools, organizational transformation is easy.

No!

If you want a modern, effective, and motivated engineering team, tools alone will not help. You have to put the work in! It’s how you use the tools that’s more important, and that means process.

  • How does your business make decisions?
  • How do you communicate those decisions to teams?
  • How do teams turn those decisions into real customer value?
  • How does that value get into the hands of customers?

Make sure these are are in place first, then look for and use tools to support that. If you look at tools first, then you’re in danger of letting those tools decide how your business runs.

When I started my agile journey twenty-five years ago, we ran a full agile transformation using marker boards, post-it notes, spreadsheets, pen and paper. We didn’t have Slack, JIRA, GitHub, or CI, but we did have clear processes. This set us up to be able to pick the best tools as they emerged.

Start with asking “why” and “how” before running towards “what”.

There’s a voice that keeps on calling me

I’m Generation X – the lost generation who grew up too late to get the post-War bonus, too early to fully embrace the modern world. Growing up in the 80s, I was obsessed with a Canadian children’s programme called The Littlest Hobo. Every episode basically followed the same plot:

  • The eponymous Hobo, a super-smart German shepherd, travels from town to town across Canada.
  • When they arrive in a new place, inevitably something needs to be fixed to make the townpeople’s lives better.
  • Hobo inspires and helps the townspeople to solve their problems, learn valuable lessons, and then moves along to the next adventure.

Finding myself “unexpectedly available for work”, I’ve recently been thinking a lot about career and looking at my LinkedIn profile, remembered that I’m a Littlest Hobo.

Staying at one place, doing the same role, with the same people is not for me and I suggest shouldn’t be for you either. Without change, without growth, without the ability to learn, we’re stagnant.

We should all be like the Littlest Hobo and move on once our chosen townspeople can solve their own problems.