Step Away From the Keyboard (and Mouse)https://automys.com/blog/post/step-away-from-the-keyboard-and-mouse
Step Away From the Keyboard (and Mouse)
Question: how many clicks should it take to get to the center of a Tootsie Pop, where Tootsie Pop is a metaphor for accomplishing a task largely carried out by computers? This could include anything from backing up files to running security scans to producing expense reports to provisioning servers.
You might say: well, it depends. How complicated is this task? For complex processes like building a new server or deploying multiple patches, a fair amount of clicks seems reasonable, maybe in the dozens or hundreds. For simpler things, even a few is nothing objectionable. Besides, you like buttons, like most humans, and will click anything once.
I’d say the correct answer is: zero. Ideally, computers should be able to do the things they do without hand-holding, indeed without any of our input at all. This is of course up to our discretion about how much oversight we want (insert Skynet reference here), but when we’d prefer the task just get done with minimal input, that should be the goal.
Clearly, the world is not there yet. For instance, one study found the average computer user to perform 23800 keystrokes and 7400 mouse clicks per week. And most computers still include a keyboard to be useful, because many systems and software applications remain largely human-driven. Professionals in countless fields have powerful software they depend on to perform their work, yet this software requires them to sit in front of a screen and provide relatively large amounts of mouse/keyboard input to produce anything valuable.
Now, I’m not encouraging you to throw away all your keyboards just yet.
But I am encouraging you to measure what you do against the aspirational zero-click standard, and to recognize what being tethered to the keyboard represents: manual labor.
Given that real, physical labor still provides the baseline for “hard work”, most of us would admit that working conditions involving desks and keyboards are pretty easy by comparison. This is true, but easy doesn’t mean efficient. We may be only burning 1.42 calories per click and thereby being efficient with our energy, but we’re probably not being very efficient with our time.
What is a keyboard, after all? It’s an input device. Software does amazing things, but almost always needs to know some information first. That’s where we (humans) have traditionally come in, using our mice and keyboards to provide the data. This traditional approach, which I’ll call the manual architecture, is shown below and describes much of the working time for millions of professionals worldwide.
It works as follows:
The brain is connected to the torso
The torso is connected to the arm bone, which is connected to the odd-looking-hand bone
The hand pounds on the keyboard, thousands of times, to produce information
The information is interpreted by a computer (shown here rocking an old-school CRT monitor)
Software executes upon receipt of information
Some useful result is produced (shown here as cake)
What’s increasingly possible and where the world is headed is a different approach where manual, interactive interfaces are being replaced by programmatic, non-interactive ones (APIs) which enable computers to perform actions and provide data in place of keyboard-wielding humans. A simple depiction of this is shown below, and could be called an automated architecture.
How it works:
System A is instructed to be responsible for some task, which it might perform on a schedule, or when triggered by something in the environment it is monitoring.
When the time comes to perform said task (a triggering event occurs), System A invokes other systems as needed via programmatic interfaces they provide.
Software executes upon receipt of information
Some useful result is produced (same cake)
If this sounds abstract and vague, rest assured we’ll get into the nitty-gritty in the future (sign up to the email list below to be automatically notified, or manually come back regularly if you prefer). For now, I’m hoping to show one way to make “automation” less of a buzzword like “synergy” or “alignment”. You should ask, what does automation actually look like? A partial answer, in the case of IT and business, is to say what it doesn’t look like: to the extent hands typing on keyboards are involved, that’s not automation. To the extent systems are interacting via APIs, that is.
To make this more concrete, here are some examples of both approaches to various tasks:
Jerry logs into the server every morning and makes a copy of the company data, and then removes copies older than 30 days.
A backup system is installed that runs continuously, performing configured backups and cleanup on a schedule.
Elaine clicks the button to run Windows Update when she gets an email from IT, if she remembers and is persuaded of the need to comply. Then she clicks a button to install updates, then clicks a button to restart.
A patch management system like System Center Configuration Manager automatically keeps a baseline of patches on managed systems and installs new ones in the background without requiring user assistance.
George collects all his receipts while traveling. When he gets home he opens the company portal
(or worse, a spreadsheet template), and enters each receipt by hand, including expense name, amount, etc. He then mails the receipts, using actual paper envelopes, to corporate accounting, who manually verifies each one for auditing purposes. Then, they enter the total in the accounting system for reimbursement.
The company provides George with a system like Expensify, which allows him to simply take a photo of each receipt he receives before promptly throwing it away. The system automatically scans the image and extracts the required information like names and amounts and stores both data and image to an online report. At the end of the trip, George opens the generated report, and submits to corporate, who sees the data imported straight into their accounting system. No data entry (or paper) required anywhere in the process.
The application that required the new VM to meet increased load was built on a flexible platform like Microsoft Azure, and configured to automatically scale up when utilization reached 90%. A new VM was provisioned and load transparently balanced. Newman sees the associated email notification that this happened in the morning.
I’m sure you could add your own examples in the same pattern. On the left, lots of hand-holding. On the right, things are set up to require minimum input and interaction. Business gets done faster, and life is better.
Don’t stop using the keyboard just yet: type your thoughts below.