I read an amazing post the other day on certainty, and what happens when we are certain of things.
You can read the post here - The Dangers of Certainty: A Lesson From Auschwitz
Personally I found it valuable and interesting. My main take away was about the dangers of certainty. To quote the author:
"When we think we have certainty, when we aspire to the knowledge of the gods, then Auschwitz can happen and can repeat itself. Arguably, it has repeated itself in the genocidal certainties of past decades."
This lead me to thinking about certainty in software projects and software teams. How often have I heard people who are certain, that theirs is the only way to solve a particular problem.
We have to do it this way... Or
This solution is the only way… Or
This product is the only one… and so on.
How often in software projects are we certain about the way forward or the tool that will be the solution to all our problems? How often are we wrong about that?
Certainty kills possibility
When we are certain that we have the best solution to a problem, then we don't explore different ways to solve the problem. When we are sure about the right way to create something we don't explore other possibilities. When we are certain that our way of doing something is the only way, we are less likely to collaborate with others, especially if they do not agree with us.
Certainty kills innovation
When we are certain that there is only one way to build something we lose innovation. If we are certain we are less likely to open ourselves up and less likely to try something different, or be innovative. When we are challenged and constrained, then we are far more likely to think of different and innovative solutions. When we are certain we are less likely to challenge ourselves. Sometimes its even worth creating constraints that don't exist to shift your thinking onto a different level and enable more creative thinking. If you are certain, you don't explore constraints and you don't challenge yourself or your solutions.
Certainty kills motivation
When someone else is always giving the answers to problems, people are far less likely to try and solve the problems themselves. When someone shoots down ideas because they are certain that their ideas are better, people are less likely to volunteer information. All of these behaviours will contribute to a lack of motivation from people. People want the chance to be heard and to have their ideas tested and taken in to account. Certainty on the part of another team member, or even more a person with positional authority like a manager, means that often that team member is not open to hearing the ideas of others or taking them in to account.
Certainty doesn't help in our decision making or problem solving, as much as taking solutions out of a box and applying them to your situation doesn't work. Whatever problem you are trying to solve and whichever method you use in in solving that problem, questioning will take you much further than being certain. Being a little uncertain will help you to ask questions around what you are worried about, and will help you to understand what you are missing.
To keep questioning the status quo and to keep asking if you are doing things the best way for you and your team is very valuable. A solution that is certain for today, may not be right for tomorrow and so to be certain of anything feels a little like blindly following a process, person or idea.
Maybe if your team mate had been less certain about the right database to use you would have suggested another alternative.If your manager had been less certain about the right way to go forward with this project someone would have suggested a different alternative. I often find questioning the status quo and questioning especially when I am feeling certain, can lead me in a direction that is better than the direction I was going in to begin with.
Written by: Joanne Perold of Scrum Sense