SUNDAY REWIND: Overengineering can kill your product

This week’s Sunday Rewind is a 2021 post from engineer turned product manager Simon Munoz in which he looks at why products get over-engineered and at ways in which you might prevent it from happening.

2 min read
Share on

In Simon’s view, overengineering  - over designing or making a product more complicated than it needs to be - has killed more products than the absence of good development practices, and he’s also guilty of having caused and suffered it. He says: “Because of that, I know it’s crucial to learn what it is, its costs, and how we can prevent it.”

Overengineering can be caused by lack of experience, attempts to anticipate the future, loosely defined requirements, and even boredom. It kills startups - increasing development and maintenance costs.

Simon gives microservices-based architectures and premature optimisation as examples of overengineering, saying, “It doesn’t matter how perfect your design or implementation is if you never see it working because you go broke”.

The best way to prevent over-engineering, in Simon’s view, is to turn your engineers into true product engineers. Steps to do this include

Simon then runs through some mental models that can be used to prevent overengineering: YAGNI (You are not going to need it); KISS (Keep it simple stupid); and Worse is better (having fewer options is preferable to having more).

He says: “Unfortunately, overengineering is no exception; it is the norm. For this reason, it is vital to know what it consists of and try to prevent it mainly by involving and bringing your engineers closer to your customers’ real problems.”

He concludes that overengineering can:

Read the original article: Overengineering can kill your product