I’m convinced that there is a certain brain wiring that means that some people are comfortable with, and have an aptitude for, testing the assumptions about a particular decision. I’m also convinced that it’s a relatively small percentage of people who have that cerebral wiring. For the rest the whole idea is at best uncomfortable – at worst it’s just plain blasphemous.
I read some material once that talked about the roles required to have an effective team. One of those roles was someone who was described as “the pessimist”. Which seems like a pejorative description. Unfortunately, it seems that’s how most people feel about anyone who consistently tries to do assumption checks.
I totally am convinced that we must always challenge assumptions. Otherwise assumptions soon grow to beliefs and at one day one can not differentiate it from a fact.
How do you improve the throughput of a software system. Optimization, redesign, refactoring, migration to another platform….. ???
When was the last time you saw, thought or recommend your customer to upgrade their hardware for better throughput? Have you not assumed that customer would think your software had a problem?
I have recently seen some companies challenging those assumptions. I was shocked to know that by using Solaris 10 compiler(C++) with a new line of servers from Sun, their software is performing at almost 10 times (you read it right, almost 1000%) better.
How much are you ready to pay for such an improvement?