“And in my experience when enough people are saying that ‘you can’t do that’ there is an opportunity waiting for you that is proportional in pay-off to the number of people asserting that it can’t be done.”
Most of my most memorable successes were when others said that something couldn’t be done. First you think, “Why not?” Then you think, “What would it take?” Then you figure that you’ll never find out for sure unless you try. The reward is compounded by the initial skeptism.
Just a few silly examples (any of these sound familiar?):
Manager: Shop Floor Control is impossible.
Manager: Because the base data is so inaccurate.
Manager: It would take years to fix all the data.
Me: What if we turned in on anyway?
Manager: The output would be worthless.
Me: Wouldn't it show where the base data was inaccurate?
Me: Then you could fix the biggest culprits?
Manager: I suppose.
Me: So turning it on would expedite data fixing?
Me: So it's not really impossible?
Manager: Bug free software is impossible.
Me: What would it take to make is possible?
Manager: Nothing. Can't be done.
Me: What if we added systems testing to unit testing?
Me: And then built rigorous test plans covering almost everything?
Me: And then enforced User Acceptance Testing?
Me: And allowed nothing into production without passing?
Me: Would it be better?
Manager: Yes, but we can't afford to do all of that.
Me: So, bug-free software isn't impossible, just expensive?
Manager: No, it's impossible. Get back to work.
Manager: A web app is impossible.
Manager: Because it depends upon data entered by regular people.
Manager: People are idiots. They enter wrong data all the time.
Me: What if we trained them?
Manager: Impossible. They don't work for us.
Me: What if we made the software smarter?
Manager: What do you mean?
Me: Data validation.
Me: Data reasonableness based upon rules or history.
Me: Crowdsourcing data validation.
Manager: The data would still be bad.
Me: What would it take to make the data good?
Manager: Nothing. Impossible.