Here Be Dragons: de-risk your product

Tuesday, 11th July 2017

By Tom Corfield, Manager at Social Finance

Use medieval map drawing techniques to find the scariest bits of your product…

It’s really hard being the new person working on a product. Particularly if you’re an engineer. You’ve got to learn to understand and work with a code base that you didn’t write. If you’re lucky, someone else in the team did write it. But if you’re unlucky, and you’re working on a legacy code base, there are whole black boxes of code that nobody on the team understands.

‘Here Be Dragons’ is a short workshop I’ve been using for a while to get everyone (myself included) talking about the bits of the product that scare them the most. The idea is stolen from medieval map map makers: the maps they were making were generally for sailors and aimed to map out the whole world.

A ‘Mappa Mundi’ — creds to the British Library

But the problem was that there were whole bits of the world that nobody had discovered yet, and other bits where the maps were hazy at best. So map makers had to fill in these unknown areas, or they’d have an embarrassing blank bit of map. So instead of making it up, they filled the unknown spaces with pictures of mythical beasts and labelled it something along the lines of ‘Here Be Dragons’.

Whimsical Beast — creds to the British Library

Which, as you can imagine, probably deterred quite a lot of sailors from going and exploring those parts of the map! It would have been much better for the explorers if the map makers had instead said ‘you know what, we don’t know — go find out and then tell us!’ The double benefit being that probably someone who sees the map will have been there or at least near there, and can start to help fill in the gaps.

This workshop is the product equivalent of this exercise:

Everyone maps out where they think the dragons are, and then we work out how we’re going to slay them together.

Initially this started out as a workshop for engineers working on products. But actually it works well in any situation where you’re trying to get a group of people talking about the risks and unknowns around what they’re doing.

Often it’s hard to have the conversation where you admit that you don’t understand something. It’s even harder as a team to acknowledge that none of you understand it. Probably everyone in the team knows that nobody knows… but you’d rather not talk about it…

Maybe if you leave the black box alone for long enough maybe it will just die. But this is a massive risk to your product. The scary truth is that usually the black box is doing something quite important. And if it broke your product would die. These are the dragons your team needs to slay to stop you all having nightmares.

Here’s how the workshop works

It can take as little as 30 mins, but I’d suggest taking longer if the conversations are good.

You will need:

  • Nice big bits of paper
  • Coloured pens (and glitter and anything else you need to be creative.

Step 1 — draw your maps (5mins)

Everyone on the team draws out their own pirate map of the product. That could be from a feature perspective, a code base perspective, external forces that operate on your product… whatever works for you, or a mash up of everything, as you like. Get creative. I think this works best when people genuinely draw it like an old treasure map, with an island, sharks, treasure and, of course, Sea Monsters. And attribute each bit of the map to a feature, bit of the code, external risk… etc

A classic ‘Treasure Island’ approach

Step 2 — tell your stories, find your heroes (15 mins)

Each member of the team talks through their map and explains the nature of their dragons and why they think they’re dragons.

Hopefully this is the moment when your hero will step forward out of the darkness. “Don’t worry about a thing” she’ll say “I know how that works — I’ll save you from the dragon!”

If this doesn’t happen, you might want to prompt the group… surely someone knows SOMEthing?

But if it’s really true, and nobody knows anything about the dragon… well that’s pretty good to know right? And now you need to mint yourself a fresh hero — who’s going to step up and take this dragon down. Or maybe you’re going to tackle it as a team…

Step 3 — Draw in your heroes

Everyone on the ream draws their heroes onto their maps. Ideally in heroic poses battling with the dragons. Make sure the names of the heroes have a name tag.

Heroes taking down a Dragon

Step 4 — take action!

Use your maps as prompts in team meetings and planning sessions. Make sure they’re a talking point on every agenda until all of the team’s dragons have been slayed and all the scary bit of your maps are scary no more.

An added benefit of this workshop:

Your Dragon areas are inherently unknowns. If your team aren’t sure about them… and maybe previous team members weren’t sure about them… you can guarantee that these will be contributing to your technical debt . If they’ve not already, successive developers will be likely to engineer around the problem creating layers and layers of obfuscation. This is a great opportunity to stop the rot.

(Thanks to Dave, Anneka and Matthew for letting me use their maps!)