01 May Is it an execution? Or an evolution?
This Weekly Inspection is brought to you by Charles Darwin.
One of the first things we get caught up in when transitioning to an Agile environment is vocabulary. We don’t estimate anymore, we’re sizing now. We’re not writing requirements anymore, we’re crafting user stories. Good bye project post-mortems, hello retrospectives.
There’s good reason for most of this. Our words bring with them a lot of baggage, and more often than not, there’s an entire philosophy behind one word. Matt Badgley does a great job of drawing out the importance of using words appropriately in his blog. Using the wrong word, or using the word wrong, can have a significant impact on a team’s ability to deliver.
Consider the word “execution”. When we talk about executing projects, we’re suggesting that:
- It’s simply a matter of taking the right steps
- We know what those steps are
- We know how long those steps will take
- We know that taking these steps is the right idea.
The problem is, none of those statements are true. Software development isn’t simply a matter of planning out the steps and completing tasks. The best software is discovered over time through experimentation. When you catch yourself wanting to communicate (or think) in terms of execution, try replacing that word with “evolution”. When your customers and stakeholders ask you about project execution, respond with a description of the evolution.
Software evolves. This means:
- We have a solid understanding of the problem we want the software to solve, and an understanding of the solution that becomes clearer every day.
- We’ve discovered a few things during this project that have given us more insight into where we should focus.
- We have options. We’re not locked in to delivering what we specified at the beginning of the project.
Software delivery failure is typically not a failure of execution. It’s usually a failure to adapt to changing circumstances.
What do you think? Is “evolution” a better framing device than “execution” for managing software delivery?
Do you have an idea for the Weekly Inspection? Please send it to me @johnkrewson.