When I consider the quality of software design on the products we write and sell, I do so from the dual perspective of business owner and programmer.As a business owner, I pay attention to our user's success and our revenue.
As a programmer, I pay attention to our software process and code quality.
Balancing these perspectives is a practice I call Sufficient Design.