Engineering discipline requires that we are always able to answer these two questions…
- If it doesn’t work, why?
- If it works, why?
Only the first question gets looked at. It’s easy, something is not working; everybody can see it is not working; it needs to start working immediately!
Once it starts working, there is a sigh of relief; nobody is breathing down my neck anymore; life is back to normal.
For the second question we have a lot of other adages like…
“If it ain’t broke don’t fix it!”
“If you go looking for trouble, you will usually find it?”
Only when you take the effort to ask question 2 (Why does it work?), will we find real problems. It’s always the corner cases that cause trouble, and I’ll be damned; testing does not catch it, but the customer always does.
Looking for a problem seems counterintuitive, but as soon as we find the problem the first question kicks in and the problem is solved very quickly. A problem found after the product has shipped is much more expensive to fix.
Maybe the questions need to be reversed…at the first product demo, the question should be “Why does it work?” That will open up a discussion of implementation where choices are discussed in a non-threatening environment and “what if” questions get a better review.
After all…A Problem found is a problem solved!