Let's start our journey with the root cause - our brain.
The phi phenomenon
There two spots on a screen. One spot is red, and the other is green, and the spots are alternating rapidly on a screen. You will see a orange spot in the middle, moving from the left to the right. It is an illusion known as phi phenomenon.
The phi phenomenon is an illusion of time. This experiment raised some interesting philosophical questions. Our consciousness produces the moving orange spot before the green spot appears. Is the orange spot predicted or does our brain an interpolation ? The orange spot is an experience which is the result of an interpolation done by our brain. First the sensory input (the green spot) is processed, and afterwards you become aware of the orange spot. Mind boggling isn't ?
Consciousness is the top of the ice-mountain which sticks out the water. It is as a end result, not a starting point. It is a process that integrates all sensory input, mixed with input from our emotional centers and attention filters. On top of that integration process a story is constructed by the left hemisphere. A story to make to make sense of the world. But under the water - 90% - all the actions takes place.
The left hemisphere orders the world
In split-brain patients the two hemispheres cannot communicate with each other. Roger Sperry and Michael Gazzaniga did subtle experiments with split brain patients to investigate the differences between the left and the right hemisphere. From these experiments Gazzaniga postulated the interpreter theory. It says that the left hemisphere orders the world by inventing reasons and causes. If the left and right hemispheres of a split brain are presented with conflicting information, the left hemisphere resolves the conflict by inventing a causes or a reasons.
This process of conflict resolving happens all the time in our head, it is automatic and unstoppable. If you present a human with a serie of random numbers, he keeps on puzzling until he finds a pattern. Our brain is hooked on finding patterns, reasons and causes. This is called apophenia, and which causes gamblers to think that there is a pattern in roulette (the gambler’s fallacy).
Risk assessment
I advise to read the bestseller Thinking, Fast and Slow of Daniel Kahneman. The book debunks many myths about ourselves. The chapter about the public perception of risks research by Paul Slovic gives some compelling examples. Studies show how judgements about risks are influenced by media coverage. For instance death by a tornado was seen a more frequent death cause as asthma, while asthma causes 20 times more deaths. People are bad in predicting the outcomes of rare events, like earthquakes, flight accidents, terrorism. The more terror we perceive, the higher we estimate the change of the event.
We cannot predict outcomes when working in chaotic, complex environments like software projects. When confronted in situations without enough information, our left-hemisphere invents automatically causes and reasons, and we have a strong preference for answers which match our emotional reactions. And worse - we do not recognize that the reasons and causes are invented by our brain. To us they are real, a tunnel effect which Kahneman calls "What you see is all there is (WYSIATI)". According Kahneman our brain contains a machine (system 1) for jumping to conclusions.
Traditional planning and management techniques are failing, because these are based on the assumption that we are rational agents. We can put this view in the trashcan. It is seriously flawed.
Invalidate your assumptions
Many software development methodologies are developed to mitigate the risks of software projects. Most of the methodologies work only in a certain context and in a predictable environment. But there is an interesting exception. Test Driven Development (TDD) is regarded as a good development practice. A software engineer first writes a number of small tests and then writes the code. The tests validate the code, and vice versa - the code validates the tests. It always surprises me if I have to change the unit tests, because my original assumptions were not correct. Test driven development is a process of validated learning.
Validated learning means test our assumptions with experiments, designed to invalidate our assumptions. Read well - invalidate. To prove that your are wrong. The whole scientific revolution is based on this principle. It is the most effective way to avoid the cognitive biases of our brain. People can really learn, but only if they get direct feedback about their assumptions.
Jez Humble writes in his essay "Why software development methodologies suck" that short release cycles and increased feedback are the only two principles which actually work. I tend to agree with him, but only if you invalidate your assumptions. Even with 20 releases every day we are able to run in a treadmill of wrong ideas about what the customer wants.
Validated learning and the Lean Startup
The book Lean Startup of Eric Ries explains how validated learning helps startup companies in finding the right product for the right customers. The book goes into detail how measuring techniques like cohort analysis and A/B testing can be applied by start-ups. The same scientific approach as Test Driven Development is used. First you make an hypothesis, then you design a test, build the product and you validate your hypotheses. You may call it test driven business development. This process is called the build-measure-learn loop.
I think that less startups will fail if they apply validated learning as a core principle. It is the power of large numbers. The Harvard study Why the Lean Startup changes everything published by Steve Blank explains why the impact of the Lean Startup will be large on the software industry.
Conclusion
In conclusion, the cognitive biases of our brain is one of the root causes why it is so difficult to build software. With the current insights about our brain functioning it is clear that current management theories about humans as rational agents are seriously flawed. A more science based approach of making hypotheses and doing experiments to invalidate your assumptions can overcome our cognitive biases. Because Test Driven Development and the Lean Startup methodology are using this approach I think these methods have a large impact on the success rate of software projects and startups.
I will end with the famous quote of Albert Einstein:
“Problems cannot be solved with the same mind set that created them.”
References:
- Article about phi phenomenon
- consciousness explained (Daniel Dennet)
- split-brain patients
- Roger Sperry
- Michael Gazzaniga
- interpreter theory
- Thinking, Fast and Slow
- apophenia
- the gambler’s fallacy
- What you see is all there is (WYSIATI)
- List of software methodologies
- Wiki Test Driven Development
- Why software development methodologies suck
- http://theleanstartup.com/
- Why the Lean Startup changes everything