A Strategy for Building Stable Applications
Early in my career I had the good fortune to work under a management team that valued producing high quality applications - ones that rarely, if ever, crash under continual load. The director of the department believed, not only in words but in action, that a defect discovered in the field is significantly more costly to fix than one discovered in development. We lived by that rule, and we all believed in it.
For this product, we did not have a sustaining engineering team to fix and deliver patches to the field because it was simply not needed. Over the course of the seven years of working on this team through multiple product deliveries, I recall only two or three issues from the field that required an engineering fix. Now think of all the features you could deliver by investing the money saved in a sustaining engineering team into new feature development. That’s what we did.
I’d like to describe the six practices required to produce and release stable applications. The level of stability that you achieve in your products will correlate to the degree to which you commit to these practices. The strategy by itself isn’t enough to achieve great results. Great results require discipline, persistence, and a strong will, and most importantly, it requires a leader and a team that values quality above all other criteria.

