(based on my further thoughts from someone's comment a while ago)

Things get described as over-engineered, which definitely means something but there doesn't seem to be good consensus on what. I think there are multiple definitions and context tends to be used to work it out.

I think this comes up in military engineering a lot because:

  • the end-users of any product (say, the soldiers shooting the guns and driving the humvees) have much less say about the products they are using to the people procuring them, and are quite distant from said people. Often, it is cheaper to train soldiers to attempt to handle the weirdness of a product instead of replacing the product.
  • the production runs are a lot smaller
  • the iterative process for military equipment has a much longer cycle
  • the ability of a segment of the military to go with a different product (e.g. if you command a tank platoon, you can't decide that you're going to go with the Challenger 2 instead of the Abrams, let alone a T-90), which means there is less incentive to compete directly with rivals offering similar products. I realise that we're socialists here, but there is at least some motivation for Ford to offer a similar product to Toyota and that helps iteratively improve both products to some extent. Hence this post going in "guns". All these tanks, AA missiles, guns etc. don't have their designs pared down in the same way the Toyota Hilux has been (though one can see such long term iterative designs have some over-engineerings creep in)

However, I've seen it used to describe bridges, small plastic gadgets, all sorts of things. So what are the different over-engineerings? Note that none of these really describe an overallocation of engineering time, or effort directly. There is such a thing as a bad engineer.

Over-engineering 1: This product has very complex systems in it which are either unnecessarily hard to manufacture, hard to use, or hard to maintain.

So, this definition is the one we think of when we think of German (or Swiss) Engineering. With military equipment, this is definitely true during the Nazi era, but things like the HK G11 or the Swiss PE-57's ejector. The late war Nazi tanks had some of these for specific components but also had other problems. I could imagine something like the F-35 also suffering from this.

This can actually happen for a number of reasons. One can imagine management, without true understanding of the systems, makes a request (or demand) for a mechanical solution to a problem that has appeared in testing, usage, or even imagined. The problem may be simple to define, but quite complex to solve. The engineers may have been given enough time to solve a problem, but not enough time to iteratively pare down to make it easier to manufacture, use, or make it more reliable (this can happen with either new features or initial features).

Engineers can do this to themselves if they get particularly excited about solving a particular problem and not much interest in iteratively testing and updating their solution, but historically a lot of these have come from management (up to and including literally Hitler).

The design is feature complete but has had insufficient time allocated to testing a design (from production to actually hooning around in a park).

Over-engineering 2: Feature Creep and related things

So this one causes the first one a lot, but I think the nature of design in large organisations tends towards this. Features tend to be added but rarely taken away.

Thus, you might wind up with a hatch that requires not much strength to open, easy to operate, thickly armoured, pretty cheap, and traps the crew if it's under 20 degrees and a little bit dusty. The energy to say "maybe we could just have a spring loaded hatch with a lock on the inside instead of this thing" has to maintain itself through multiple layers of bureaucracy, people without the authority to make the change and so on. And each person responsible for that communication has to maintain that energy until it gets to someone who does have that authority. And the connecting links may actually be pretty attached to a particular design.

This results in products having lots of little clever mechanisms on it that may be better replaced with training or simpler devices that take a huge amount money to produce, are unreliable, have low endurance, and so on. I'm sure we could all think of a thousand examples.

Over-engineering 3: Arbitrarily high safety factor.

Again, this is likely the result of not enough engineering time allocated, so crude shorthands wind up being used. You don't know the minimum thickness of steel for a bridge to support a 10 tonne truck going over this particular ravine, but you do know that this ridiculously large amount thickness of steel with supporting trusses will hold up a 10 tonne truck and you kinda want to go home tonight.

This can also result from using standardised parts; the gap between a part that will fail and the next part up might be quite large, so you wind up with an absurd amount of material holding what might otherwise be a light cheap thing together.

In military tech, we often see up-armouring without any corresponding improvements to the chassis, suspension etc. even though it could hypothetically be done for pretty cheap (but not as cheap as not addressing it, up front), or even weight reductions in other parts of the vehicle.

Anyway, those were the ones I have been mulling over.

  • Dr. Wesker@lemmy.sdf.org
    ·
    edit-2
    9 months ago

    Not gun related, but in software engineering, over engineering often refers to trying to solve for problems or fringe cases that don't yet exist or rather haven't shown up in the metrics and data. Also often just simply refers to creating elaborate or complex features when a simpler one would suffice at the moment and satisfy the AC (acceptance criteria).

    • keepcarrot [she/her]
      hexagon
      ·
      9 months ago

      I do love a good engineer who can solve problems placed in front of them, but sometimes their interest and energy is hard to direct haha (especially in volunteer coding projects >.< )

  • pooh [she/her, love/loves]
    ·
    9 months ago

    It’s funny you mention German/Swiss engineering as an example, because I’ve noticed engineering from certain countries often shows a certain emphasis. Not sure if the differences are real or it’s just me stereotyping based on my own subconscious bias, but here’s what I’ve noticed:

    German/Swiss engineering - Focus on being very precise and designed to do a certain thing very very well, but as you say this is often at the expense of making things less complicated to manufacture or use.

    Chinese engineering - Designed and built in a way that is mostly concerned with being manufactured efficiently and at a lower cost than competitors.

    Russian/Soviet engineering - Designed and built with durability in mind.

    Japanese engineering - Designed with creative/novel solutions to certain engineering challenges.

    American engineering - Designed to be easy for the end user to use and maintain.

  • keepcarrot [she/her]
    hexagon
    ·
    9 months ago

    My only real experience here is doing stuff for school, which has very clearly defined end points, though if we finish our designs early and can do testing, we can figure out what problems are and add to the design. Thus, towards the start, I think having a simple design with a lot of room for improvements (if necessary) to add parts or move bits around before paring down is the way to go. To me, it feels like a lot of products get to the end of design and quickly go into mass production without resolving very much, or even with stuff left in that was intended for only testing or to be removed before finalising the design.