Why Over-Engineering and How to Avoid it

A trade-off between under-engineering and over-engineering

Behzad Benam
4 min readNov 17, 2020
Photo by Elena Mozhvilo on Unsplash

I was reading William Strunk Jr.’s “The Element of Style” when I came across the following passage:

”A sentence should contain no unnecessary words, a paragraph no unnecessary sentences, for the same reason that a drawing should have no unnecessary lines and a machine no unnecessary parts.”

I remembered how similar this was to a subject in engineering, to what we call over-engineering. Likewise, we can name the above matters over-writing, over-drawing, or over-designing; they all have negative consequences.

In engineering, we can distinguish between over-engineering in hardware and software. Due to the greater flexibility and freedom of the software, more than the hardware design is subject to over-design.

Engineers design and develop a system based on requirements and constraints. Requirements determine the system behavior and are defined by all relevant system stakeholders. Constraints define the scope and boundaries of the system. The goal is to meet all the requirements and constraints while developing and operating a system.

--

--

Behzad Benam

Founder & CEO at SafeLine, providing engineering services in the automotive industry www.safeline-solutions.de