Seek solutions that can be understood by anyone - even yourself

Photo credit: Amy Elting via Unsplash

“No.”

It wasn’t the answer we were expecting. I was sitting alongside my colleague, in the office of a very senior sponsor and stakeholder. We had just pitched our plan for a complicated, urgent piece of corporate restructuring: the divestment of nearly a fifth of the organisation. It was a time sensitive, strategic and difficult project. My colleague was in charge of the business change plan, and I was in charge of the technology change plan. Between us, we thought we had come up with the best route to success. But our sponsor wasn’t buying it.

“No,” he said again, but this time he elaborated.

“The plan that you have come up with is inventive and clever. If we execute it well, we might just pull this off. It’s efficient, and makes the best use of our limited resources. But there’s a problem. It’s too complicated. I can’t explain this to the thousands of people we’ll need to do the work and expect everybody to keep it straight through months and years of delivery. You’ll have to go away and think of a plan that costs more and takes longer - but is simpler.”

To start with, we were deflated. We were very proud of our plan, and we were self-confident enough to believe that no-one else could have come up with anything better. We felt that we were being asked to dumb things down.

But, as we worked on a simpler plan, and saw it put into practice, as we saw how our sponsor simplified our messages even further, talking about the same three points every time he spoke to all the people who would be impacted, we came to realise that simpler was better. And it worked: despite challenges and difficulties, we were able to keep focused on our simple approach and get the job done.

That was one of the most important lessons in leadership I’ve had in my career: simpler can be better than clever, especially when you are working with others. It’s not because those others aren’t smart enough to understand your elegant ideas: it’s just that it’s hard to keep complex ideas straight across many minds.

Despite the profound impact this lesson had on me, it’s a lesson I’ve had to keep on learning. It doesn’t just apply to big strategic choices and transformation plans: it also applies to everyday decisions we make when we are building and designing systems.

One of my colleagues at CDDO, Robert Nichols, recently shared that he’d been working on some code that he’d written a few months previously, and found that the really clever code, the code that he’d felt particularly pleased with himself for coming up with, gave him the most trouble. It was hardest to understand and harder to change.

I’ve had very similar experiences. In a recent spare time project, I built a system for people running a small organisation. They needed a dashboard to see some of their key stats. I thought it would be far too easy and inflexible to write a bespoke dashboard which directly met their needs, so I wrote a whole dashboarding system, which expert users could manipulate to execute arbitrary queries and show the results. I was very pleased with it, and was very pleased with myself.

Naturally, it turned out that it was far too difficult for the users to get to grips with, and was barely used once the initial dashboard was set up. Now, every time I have to maintain that code, I pull out a notepad and a pen to help me keep track of the concepts that I dreamt up in the first place, and wish I had the time and courage to refactor it to something much simpler.

I don’t think that the core of this lesson is that we should always Keep it Simple, Stupid. Some things are inherently complex, and pretending that they are not is a good way to design solutions or strategies that don’t work. And we should continue to try to be smart, clever and elegant: just as we should not let the perfect be the enemy of the good, we should not let simplicity be the enemy of intelligence. However, we should remember that any design or plan which cannot be explained to others probably won’t work - even when the others are simply ourselves at some point in the future.

Previous
Previous

Complexity and simplicity are friends

Next
Next

Laziness and improvisation: two programming superpowers