A while back I wrote some notes on Agility for our team, and I’ve been encouraged to share these more widely, so with that context in place – read on!
– Andrew Cooke
What does agility mean for an organisation? Ultimately it is the ability to change and adapt in response to changes in environment. In Darwin’s terms, an “agile” species is a species that is “fit” for the environments in which it may find itself.
Organisations embrace agility to “vastly improve the flow of value to the market”, as the delivery of value (customer value, new products, and team and shareholder value) is a key measure of success and longevity. Businesses that stop delivering value eventually become extinct.
In the context of our business which principally delivers software and data, the value does not lie in the software or data itself, no matter how clever, the value is in the way the software or data helps to solve problems, enable better decisions, or meet market needs.
There are several aspects to improving agility, including:
1. Assessing and prioritising real value
For customers of our software development teams, this is often the hardest part of engagements. Our customers always have a wish-list of potential ideas and features – and finite time and budget. It’s not clear to everybody how best to assess the relative value of their ideas.
The same might go for our own product development effort – deciding which features should be done first, and how far we need to go to deliver most of the value. Sometimes this value can’t be truly assessed without piloting or trying the change or new idea with its potential users.
2. Supporting behaviour change
Behaviour change is necessary to get the benefit out of any software or system change – and behaviour change is something that people do (end users and those who interact with them).
In some ways, helping farmers and end users change their behaviour is the most valuable thing we can do for our customers and the market. The same goes for improvements inside our business.
3. Reducing cycle time
Cycle time is the measure of the time between defining a potentially valuable idea and starting to reap the value of that idea (or if the value is unknown, at least being able to test the value and learn). Really this should include all the time taken to specify, design, develop, test, deploy, train, and finally get behaviour change – although usually only the aspects to deployment are measured.
Cycle time is important because if a fantastic, potentially valuable idea, can’t be tried with real users and start to get that value for 6 months, there may be 6 months of unnecessary costs or lost revenue. Agile techniques in software development focus on incremental, iterative delivery, opportunity for the customer to change and reprioritise work, and early and regular deployment of changes.
4. Cultivating a mindset that supports agility
The personal mindset is critical to team and business agility. We want to embrace a mindset of curiosity, openness to change and discovery. It is this mindset that allows us to reflect with our customers and discover better ways to solve problems. It is this mindset that will allow us to improve the way we deliver.
To continue to embrace “agility” as an important value in our organisation, we need to focus on understanding where the real value lies for our customers and our business and prioritise work on the most valuable items. We need to understand that value doesn’t come from technology alone, but from end users (and ourselves) having open minds, making better decisions, and changing behaviour. We need to continually look to reduce the time that it takes for us to deliver value into the hands of our customers and end users.
Hard work – but exciting to aspire to because this is how, together, we will deliver value to society.