Overengineering

Definition

Overengineering (or over-engineering), is the act of designing a product or providing a solution to a problem in an elaborate or complicated manner, where a simpler solution can be demonstrated to exist with the same efficiency and effectiveness as that of the original design.

As a design philosophy, it is the opposite of the minimalist ethos of "less is more" (or: β€œworse is better”) and a disobedience of the KISS principle.

Overengineering can decrease the productivity of design teams, because of the need to build and maintain more features than most users need.

Excessive pursuit of simplicity and minimalism in a product in order to avoid these effects, however, can result in premature optimisation, potentially to the detriment of the project due to diminishing returns on time and effort invested in the design process, thus also constituting overengineering.

Wikipedia (2023-02-12)

Overengineering in Software Development

Examples in Software Development

Prevent over-engineering

πŸ”— References

Overengineering can kill your product - by SimΓ³n MuΓ±oz

Overengineering - Wikipedia