Software Engineering vocabulary · Architecture, Design Patterns and Graphics

Over-engineering

Meaning in software engineering, with examples

nounCommon term

In software engineering, over-engineering means: Making a solution more complex than the problem needs, for example adding layers, options or flexibility for future needs that may never come.

In Turkish: aşırı mühendislik, gereğinden karmaşık tasarım

How it is used

A common review comment: 'This feels like over-engineering.' The adjective 'over-engineered' is common too. Related ideas are YAGNI ('You Aren't Gonna Need It') and 'keep it simple'. The opposite risk is a quick hack that is hard to extend.

Example sentences

  1. A plugin system for two report types sounds like over-engineering to me.

  2. Our config system is a case of over-engineering: nobody uses half of its options.

Common collocations

  • avoid over-engineering
  • over-engineered solution
  • YAGNI
  • keep it simple

More terms: Architecture, Design Patterns and Graphics

Practise with graded reading

Reading at the right level is the fastest way to make new words stick. Pick free English books by level: