I’m David Knott. I’ve been working in enterprise technology for over forty years and I’m still learning. This blog is based on mistakes, failures, lessons and some things I find interesting:
Return of the spec
How much thinking do you need to do before you start coding?
When I got my first professional programming job, back in the late 1980s, the answer seemed to be all the thinking. We were encouraged - no, obliged - to use a method known as Structured Systems Analysis and Design Method, or SSADM, developed by the UK government. It was the very definition of a Big Upfront Design method, where you had to write multiple layers of specifications, accompanied by a whole array of models which described data structures, data flows and the lift history of data items (it was a very data-oriented method), before you even thought about writing a line of code.
What does 'architectural significance' mean in the age of AI?
When is a decision architecturally significant?
This question has vexed all of the technology architecture teams and governance structures which I have attempted to set up in my career. The thinking goes something like this: technology is complex and difficult, and we seem to have made some bad choices in the past; it would be a good idea if we were more thoughtful about our choices, and spent time trying to get them right; we could do that through some sort of governance process; however, if we subject every single decision to that governance process, we will erode autonomy and slow everything down; let’s focus our governance process on decisions which are architecturally significant, and let all other decisions be taken locally.
Technology architects aren't vampires: they don't need to be invited in
Vampires are puzzling. They have all sorts of rules which help make dramatic stories and films, but which don’t make much sense if you stop to think about them. For example, consider the rule that vampires can’t enter a house unless they have been invited in. Does it matter if the inviter lives at the house or not? What if the vampire receives a party invitation in the post? Is it okay if they are the +1 rather than invitee? Does a ‘Welcome’ mat work? It’s probably best for us not to ask too many questions, but just to accept the rules and enjoy the story. Oh no! The protagonist has blithely invited the monster in for a cup of tea!
However, while this seems strange in fiction, we often encounter its equivalent in real life, especially if we work in the technology department.
There's always a bigger goat: don't let big problems stop you solving smaller problems
In the story of the three billy goats gruff, the goats want to cross a bridge guarded by a troll. They manage this by each telling the troll that there is a bigger goat just behind them until (spoiler alert!) the biggest goat comes along and butts the troll into the sky.
Sometimes, when we are trying to make the case for enterprise technology capabilities, it feels like we are the trolls, and that we are so scared of the biggest billy goat that we won’t tackle the smaller goats. When we look across our technology landscapes, we see mess, waste and mayhem, and wish that we had some of the foundational capabilities that would help clean things up. Yet we hesitate, because we know that every time we build something we will uncover another problem, and another problem, and another problem, until we get to problems that are so big that we cannot imagine how to solve them.
It’s more complicated on the inside than it is on the outside
We don’t need time machines to create paradoxes in technology: they are built into the way we work. One of these paradoxes is that the simpler technology appears on the outside, the more complicated it is on the inside.
I was reminded of this recently when talking to someone who confidently told me that the more sophisticated AI models get, the easier they will be to use, for technologists as well as end users. AI would solve its own skills problem. I was surprised by this because, to me (and, I expect to most other technologists), while we understand how natural language interfaces can radically simplify the experience for end users, the introduction of the current wave of AI into our architecture makes it more complicated.
Chief Architect: Day One
What should you do in your first day as Chief Architect of a large organisation?
I got to ask myself that question four years ago, when I started as Chief Architect for HSBC: it took me a long while to find (some of) the answers. Now that I have left HSBC for a new role, my successor has also had the chance to ask that question.
Here are some of our combined thoughts, in the hope that they will be useful to other people stepping into such a role. As with all offers of architecture advice, they are offered with a combination of confidence (won through learning from many mistakes) and humility (recognising that anyone people taking up the role will already have found some better answers than mine).
When is it reasonable for technology architects to go to unreasonable lengths?
Teller, the silent half of the duo of magicians, Penn and Teller, is not always silent: he’s given interviews and written articles on the theory, practice and psychology of magic.
Any insight into how people perceive and believe can be helpful to technology architects, but I think that one principle shared in this article is of particular use: make the secret a lot more trouble than the trick is worth.
The idea is that every trick has a public side (what the audience sees) and a secret side (how the effect is achieved), and that most people will assume that an apparently simple effect (the magician identifies the right card) is achieved by a similarly simple cause, and, if they cannot figure out that cause, will be mystified and entertained.
Learn sense making and storytelling from the world around you
My wife and I paid a (socially distanced and suitably masked) visit to the Tower of London last week. It was a strange experience to be visiting this site of so many historical events whilst in the middle of our own historical event, and even stranger because it was so quiet: visitor numbers are currently strictly limited.
The quiet gave us an opportunity to spend a little time longer with the exhibits, and to appreciate them in more detail. The one that stayed in my memory was an exhibit in the Bloody Tower which told the story of the princes in the Tower. (If you’re not familiar with this story, then you can learn more on Wikipedia or, if you’re in London, plan a visit when conditions permit.)
This exhibit held my attention because it told the story in two very different ways.
Take a trip in your architect’s time machine
I have claimed in the past that technology architects have superpowers, particularly x-ray vision and, even more importantly, the ability to figure out how things work. But if you are lucky enough to work with a technology architect, you should make the most of another one of their special abilities: time travel.
You have probably already realised that architects can travel to the future. After all, they spend a lot of their time talking about the fantastic advantages that new technology will bring us, and how great our lives will be one we have built their vision. They also spend a lot of their time giving us dire predictions of how things will be if we make the wrong choices in the present. They may even talk about future state architectures (although this is not a phrase I am a fan of - I will explain more in an upcoming article but will just say for now that attempting to define a single fixed ‘state’ for anything which changes as rapidly as technology architecture feels like a mistake).
Make Feedback a Batch Process
How do technology architects know that we are doing a good job? We are often working as the only architect on the team, making decisions which others may not agree with, making sense of complex and ambiguous topics, and trying to set a direction which others can follow. How can we tell that this all adds up to something useful?
One way to find out is to ask for feedback. We do better when people tell us freely why they disagree with us, whether we are successful in making ourselves understood, and whether the paths we lay out lead to the right place.