“The problem with agile is scope creep”, he said
“We run a tight ship here. We’re on a budget, spending public money and can’t afford for things to slip. We need a detailed plan and a fixed contract to hold our suppliers’ feet to the fire when they deviate from it. We have to deliver all of the features, and on-time!”
I’m used to people challenging agile as if it’s unconventional. As if it’s a new, untried, untested thing. The present is here, it’s just not evenly distributed.
But somehow on this day I wasn’t prepared for this challenge. I was flummoxed.
Maybe he did run a tight ship and just hadn’t seen the horrors I’d seen: the service delivered feature complete even though most of the features weren’t needed, the service so complicated it was unusable, feature complete lest the supplier invoked penalty clauses. The system which cost too much to change, which needlessly instructed people to post their passports to an office, needing operational staff post them back unopened. Systems procured with a fixed 10 year contract, and which were already obsolete before they were completed.
Maybe he just hadn’t seen agile in action, how well it works even in non-agile environments.
Then on the train back it hit me. L’esprit de chemin de fer:
The whole point of agile is scope creep!
Any worthwhile thing you work on is bound to be a wicked problem: building changes how you think, changes how your users think, changes the world around it.
Anyone can envisage something, plan it out, get someone else to make it, but that’s missing a trick; software is now so trivial to make you can make lots of things and learn from them.
Anyone can now make a thing. But making the right thing, that’s the trick.
Start small, discover what your users really need, learn from what you build, and iterate as you learn. Those features? Chances are your users ain’t gonna need ‘em.
Agile: make it up as you go along.
Waterfall: make it all up before you start, live with the consequences.