Everyone has seen the discouraging numbers on how many software projects fail, and countless fingers have been pointed in countless directions for it. In a post at Hacker Noon, Jez Halford cites one specific reason that casts no blame: “unconscious assumptions.”
The Phantom Mistake
Halford illustrates the idea of unconscious assumptions with this short narrative:
I got married a while ago, and my wife, Jodie, took my surname. That meant she had to spend ages changing her name with loads of organisations. Her bank, her employer, businesses, and so forth.
It turned out to be a huge pain, because very few of those organisations provided a way to make this kind of change easily. Their software didn’t easily support it.
Halford believes that software does not support it because they were probably designed by men, who unconsciously assumed that the need to change one’s name is very rare (mostly reserved for people who were given the name “Throckmorton”). His wife provides a clear counterpoint to that assumption, and software is inevitably full of situations where problems were completely and comprehensively overlooked in this way. That does not make the programmers bad or lazy by any stretch of the imagination; rather, it just means software teams need to start being mindful of their assumptions.
This is similar in principle to the idea of “unknown unknowns,” except in this case, Halford believes it is possible to take action. He says teams need to “build testing … assumptions into the fabric of how we deliver software.” Verify as often as possible.
For additional thoughts, you can view the original post here: https://hackernoon.com/why-your-software-doesnt-work-d73e1afec461