There was an article last week in ArsTechnica about how Tesla was over-automate their car plant to the point where it was actually less efficient than just having people do the work. You can wind up a scenario where you have more people tending the automation than it would have taken to just have the people do the job in the first place.
Sometimes I feel there’s a lot of that in the software arena as well. It’s drilled into you at Amazon that you need to make everything scalable, and scalable in the case of software tends to call for automation. The problem is that if you have the incorrect abstraction you can, in the name of scaling, cause other problems. Like, for instance, if you need to set up a test system that could consist of dozens of machines. No problem. But then if you tell each of your partner teams that they need to set up the same stack, for each of the partner teams, you could be spending hundreds of thousands of dollars on nothing but test hardware.
Of course the hardware is only one aspect of the problem.
Someone has to set up the test stacks. Someone has to maintain them. The test suites still need to run. All of that winds up being more than a bit expensive as you start to scale out the automation to hundreds of other teams.
Like Mr. Musk learned with his foray into automation, automation for the sake of automation might leave you with a more expensive end result than if you didn’t automate something that you likely shouldn’t have.
(Should have posted yesterday, forgot to hit post)