Improving software quality
During the beginning of my career, every few days would I hear someone talk about an increase in bugs within the production system and how we should ensure unit test coverage of +90%. Even today many software engineering teams have determined higher unit test coverage will improve the software quality. Let’s do a thought experiment -
If every developer ensures 90% unit test coverage, with integration and end-to-end tests for the high priority features and customer journey, will it provide certainity for a higher quality of the product for the customer?
Quality of a product (in this case software) is a nuanced topic and depending on the persona you speak to, the definition and expection of quality varies across the product lifecycle. As Martin Fowler mentions in the blog post - Is High Quality Software Worth the Cost? there is a trade-off between cost and quality. A customer using the product will define quality related to external aspects of a product e.g. user experience. But a customer is oblivious to the internal aspects e.g. operational overhead and engineering choices.
To be continued…