> Why do companies making software sold to other companies tend to attempt to make the code general enough to meet the needs of all clients at the same time, while adapting the product to the needs of each client through configuration?

Profit.

This is an attempt to minimize cost. Everyone wants a custom fit at [off-the-rack](https://dictionary.cambridge.org/us/dictionary/english/off-the-rack) prices. But if you don't hire a tailor, the rack is what you get.

The problem is we haven't been very good at standardizing. And so companies get away with insisting they need a shirt with 3 arm holes.

So you get sales people pretending to be tailors. Oh sure they don't use a needle. Just scissors and a [button gun](https://www.youtube.com/watch?v=ENAV6NVM5zI). So they aren't really tailors right?

Sorry but it really is just people solving the same problems using different tools.  

The heart of the problem is the customizations don't fit into an anticipated design. So your lucky if the holes that get cut don't unravel the whole garment. And that goes back to:

>It is the product that must adapt to the client, not the other way around, or else the client will not buy the product. 

Which is always true. But tailors don't work as cheaply as salespeople. So your job really is to make it seem like the salespeople are good enough. Which is how you end up with buttoned on sleeves.

The way you avoid that is you take pride in your work, set up a stylish design that allows for easy custom tailoring, and refer requests for 3rd arm holes to the competition.