I recently did an introduction to Agile training session for the development team at Digital First. We’ve used agile practices for a while but I wanted to put what we do in context. As with most training sessions the first thing to do was to define what we are talking about, in this case – Agile.
Agile is a small word that is surprisingly hard to define in the software development context. Some people will say it is a set of tools and practices. Some will say it is a set of principles. Some will say it is a methodology, a philosophy, a mindset … and so on.
In truth it is an umbrella term which captures all of these views. However, that doesn’t really help trainees who are new to Agile to get their teeth into understanding what it is and more importantly why we are doing it. What I needed was a simpler definition to capture what the purpose of Agile is.
I turned to the internet. Unsurprisingly there were many definitions out there. Some agreed on the umbrella term and had supporting graphics of jolly umbrellas with lots of agile buzz words sheltered under them. Others graphical explanations said Agile was best understood as an onion, the layers representing tools, practices, principles and so on. Both excellent metaphors but still missing the simplicity of definition I was looking for.
Then I found it. A definition that captured the essence of why we do Agile and that rang true to my own experience of deploying it in digital teams.
Agile is early delivery of business value with less bureaucracy (Alistair Cockburn)
When I flashed this up on a slide the team looked happy with its simplicity. Then I asked them ‘what do you notice that is odd about this definition?’ After some brow rubbing and chin scratching someone piped up ‘Wait, there’s no mention of software’.
No mention of software. No mention of digital. Nor even technology.
At first this seems a bit strange especially as we are a software team, but in fact this is what I love about this definition. It succinctly declares the wider context for why we use Agile at all – to deliver early business value. It just so happens we use software to deliver that value.
We use Agile because it’s the best way we know to do this in complex environments with changing requirements and developing technologies. Agile enables us to bring more certainty to our product builds to identify what’s important and to build and ship the high-value parts to the customer early so they can start enjoying the benefits now, not at the end of a long project cycle.
Umbrellas are useful. Onions I’m not even sure we can live without. But value is truly where it is at.