Simplicity, the art of automation
865 words, 5 minutes.
In May of 2015 I gave a talk about automation at the IPExpo Manchester show.
Whilst I was giving a small pitch for Ansible, I fundamentally wanted to talk about simplicity (a common theme throughout this blog, you’ll find, way before I went to work for Ansible, Inc) and its role in enabling longevity to systems engineering.
As I’ve come back to this topic in late 2024, I’ve realised how this talk still carries relevance nearly a decade later. A short while ago I posted this on LinkedIn, and it got 10x my usual views. It clearly struck a chord:
The tech industry is a shambolic mess now (to cheer yourself up, go read any of Ed Zitron’s writing) — and so much of it is down to companies not being willing (or, perhaps, able) to put the work in to making things simple.
Simple doesn’t mean “basic”, it means the development of the software has had high quality engineering time and effort put into it (this also means it is not “easy”). It means there have been conversations between development and customer — conversations that have involved asking questions about the users’ day to day working, and listening. Then the hard work has been put in to remove any and all friction from those daily challenges.
If somebody can’t pick up, use and understand your software inside of 10 minutes then you’ve failed to put the work in. You have failed to make it simple.
It is that simple.
Here are the slides:
![]() |
Hello! My name is … [8s pause] We'll come back to the significance of that 8 seconds later. # |
![]() |
Cue short video of Mark Adams. First 30 seconds: "A good system…" https://youtu.be/QlgXFRqfyWo # |
![]() |
Short bit about Vitsoe's shelving. Fully bespoke… # |
![]() |
it can serve any function you need… # |
![]() |
in any room… # |
![]() |
it can be small… # |
![]() |
or large. Did you think you were coming to a tech talk today? 😂 — Don't worry, we'll come to tech in a moment. # |
![]() |
But here's the beauty of the 606 shelving system. As bespoke as it is, it actually isn't. It's a system. A very simple system, of components that can be slotted together to make 'bespoke' installations. # |
![]() |
Does anyone know who this is? (when I delivered this talk in early 2015, barely anyone had heard of Dieter Rams). Rams was the head of design at Braun from 1961 to 1995, and designed the Vitsoe 606 shelving system in 1959. It is still fundamentally the same today, and Vitsoe is very proud to say customers take their furniture as they move house, remodelling the existing components as they do. I have done the same — moving from London to Yorkshire, starting with my small office installation in a flat to a much larger setup in a house. Vitsoe even sent me packaging to help ship everything with the removal company. # |
![]() |
I could relate to that (in no way comparing me to Rams! I am but an engineer). I was starting to despair of the tech industry. Overwrought, overcomplicated 'solutions'. Let's discuss four of Rams' principles of good design. # |
![]() |
I was pitching Ansible here, so talked about its simplicity, yet flexibility. Adding things on to it that were not a 'shipped' part was easy. I do believe if you can't achieve something within 15 minutes of first picking up a new product though, the product design has failed. # |
![]() |
YAML for configuration. Unlike JSON, and in the olden days, XML 😱 it's human readable. Makes it very accessible — even somebody who has never used the product before instantly gets it. This should be a fundamental part of any product design — it needs to be understandable, accessible, almost instantly. # |
![]() |
The ‘Unix philosophy’ - Ken Thompson's early meditations on how to design a small but capable operating system Use older tech. It works. SQL, SSH, keep web interfaces as simple as possible. A lot to be said for server-side HTML where interaction is barely needed. As I've updated these notes in 2024, just look at the state of the web today. # |
![]() |
The most important observation that I have made about good design—it’s not about aesthetics. Good design focuses on people. We would do well, in the software industry, to pay attention to Rams's ten principles, and to remember that ultimately we're using technology to make our lives easier, or better. # |
![]() |
Ansible promise back in the day. I swapped the 2nd and 3rd columns around from the original order, because this flowed better. Almost like a magic trick — simple, but powerful, and the turn; it was agentless. Which for automation tools back then was unheard of. # |
![]() |
And the significance of the 8 second pause at the start? I didn't want the audience to take any of my words to convince them of anything. I wanted them to try the product… # |
![]() |
and showed it was possible to install it in 8 seconds. # |
![]() |
Wise words. We're still getting that so wrong even today, in 2024, sadly. The tech industry would do well to study, and adhere to, Rams' 10 principles of good design https://www.vitsoe.com/gb/about/good-design # |