When it comes to discovering the best way to develop software or deciding what to build you will be hard pressed to find any certainty. We tend to work with small amounts of data making large assumptions which we test in attempt to gauge their validity. Since every organisation and customer is different, and constantly changing, assumptions that might work well for one team on a certain day may not work well the next. Our effectiveness is largely dependent on the quality of our assumptions and the frequency in which we review and adapt them. The quality of our assumptions is dependent on both the data on which they are based and our ability to decide, without bias, what we can infer from that data.
Reviewing the assumptions that provide the foundations for the way we work is difficult. We quickly become attached to those assumptions and find them hard to reject as new evidence appears. Confirmation Bias means we often miss new information that contradicts our status quo and heavily favour information that confirms it. Reviewing our assumptions has a cost in both time and mental effort. Changing assumptions often involves conflict and it may take considerable effort to reach a new consensus. We often prefer the simpler option of continuing to work in the same way but as the world around us evolves and we get left further behind our ability to compete or even retain staff will be diminished.
Whilst it would be great to always have proof, our survival relies on assumptions. Our day to day dealings with a complex world require us to use them to make decisions in a timely manner. Without assumptions we would be paralysed but our assumptions can also paralyse our ability to improve and innovate. We must recognise assumptions for what they are; a best guess that allows us to move forward until we discover more.
The above is an extract from the book I’m working on, if you like it please add your self to the mailing list here