“I’ve been handcuffed to Charles Bronson. What have I got to be scared of?”
By: Steven Ayers
Tags: Consulting, Empathy, Agile, DevOps, Software

Charles Bronson, known as the most violent and notorious prisoner in Britain, but we’ll get back to that later. This is a story about death, the most jarring and foreign digital transformation I have been tasked with, and how it was the most human and insightful experience of my career so far.

I was 21 and had recently joined a new consultancy. I was relocated up to Manchester from London. My mentor at the time, a SCRUM master and former prison officer, invited me to join his team working for a large-scale funeral services company. The penny hadn’t dropped as to what the context was. All I heard was “AWS” “Terraform” “You’ll get to code”, and that’s all I cared about.

Day one, I arrived at what I can only describe as a giant open-plan spaceship. Upon approaching the dev team’s office space, a classroom came to mind. Drawings plastered all over the walls, small tables for group activities, bean bags, and general chatter and laughter filled the room.

What was out of place though, was a man in his 50’s sat on his own in a suit, Windows laptop sitting in front of him. He didn’t fit the usual Software Engineer mould. I sat myself down on his table and we exchanged niceties. “So what do you do?” I said. “I’m a funeral director”, he replied. To my surprise, there were a few more funeral directors scattered amongst the vibrant chaos. I later found out that these users weren’t here for a demo or a meeting. They were here every day and just as much part of our team as I was.

A few days in, our user researcher suggested I join him in going to Bolton to one of the funeral homes. “What’s the point?” was my initial thought, but I reluctantly agreed.

That trip out to the funeral home changed how I think about building software. I saw, for the first time, what environment our system would be used in. Paperwork was sprawled across the back office desk, a computer keyboard buried under there somewhere. The user researcher started to interview one of the funeral directors; I wasn’t listening. I was too horrified by the presence of a coffin that sat a few feet away from us, but nothing could prepare me for what came next.

We were escorted through the back office out to a cold, brightly lit room, with a wall of hatches in front of us. This was the morgue, where the deceased were kept until the day came when their funeral would take place. While I stared blankly, face grey, around the room, a quiet man dressed in long white overalls greeted us both and the user researcher dived into his usual line of questioning.

An empty iPad stand stood in the corner of the room. The mortician later explained that he wasn’t able to provide any feedback. The iPad had been taken back to Head Office, so for the time being, he had reverted to the paperwork approach he was comfortable with. Not only did that small mistake mean we lost out on valuable feedback, but it was a step back in building the confidence this man had in technology’s ability to help him fulfil his job. Head Office could potentially take that iPad back at any time, but he could always fall back on paper.

Revisiting the codebase after that, it was all too real to ignore what this code actually represented. “Deceased” was an object:

type Deceased struct {

Name string

DateOfBirth DateTime

DateOfDeath DateTime

Gender string

NextOfKin Contact

Location string

}

Our users allowed us to ground our code in reality, and truly understand the impact and purpose of the work we did. Models representing the wall of hatches, users representing the man in the long white overalls. The coffin that had left me speechless during my visit to the funeral home. I was chilled to the bone but the chill I felt wasn’t horror, it was remorse for the families who had lost someone they loved, and respect for the funeral directors I was building this system for.

I had been writing imaginary concepts in code in my lovely comfortable office. They were living this, a job I could never do. I wouldn’t have the faintest idea of how to address a widower who had lost her husband, but I had this unshakeable empathy I felt every day that I walked into the office.

These funeral homes are family-run businesses, all with their individual approach. You can’t get more human than death, and it’s all too easy to take humanity away by restricting someone’s choices to a drop-down list. A widower in her 80’s is sat in front of you. She just wants a modest funeral to remember her husband, but she can’t afford a hearse. These family-run businesses know in that scenario, you swallow the cost. How would I, another developer, or someone who had spent their entire career in Head Office know that? Can you imagine the gut-wrenching feeling a funeral director would have when the new system comes online, and because of it, they need to have that conversation?

The wall of hatches, with a lost-loved one behind every door. If we didn’t test our code to the best of our ability, we could be directly responsible for sending someone to the wrong funeral. These consequences wouldn’t just cost the business money; it could leave grieving relatives feeling a way I can’t even fathom.

The bi-weekly Sprint Demo came around, but you would have thought it was a press conference. Crowds started to form around my desk situated at the back of the room; I could hardly get my chair out from below my desk without knocking into someone. We had funeral directors, managers, admin staff, people from irrelevant departments all coming to see what we had achieved. People cared about what we were doing. The invitation was a call to all staff, not a guest list.

Not only were demos public, but the ticket board was also public, user feedback was public. Those drawings on the walls I spoke about earlier? They were wireframes for the entire team to see, with the feedback attached to the wall alongside them.

A few years later, I revisited Manchester for a software award ceremony, where our solution had been nominated. We won every category we were nominated for plus more; it felt incredible. However, before we entered the ceremony, my mentor addressed the team and said: “The funeral directors are the ones who should be going up on stage, this is their time, not ours”. He was right, this was their solution, they had been the experts who drove this transformation, and we were the supporting act.

I didn’t realise it at the time, but these experiences taught me invaluable lessons that shaped the consultant I am today. The thought always at the forefront of my mind is understanding another’s perspective. We’re all human. We should never forget the power software has to change someone’s daily life, and because of that, our empathy and understanding is just as important as our technical expertise.

Build trust with our stakeholders. They are our advocates and will support us while our users guide and teach us about the business and what it really needs. These efforts should be extended to other consultancies working with our client too. No matter what company we’re from, we all want to do the right thing and feel part of a team. We need to leave our egos and preconceptions at the door and build trust there too.

This all requires a bedrock of candour and transparency, and it can be terrifying laying bare the good, the bad and the ugly to a client when we have million-pound contracts resting on our shoulders. It’s often easier to manage the message, my mentor didn’t, and it paid off being brave enough not to.

He has this incredible talent for bringing people together. When I asked him how he created the dream team I had worked in, he said to me “I’ve been handcuffed to Charles Bronson. What have I got to be scared of? And when has politics ever delivered good software?”.

We can choose to hide in silos and play politics, or we can choose to be the first ones to take that step towards relationships founded on trust. And so, while I leave you to think about breaking down those barriers, here are some questions I have for you that may help you on that journey: