How overengineering wastes time and money

Everything starts with a need

Engineers are no better

Overengineering is when you choose higher complexity that is not justified by functional or non-functional requirements

The cost of complexity

Always know what you are doing and why you are doing it!

Why software engineers overengineer?

The roots of overengineering is in formal education, vainness, perfectionism, lack of capacity planning and engineering disciplines.

What you need to do as an engineer

If multiple solutions exist, engineers weigh each design choice based on their merit and choose the solution that best matches the requirements. The task of the engineer is to identify, understand, and interpret the constraints on a design in order to yield a successful result. It is generally insufficient to build a technically successful product, rather, it must also meet further requirements

Conclusion

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store