The Subtle Art of Automation¶
Tools¶
Humans are tool-using animals. For a long time it was thought that this is what distinguishes us from animals, in fact, but of course if you actually pay attention you will notice that animals are using tools all the time. Yes, sometimes you can dismiss it as instinctive behavior, as is the fashion, but sometimes when it comes to corvids, parrots, octopuses and primates, you really have to admit that they do it intentionally and with full knowledge about the expected results. Anyways, humans are among tool-using animals.
Why do we use tools? Sometimes it’s because we are not strong or dexterous enough to do thing we want to do unaided. Or our nails and teeth are not sharp enough. Or our sight, hearing, or sense of touch are not good enough. Other times we could do the thing unaided if we had to, but tools make it easier or more convenient. Sometimes it’s because we don’t want to risk an injury, or to get dirty, or we want to avoid other unpleasant sensation. But the reason I hear given most often is that by using tools we can do the same thing faster, or at larger scale, or otherwise more efficiently. We can achieve the same (or better) result with less effort. Tools can be a labour-saving device.
We say “tools”, but it’s not just tools. They are just easy to talk about them, because they are tangible, visible things. But it all applies to skills and techniques as well. To the “technologies”. Consider, for example, waving baskets. It’s something you do by hand (today we do have machines that can do it, but let’s assume we are doing it by hand), but you can do it in several different ways. Coming up with a new way to wave baskets that is somehow easier, faster, lets you use different materials or produces baskets with special qualities that the other ways don’t works exactly the same as if you created a new tool for doing this. So tools are just physical manifestations of technologies, and it’s the technologies we will be concerned about here.
Effort¶
So do the technologies really save effort? It certainly feels that way, why would we be using them otherwise? But I think it’s a bit more complicated than that.
Consider the ox-driven plough. On the face of it, it’s a huge improvement about the humble hoe that it replaced. Yes, the farmer still has to be present to drive the plough, and it still requires a lot of strength, but a large amount of that strength is now provided by the animal, and the whole work goes much faster. So it’s a definitely a huge saving, at least as long as you only look at this short time when the ploughing is actually happening.
But the ox has to eat too. And it needs a place to stay, and it needs to be taken care of. And when it gets old or sick, it has to be replaced. So for this to work in the long run you need a steady supply of oxen. (And I’m not even saying anything about the effort of the ox.) So a tiny plot of land that acted as the farmer’s garden and was enough to feed their family now has to become a considerably sized field, enough to grow food for a herd of oxen and the people needed to take care of them. And since the oxen need to eat the entire year, you have to store your crops somehow, and preserve them. What used to be a simple shack with a small garden, where some hoe-ing would happen a few times a year, turns into a small village with several huts, a barn, an enclosure, and people working around the clock to maintain all that. And don’t even get me started about fresh water and the smell of ox everywhere. And of course because you are not storing considerable caches of food, your little village is now vulnerable to raids and looting (or the more civilized version of it, taxation), so you need defensive walls, soldiers (or at least militia), weapons, and so on.
Looking at it this way you could easily conclude that the hoe is in fact the less labor-intensive solution, when considered globally. It only becomes worse when you assume that you already have all the infrastructure need for it.
But then again, once you have the infrastructure, it enables not just the plough, but many other technologies as well. You now have milk and meat. And as much ox shit as you can shake a stick at. You have fortifications and army. You have a hierarchy to organize and manage it all. You have surplus food to trade. And so on and so forth. So assuming you want all those additional things too, on top of replacing the hoe, the plough once again becomes the superior technology (for some chosen measure).
Transformers¶
So if technologies don’t actually save effort on their own, what do they do exactly? I like to think of them as transforming one kind of effort into another kind, potentially better suited for the task at hand, or maybe just easier to store or move around. If you compare the rather abstract and nebulous idea of effort to thermodynamic idea of energy, a technology could be like, say, a solar cell that transforms light into electricity that can be then easily moved around using wires and stored using batteries. Or a combustion engine that transforms chemical energy of the fossil fuels into kinetic energy of a rotating shaft. Of course the similarity is pretty weak, because we don’t really have a well defined formal theory of effort, like we have a theory of thermodynamics, but I like to believe that there is some kind of law of conservation of effort somewhere in there, however fuzzy and approximate it might be.
In any case, technologies let you transform different kinds of effort, sometimes allowing you to store or move it around. What good is that?
Turns out that sometimes some kinds of effort are better for a given task than other kinds. So you can “save effort” by using the kind that is more efficient for the task at hand.
And sometimes certain tasks take less effort when they are done at a particular place and time, or when they are done at scale. Being able to store and move effort lets you rearrange it into more efficient ways.
And finally, sometimes you can “outsource” the effort, by taking advantage of something someone else already did (or will have to do to clean up after you). Fossil fuels, for example, take advantage of the effort the plants of millions of years ago spent to turn light into their bodies, and of the effort the future generations will have to spend to deal with the climate change.
Just like in thermodynamics, those conversions rarely are free – usually they take some additional effort, to, say, dig up those fossil fuels, turn them into a form that is convenient to use, and transport them to the right place. But with the right arrangements, even with that overhead we can often create considerable savings.
Automation¶
Automation technologies (together with mechanization) are no different in that regard, except they tend to require much more infrastructure to make things happen “on their own”. They also come with a myth that “you only need to set it up once” and they will work forever without expending any further effort.
In practice any ongoing process is going to have setup cost and maintenance cost (and also cleanup cost, which we often forget about). In addition, the requirements for the output of the process are going to change over time, and that requires further effort and resources to adjust it to remain useful (either by changing the process itself, or by adding extra adapting steps).
Now the trick is to setup that automation in a way that minimizes those ongoing costs, possibly doing more work up front, or pushing more work to the cleanup (and hoping we won’t be around anymore when it happens). This is not a given, and if it’s not done intentionally, we might as well end up with an automated process that doesn’t in fact save effort, or accomplish other goals that we wanted to achieve.
Goals¶
Speaking of goals, saving effort is not the only thing technologies can give us. In fact, sometimes we are ready to actually spend more effort in order to achieve some of the other goals. What are they? Potentially they are infinite, but let’s look at some of the most common ones here.
Repeatability¶
It can be a goal to have multiple similar things, or it can be just enabling the further goals like quality control or fine tuning, but automation sure lets you do things the same exact way, if setup with that in mind. As a side effect, it also makes it easier to debug!
Quality Control¶
You want to make sure that the things you are making are at least of a certain quality. But maybe you also want to make sure that the quality is not unnecessarily high, as it usually costs more. If your process is automated, then you can easily inspect it, find the parts that have the most impact on quality and adjust and monitor them. You can even automate additional quality checks.
Fine Tuning¶
But wait, it’s not just quality. You can fiddle with any feature of the process this way. The fact that it always happens the same way, except for the parts you have changed, lets you more easily see what the results of your changes are.
Interchangeability¶
If you design your automation right, you can reuse or share parts of it in different processes. You could also have intermediate stages of the product shared between several different processes. This lets you both save effort and be more flexible about your quotas.
Scalability¶
If you make a machine do something, then you can often quite easily run the machine faster, or buy several machines and have them run in parallel. You can scale your processes this way.
Economy of Scale¶
Once you can scale something, you can scale it up to huge amounts and make use of all those bulk discounts and bulk shipping. More importantly, you can use bigger machines to make the same thing faster and cheaper by making a lot at a time.
Centralization¶
Obviously if you have big machines doing a lot of work, you want them all in one place, so that you can keep all the resources and materials close by, and so that the maintenance is easier.
Distribution¶
But you don’t have to centralize everything if you don’t want to. Automation also enables distribution, letting you to have the same machine (or script) running in many different locations, close to where they are needed.
As you can see, automation can be quite useful and universal tool!
Conclusion¶
So where am I going with this? My main point is that automation is not always about saving effort, and that it doesn’t automatically save effort wherever it is used. Sometimes it has other goals, and sometimes it actually makes you spend more effort, especially when you count all the effort that is normally not visible, because it hides in the infrastructure or has been pushed out onto the customers.
In practice, there are certain patterns and arrangements that you can use with automation tools that work well for achieving a given goal. And there are also anti-patterns that make automation pointless or even harmful. The trick is in knowing what you want to do and how to arrange things to achieve it.