Don’t automate 100%
I recently had an interesting discussion about the philosophy behind automation. Cloud Computing is a large scale automation solution - we automate the boring tasks of managing machines, storage, network, databases, and many other engineering primitives, so customers can focus on developing their core business values. KMS, where I make a living, is basically a service of automating Hardware Security Module (HSM) to offer cryptographic primitives that are secure, durable and available at a mind blowing scale.
There are several schools of thought in automation. One group advocates for total automation: if a task can be automated, it should always be. Another group suggests that if not everything can be automated, then nothing should be. A third group has a zero-tolerance policy for error. They believe that if any problem is detected in automation, then it must be fundamentally flawed and should be entirely discarded.
The rhetoric of "all or nothing" is often seen in high-stakes areas such as Tesla's auto driving or the recent AI code pilot movement. If an auto pilot makes a mistake, we panic, while we ignore million of accidents and bugs caused by human mistakes.
The key to make automation work, is to choose an iterative process: initially targeting repetitive, mundane tasks that often lead to human error. Over time, automation gradually covers more complex use cases, with human judgment reserved for the edge cases that rarely occur. As products of billions of years of evolution, humans have a judgment capacity that no amount of automation can replace. Yet, humans are not optimized for repetitive tasks— that's where machines excel. The attempt to automate everything in one shot often leads to failure due to the unrealistic expectation, complexity of the problem and the inherent resistance to change in human nature. In contrast, gradual, incremental changes allow stakeholders to adapt and adjust.
At KMS, we follow the 80/20 split model for automation: we first identify and automate the use cases that represent 80% of the most common pain points. For the remaining 20%, we further break it down and automate another 80%.
"So, will you ever be fully automated?" one might ask. The answer isn't a simple yes or no. While we continue to aim for higher levels of automation, there will always be a subset of low probability events we rely on human intervention. The universe we live in is fundamentally governed by probability. Our deterministic view of the world is merely an approximation to help us navigate our daily lives. In this context, the idea of 100% automation becomes not only unachievable but also undesired. Ultimately, our goal is to make automation effective for the majority of use cases, most of the time. Acknowledging and accepting the inherent imperfections in automation strikes a healthier balance. So don’t automate 100%, let machines do the 99%, and we human shine at the last 1%!
Last updated
Was this helpful?