Modern Software Over-Engineering Mistakes

Modern Software Over-Engineering Mistakes” is a nice collection of examples, results and reviews of over-engineering mistakes of the modern day.

Few things are guaranteed to increase all the time: Distance between stars, Entropy in the visible universe, and F*cking business requirements .

Here’s the list of things discussed in the article with tl;dr (too long; didn’t read) summaries:

Engineering is more clever than Business

TL;DR — The House (Business) Always Wins.

Reusable Business Functionality

TL;DR — Prefer Isolating Actions than Combining

Everything is Generic

TL;DR — Duplication is better than the wrong abstraction

Shallow Wrappers

TL;DR — Wrappers are an exception, not the norm. Don’t wrap good libraries for the sake of wrapping

Applying Quality like a Tool

TL;DR — Always take a step back and look at the macro picture

Overzealous Adopter Syndrome

TL;DR — TL;DRs should not be used everywhere

<X>–ity

As in configurability, security, scalability, maintainability, extensibility, etc.

TL;DR — Don’t let <X>-ities go unchallenged. Clearly define and evaluate the Scenario/Story/Need/Usage.

In House “Inventions”

TL;DR — Reuse. Fork. Contribute. Reconsider.

Following the Status Quo

TL;DR — Refactoring is part of each and every story. No code is untouchable

Bad Estimation

TL;DR — Bad Estimation destroys Quality even before a single line of code is written

 

Leave a Comment