“There is no doubt that the grail of efficiency leads to abuse. Programmers waste enormous amounts of time thinking about, or worrying about, the speed of noncritical parts of their programs, and these attempts at efficiency actually have a strong negative impact when debugging and maintenance are considered. We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil.” — Donald Knuth
“Premature optimization” is a phrase used to describe a situation where a programmer lets performance considerations affect the design of a piece of code. This can result in a design that is not as clean as it could have been or code that is incorrect, because the code is complicated by the optimization and the programmer is distracted by optimizing. (from Wikipedia)
The phrase ‘Premature Optimization’ is used in software development, but can also be applied to the umbrella discipline of product development. In its application in product development, the practitioner spends time developing features and requirements for the 20% use case. In doing so, the resulting product becomes bulky and loses its usability friendliness for the 80%. In addition, it is a waste of time for the practitioner.