How board games improved my ability to explain dev concepts
Tags: communication, boardgames, learning, discuss
Published: 2018-10-26 02:41:36

---
title: How board games improved my ability to explain dev concepts
published: true
description: Being able to effectively explain the rules of a game can make or break the experience. Here are some of the techniques I have found that work out really well and have changed how I explain dev concepts
tags: communication, boardgames, learning, discuss
---
![Settlers of Catan](https://thepracticaldev.s3.amazonaws.com/i/z8y48k75mr1g7jelpjmo.jpg)

You glance at your watch anxiously; looking out the front door. “Come on guys” you mutter to yourself. The sausage rolls you took out the oven thirty minutes ago no longer hot. “Sorry we’re late” your friends say when they arrive. “No worries” you respond smiling, excited to catch-up with everyone. After a few hours of finding out the latest news and gossip you look at your watch again. ‘Time for the main event?” you propose. Mixed expressions form around the table. “Are you sure we will have enough time? I am pretty tired” someone says. “It will be fine, I have been looking forward to this all week!” you say dismissively.

Reaching under the table you slowly reveal the latest and greatest board game. You lift off the lid of the box as if opening a hidden treasure. While friends distribute the pieces amongst each other you reach for the sacred scriptures (the rule book). You call everyone to pay attention as you start to explain how to play the game. Everyone is attentive at first but as time goes on you start noticing some are drifting off into the boredom dimension.

“How about we start playing as it will probably make this easier to understand” you say in an effort to recover the night. Everything seems alright at first but then the questions start. “What is this?, How can I build that?”. You feel yourself explaining the same concepts again and again all the while friends look more perplexed. The group decides to finish the game early and heads home leaving you with cold sausage rolls and an incomplete board game.

![Sad](https://media.giphy.com/media/ycdVnD1sAcWkw/giphy.gif)

***

Although board games are (usually) fun there is quite a large upfront cost we must pay to experience it. The dreaded setup and rules explanation requires everyone's attention to understand how the game works in order to play. This overhead is enough to put people off from deciding to play one in the first place. Video games differ in this regard as they are able to manage a lot of the complexity and expose only the interactive parts of the game.

Being able to effectively explain the rules of a game can make or break the experience. Here are some of the techniques I have found that work out really well and have changed how I explain any concept in my day to day life:

## Start with theme or end goal
Games allow us to try and solve problems in an artificially constructed environment. Being able to sell the idea of what people are trying to solve is key to engaging with them. Let’s take the game Splendor for example:


Splendor board game
![Splendor board game](https://thepracticaldev.s3.amazonaws.com/i/6vtik5q5gagqi6zf4ff0.jpg)
Compare the following:

>We are each trying to collect the most victory points by collecting the most valuable cards

>We are each competing gem merchants who are using our small supply of gems to build the most profitable empire.

Although these are both true descriptions of the game Splendor, the second creates an evocative theme that is immediately engaging. This leads players to ask “How do I become the most profitable empire?” which allows you to easily segue into the winning conditions. This provides the mind with a target/goal that is used to understand the relevance of the other rules or actions.

##Give players the board game pieces
Giving players the opportunity to interact with the game pieces is an underestimated technique for engagement. It is easy to interpret someone playing with pieces as being distracted or not focused. However allowing players to interact allows them to form a connection with the game and pique their curiosity as to how a particular component is used.

##Players asking questions
If you are like me you really engage well with content when being able to ask questions. My mind can get so caught up in wanting to know the answer that I don’t absorb the rest of the content.

When someone asks a question during your explanation you should always acknowledge it. This may mean choosing to answer it immediately, or alternatively that you will be answering it shortly in the rest of your explanation. Choosing which one of these options is up to you but be aware that answering a question too soon (before other required terminologies are understood) may confuse not only that person but others listening.

##Applying this to the dev space
I have found these concepts apply quite nicely to software development. We typically create a nicely layered architecture that is ideal for the "explain backwards technique".

Setting a theme is relatively easy when aligning your work to your users. UX caught on to this idea a long time ago and create persona characters when creating designs to help establish a personality and motive for the thing they are helping create. For software development this often means we use User Stories or feature requests to help explain the “theme” of what we are trying to solve.

As an example if we were teaching an already implemented feature based on the following User Story:

>As a florist I want to update an order to include or remove certain flowers

By starting here we are able to make a connection to this particular theme/domain and better understand the overall goal of the story. We could very easily have just called the florist a user and that would be fine, but provides a good frame when solving this problem. At this point it would be good to leverage the finished code and run through an example update order. However if this was not implemented yet you could use other techniques such as paper prototyping to describe the workflow for the user.

From this point more technical specifications can be created. This might be to update the orders record in the database. If I was explaining how this code had been implemented I would start at the database layer, move up through each layer until reaching the entry point of the application. This would allow the person learning to see the process gone through to reach the database form.

***

Explaining is an improvable skill. I hope that some of these techniques I have described help you. I have found board games to be a pretty awesome medium to do that and highly recommend giving it a try!

![Have Fun!](https://media.giphy.com/media/5KX9jiNXkb3xK/giphy.gif)

###And as always curious to hear what you think? Have you had any hobbies that have influenced the way you communicate in dev?