Today I want to follow up on a few thoughts that reached me as feedback: why should we be agile now instead of carrying on as before? My short answer comes from a simple model, complicated vs. complex.
Complicated vs. Complex: Imprecise, but Useful
In one of my first agile projects, back in the early 2000s, I asked myself one question a lot: why? Why overturn every process, shift responsibilities, dissolve hierarchies, bring in new tools here and fancy methods there? Just because it’s hip right now and everybody’s doing it?
Sure, you can argue with faster, higher, further, more flexible … but over the years, a completely different reason has emerged for me: working agile, thinking agile, helps us deal with knowing that we don’t know anything. In other words: with uncertainty.
And where did that uncertainty come from? An imprecise but useful model helps here: complicated became complex.
Complicated means cause and effect can be traced, even when many parts interact. Complex means you can no longer reliably predict what a change will do.
That was a turning point, and it’s already behind us. Complicated was yesterday. Now it’s complex.
The “Good” Old Days: Complicated, but Manageable
Not everything was better in the past, far from it. But it was simpler. At least we understood it. A development project was manageable. Even large projects could rely on fairly stable conditions. An MS Project plan still had a useful half-life. You could follow the link between cause and effect. If you changed something at one end, you could estimate where it would have an impact.
It was the great age of the optimizers. Make the process more and more efficient. Cut whatever can go. Fine-tune the adjusting screws and align them so the whole project runs like clockwork. That worked quite well, at least until the cost of further optimization exceeded the benefit. But that was only one problem.
I Know That I Know Nothing, and I Don’t Know What I Don’t Know
Let’s blame it on the internet. Maybe not the first generation, not even the second, but at some point our software and our projects started to take on a life of their own. Gradually, almost unnoticed. Accompanied only by the uneasy feeling that things were getting hard to keep track of. A few systems coupled here, a data exchange there, a few microservices on top. And today we face applications and system landscapes whose algorithms no single person can explain (but they work), where the link between cause and effect is no longer clear. Turn one small cog, and you can’t be sure what happens (the 2020 Netflix documentary The Social Dilemma has some great examples).
And that’s not all. The conditions around us aren’t stable anymore either: fast update cycles in the environment, security holes, a real, biological virus that, snap, turns the whole world upside down, the Safe Harbor agreement struck down here, GDPR there, employees and their needs, shareholders and theirs. And all of it at breakneck speed.
Three Options for Dealing with Uncertainty
So we have three options:
- Keep optimizing and hold on to what we know. That ends in frustration or burnout, and the goal is out of reach anyway.
- Sit it out. Possible in theory, if you have staying power and bet that everything will go back to the way it was. I don’t believe it will.
- Accept uncertainty and shape it yourself. Sounds exhausting, tedious and unsatisfying. But in my view, it’s the only sensible option.
What’s So Hard About It?
In my experience, the biggest hurdle to overcome is the fear of not being in control. Having nothing to feed into MS Project and those PowerPoint status traffic lights. Not being able to cover every eventuality. Not being able to protect yourself. Not being able to point to someone to blame when something goes wrong.
Let me spin an optimistic thought: I believe that’s what all the agile odds and ends of methods and tools are trying to teach us. Trust, courage and responsibility. Big words, and so far removed from planning, control and software development. But (sorry about that) there is no alternative. Sitting it out won’t work. Covering your eyes doesn’t make the problem go away. So please: take the first step, boldly!


