10
12 Comments

When should you over-engineer a project?

https://www.buildthestage.com/when-should-you-over-engineer-a-project/
submitted this linkon October 3, 2022
  1. 2

    The Jobs to be Done Framework is gold. It was a go-to at my old job. One of the things they actually did right, haha. This is a great article - rarely see this topic spoken about.

  2. 2

    I couldn't have said this better myself. Have literally been in this situation dozens of times. Now, how to explain this to my boss, so he'll listen?

  3. 1

    I completely agree with everything you say! To me 'over-engineering' is very similar to analysis paralysis. Instead of analysing everything, we should just push out software and learn from customers asap!

  4. 1

    "Over-engineer" means doing more than what is required. Don't "over-engineer" your project. You need to "engineer" it to handle the predicted / expected load.

    For example, don't waste time in "over-engineering" your product (that has not been launched yet) to handle 1M users, unless you're 100% sure that you're gonna get 1M users overnight.

  5. 1

    I usually think of it in terms of users. if you have 1K, 10K, 100K, or 1M users, each milestone needs different engineering. When you hit a milestone, you can start to prepare for the next. If you are building a system that can scale to 1M users but has 2K, you should check if you are wasting resources and delaying your time to market.

  6. 1

    Probably when the project is brining in lots of money and you need to make it more scalable and performant.

  7. 1

    "Over-engineering" is like over-thinking. There is no such thing as over-thinking, but you can have unproductive thoughts.

  8. 1

    I agree 100 % with "ship fast to learn and over-engineer to scale".

    Still, I'd like to add something:

    If you're developing a small product focusing on a highly concrete use case, over-engineering is the way to go. You should thrive to offer the best solution on the market. Otherwise, you'll have little to no chance against larger competitors.

  9. 1

    I think "over-" in this case is not synonim of "too well". One of the most frequent problem I observe is using inheritance where it does not fit. It may look like avoiding duplication, so it follows on of the most basic programming rule. But connecting few classes using parent class only because they have similar fields is not the best approach and for me it's sign that someone wanted to use some tool to solve not existing problem causing real problem in the future. That's my definition of over-engineering.

  10. 1

    Author here - thanks for posting! I'm glad y'all enjoy the post.

  11. 0

    Valiant CEO is an independent organization. It was established for all the hopeful entrepreneurs and prospective business owners out there that are looking to step bravely into a new world of their own making.https://valiantceo.com/more-than-just-ben-shapiros-wife-mor-shapiro/