Skip to content

Instantly share code, notes, and snippets.

@sobstel
Created August 12, 2016 13:06
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sobstel/520783ba5243bf71664eea3895a77c8d to your computer and use it in GitHub Desktop.
Save sobstel/520783ba5243bf71664eea3895a77c8d to your computer and use it in GitHub Desktop.
10 Modern Software Over-Engineering Mistakes

10 Modern Software Over-Engineering Mistakes

  1. Engineering is more clever than Business? The House (Business) Always Wins.
  2. Reusable Business Functionality? Prefer Isolating Actions than Combining.
  3. Everything is Generic? Duplication is better than the wrong abstraction.
  4. Shallow Wrappers? Wrappers are an exception, not the norm. Don’t wrap good libraries for the sake of wrapping.
  5. Applying Quality like a Tool? Always take a step back and look at the macro picture. Concepts need shift in Mindset. Cannot be applied blindly like tools.
  6. Overzealous Adopter Syndrome? TL;DRs should not be used everywhere.
  7. –ity? Don’t let -ities go unchallenged. Clearly define and evaluate the Scenario/Story/Need/Usage.
  8. In House “Inventions”? Reuse. Fork. Contribute. Reconsider.
  9. Following the Status Quo? Refactoring is part of each and every story. No code is untouchable.
  10. Bad Estimation? Bad Estimation destroys Quality even before a single line of code is written.

https://medium.com/@rdsubhas/10-modern-software-engineering-mistakes-bc67fbef4fc8#.unfbv5pu6

Disclaimer: Some points below like “Don’t abuse generics” are being misunderstood as “Don’t use generics at all”, “Don’t create unnecessary wrappers” as “Don’t create wrappers at all”, etc. I’m only discussing over-engineering and not advocating cowboy coding.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment