Why ‘Don’t do Agile, Be Agile’ is terrible advice
You can’t be Agile without doing, because Agile is a mix of foresight and afterthought
Lately, I hear many people preach a ‘You shouldn’t do Agile, you should be Agile’ mantra. It sounds profound, but upon deeper inspection, it lacks substance. It doesn’t make sense to me, especially when I reflect upon my personal Agile journey.
When I started working with Scrum 8 years ago, I devoured many Scrum books and blogs. I read everything from Mike Cohn, Gunther Verheyen and diligently studied the Agile manifesto.
You might think with such great teachers, I would be off to a great start. But you would be wrong. I made many mistakes, which given my current perspective on how to do Scrum and Agile, feels embarrassing.
Let me give you some examples of mistakes I’ve made:
Making the Sprint Backlog the goal and having my team work on 8 different projects simultaneously.
Explaining to my manager that the longer our Scrum Team worked together, the better our estimations would get. At some point, we would be able to plan what we would be able to finish perfectly. It would start with being able to plan 2 weeks ahead. As we matured, we would be able to plan further in the future until we’d be able to deliver a 6-month roadmap as promised.
Trying to convince my manager to hire a Scrum Master because (s)he would help increase our velocity.
Tracking completion rate and the number of story points completed, like it was a proxy for value delivered.
Spending hours in Sprint Planning creating perfect tickets and breaking them down in sub-task till every day of the Sprint, and every holiday and training of a team member was accounted for.
Having a team do Scrum that didn’t have any common goal.
Disallowing changes during the Sprint and seeing changes as a failure to plan and understand the work in advance.
This list is not even exhaustive (you can read more about the mistakes I made here).
Why did I make all these mistakes, despite reading many books with valuable advice that could have steered me in the right direction if only I would have listened?
Agile is something natural that feels strange because of our education system
The following two elements are important pillars of our education system:
Don’t make mistakes. Making fewer mistakes is better, as it results in a higher grade.
You have perfect information to succeed. All the information to get a perfect grade in your exam is at your disposal. Nothing is hidden or unknown. When you sit for an exam and understand the theory, you can ace the test.
School teaches us we can get a perfect result by not making mistakes and acting based on all information we have at the start. Perfect information and preventing mistakes is counter to Agile thinking. When you have perfect information, and you can prevent making mistakes, then you don’t need Agile.
The starting point of an Agile way of working is that you will never have all the information you need to arrive at the best solution before you start doing the work. Also, no matter what you do, you can never prevent making mistakes. Agile is best suited for complex work. Complex work means you are working on problems where you lack enough information to solve them before starting.
Agile excels when you need to do and learn at the same time. The information you have beforehand is not good enough to arrive at the best solution. You need to do, observe, reflect, and act based on the latest understanding. Making mistakes is inevitable. It’s what you learn from those mistakes that counts.
To understand and to be able to apply Agile thinking, hitting the library isn’t good enough. You need to get your hands dirty, too, so you can experience what works and what doesn’t. By doing this you can ultimately find the right balance between thinking ahead and acting based on what you learn.
When I started out with Agile, I exhibited the behaviors I was taught in school. I overestimated my ability to plan ahead and solve problems through analysis. When new information presented itself, it was cumbersome to adjust our elaborate plans and designs. When we made mistakes, instead of accepting that some of them were inevitable, we wasted a lot of time trying to figure out how we can prevent them using more analysis and planning.
Confucius phrased it much better than I can:
“I hear and I forget. I see and I remember. I do and I understand” — Confucius
You can read all the books in the world on skiing, but if I put you on a ski slope for the first time, you won’t be able to ski. Being able to work in an Agile way is the same thing. You can read all the books on the world on Agile, but if you’ve never applied it in practice, you won’t truly get it.
Agile is a hybrid of foresight and afterthought. We are good at planning based on available information. We are much worse at dealing with uncertainty. We try to get rid of it by spending more time planning, researching, and analyzing. This is the natural response to uncertainty as conditioned by our education. But if you don’t have enough information to arrive at a good solution, no amount of rational thinking can make the missing information appear out of thin air.
Acting based on afterthought should actually be something natural. Most things we learn start with imitation. We start with copying others until we can reflect on what we’re doing enough to make it our own. But it all starts with doing — imitation. Doing and reflecting on what you do is necessary to take it to the next level.
An example of something that works exceptionally well without any foresight is evolution. Evolution works without planning, vision, or up-front understanding. Richard Dawkins aptly called evolution a blind watchmaker:
"A true watchmaker has foresight: he designs his cogs springs, and plans their interconnections, with a future purpose in his mind's eye. Natural selection, the blind, unconscious, automatic process which Darwin discovered, and which we now know is the explanation for the existence and apparently purposeful form of all life, has no purpose in mind. It has no mind and no mind's eye. It does not plan for the future. It has no vision, no foresight, no sight at all. If it can be said to play the role of watchmaker in nature, it is the blind watchmaker."
Evolution can arrive at complex solutions like an eye without designing it that way. That’s because even though the watchmaker is blind, natural selection isn’t blind. The fittest survive. What works in practice, through trial and error, gets passed on to future generations.
Agile is about discovering what works and what doesn’t work, including things you figure out by accident. It’s a mix of foresight, acting based on what we know, and afterthought, acting based on what we learn. Agile has more foresight than evolution, but adaptation based on what you learn is a key component too.
Agile is about striking the right balance between foresight and afterthought
“People err who think my art comes easily to me. I assure you, dear friend, nobody has devoted so much time and thought to compositions as I. There is not a famous master whose music I have not industriously studied through many times.” — Wolfgang Amadeus Mozart
The foresight part of Agile comes naturally to us because it's what we’re taught in school. The afterthought aspect, the fact we aren’t able to predict and plan everything entirely, feels more strange because of our schooling. We need to reflect and respond in the moment, make mistakes and figure out things as we go along.
Agile is about finding the right balance of planning based on what you know and (re)acting based on what you learn. Too much planning or analyzing is our usual response and feels effortless. Keeping our options open and not figuring out every detail is hard, and can feel lazy. But in the end, it is what produces the best results when doing complex work.
What’s the right balance between planning and (re)acting? That’s something I am still figuring out. But I can say with certainty that most Scrum Teams need far less planning and foresight than they are currently spending effort on.
The only way to find out the right balance for your complex environment is by under planning, under analyzing, and making mistakes. To be Agile, you need to do Agile and slowly stumble towards a better way of working. You can’t prevent making mistakes. You can only prevent not learning from your mistakes.