Fwiw, my experience is that generally a lot of blame for over engineeering tends to be lumped on engineering when in reality its usually a wider business failure.
Every competent engineers I have met has been capable of grasping that:
- They shouldn't rely on the use of crystal balls.
- Complexity should be minimised.
- If it can be done today, it can be done tomorrow.
So if a business provides its engineers with:
- A process that helps them develop an intuitive understanding of their customers' needs.
- At least one other similarly capable person to work with so they know they're not the only person going to be looking after the project off into the future.
- A procurement process for off-the-shelf solutions that is less painful for them than rolling their own.
- Time to test and document where projects should go if the initial version is successful.
- And crucially, confidence that they'll be given enough time to do the additional work if it becomes necessary.
Then the business, at least in my experience, will be in a pretty good position to prevent almost all over engineering.
Every competent engineers I have met has been capable of grasping that: - They shouldn't rely on the use of crystal balls. - Complexity should be minimised. - If it can be done today, it can be done tomorrow.
So if a business provides its engineers with: - A process that helps them develop an intuitive understanding of their customers' needs. - At least one other similarly capable person to work with so they know they're not the only person going to be looking after the project off into the future. - A procurement process for off-the-shelf solutions that is less painful for them than rolling their own. - Time to test and document where projects should go if the initial version is successful. - And crucially, confidence that they'll be given enough time to do the additional work if it becomes necessary.
Then the business, at least in my experience, will be in a pretty good position to prevent almost all over engineering.