Say you had two applications. One that is of high “quality”, but doesn’t ship. The other is of low “quality”, but ships. Which application do you reckon would bring you the most business benefit?

If you were funding a startup your choice would be very clear. You’d want something to bring in business value ASAP. The low quality application that shipped would be the winner.

We behave somewhat differently in an “enterprise” environment. We hardly run any “experiments” or MVPs. Everything must have a hundred features even for a 0.0.1 release. We agonize about the “quality” of our software. We often prefer not to release something unless it is of “acceptable quality”. Sometimes these quality exercises take months. Often we are just shining a useless artifact that may never ship. This obviously doesn’t add any business value. So why do we do it?