Perfection. It’s a harsh word in software engineering, often rejected as a consideration by those on the development side when setting goals because it tends to be directly correlated with extremely high expectations, managed accountability, and good, old-fashioned hard work. Said expectations are often labeled “unrealistic”, and while any of us would argue that a client would rarely see an ROI after requiring that a firm deliver a website which behaves perfectly in IE6, for example, I would amend the argument to suggest that iterative development and agile methodologies can put us in a position to defer certain development until an end-customer demand is presented. In other words, we shouldn’t worry about features that fewer than 10% of customers will appreciate until the features for the 90% are working perfectly and, most importantly, are coded in such a way that if or when the time to worry about the 10% sneaks into our ticketing system, we can utilize patterns like polymorphic dependency injection and mediation to create a seamless code base.
For more of Sean's perfection, read more on: Medium