Most of the engineers I work with tend to pride themselves on their impecible logic. Makes sense. Most of us make a living, in one way or another, in implementing logic. If that logic fails, our software systems fail.
In the 1980s Burger King was in a heated battle against McDonald’s for “hamburger dominance.” Burger King had conducted research, and had solid evidence that the majority of people preferred the flavor of their flame-broiled burgers to that of McDonald’s. So they advertised this heavily. Watch one of their 1980s TV spots if you don’t remember.
“(a) People come to us for food, and (b) most people prefer the taste of flame-broiled burgers”, so the thinking went.
The logic is air-tight. But despite pouring millions of dollars into this advertising campaign, they were losing to McDonald’s. The problem?
People do not go to fast-food restaurants to satisfy a desire for something delicious. They go for something fast, cheap, and palatable that satisfies their hunger."
Impecible logic is only as good as the premise on which it is based.
If you build the abolute, irrefutable best widget, it doesn’t matter to anyone if the widget’s is built on an unfounded premise.
How do you know that the work you’re doing is building on a valid premise?