What is Agility?
Strictly speaking, ‘agile’ is an adjective, a descriptive word… like “nimble” & so the more obvious title “What is agile?” probably would have made a small, hardcore, fraction of people up-chuck a little in their mouths. (I am not so offended on this one, but tell me something is “addicting” and I will develop an unruly lower eyelid twitch). I think the reason behind this is due to how commercialised and corporate the term has become over the years – ironically, as the original manifesto moved thinking in a completely different direction.
I personally feel that the word “Agile” has come to represent a whole bunch of concepts that are far from the core meaning, but are for the most part complimentary. I have been asking colleagues and most interview candidates about what they think “Agile” means, partly because I’m actually interested in what the word has come to represent to most people, but also because I feel the need to simplify things.
If you ask me, “Agile” or “Agility”, is simply organising development in such a way that value is added in iterations that are as short as possible. We do this so that we can change direction quickly when new priorities come to light, but also to understand what those priorities are by getting feedback from our customers on how well our changes are addressing their needs.
That’s really it.
That’s what the word actually means when applied to development; to be “agile” implies the ability to change direction quickly – to achieve this, we need to be in a situation where the product or service is added to, and verified to be working, very regularly.
It’s interesting to hear how other people see the term, some examples of responses to the question “What does Agile development mean to you?”
“…Using Jira..” (this is the most common, I can only commend Atlassian for what was clearly an effective marketing campaign!)
“Where developers are expected to work in multiple languages and technologies”
“Using Scrum” or “Running sprints”
“Scrappy development”
… and the list goes on…
It’s a shame, because the terms’ meaning has diluted almost to the point of being worthless as a term. Plenty of people dislike certain processes or tools that have been touted as Agile and a distaste for the whole idea starts setting in.
Once this happens, it’s very hard to un-taint the word and to get buy in for any concepts related to it. So much so, that at certain points in my career, I’ve needed to agree with my team that we should avoid using the word “Agile” entirely when suggesting ways of working that would otherwise be placed under this umbrella, and use terms like “Regular release cadence” and “Milestone demonstrations” instead. Such is the distaste that arises from the word.
I think what I love so much about the Agile movement (quite apart from the fact that if applied well it really works) is the acceptance that we mortals are not able to predict the future with certainty… that we are not all terrible at our jobs for being unable to do so and that change is about the only thing we can be certain of, so we need to be adept at responding to it.
What a relief!!
After years of everyone feeling like they’re failing and all the bluster and ass covering that tags along with it. Hurrah for accepting our imperfections! Let’s focus on adding value!