Session Zero for Software Teams
I recently spoke at our Hashrocket Miniconf about a concept I learned from the tabletop role-playing game community: Session Zero.
Before I get into Session Zero, let’s set the stage. What is tabletop role-playing? Think Dungeons and Dragons. I know we’re all some flavor of nerd here on the internet, but if you’re not familiar with these types of games, here’s a simplified description: Generally a tabletop role-playing game (RPG) consists of participants who play characters with different attributes and abilities. Players describe their characters actions and roll dice to see whether they succeed. A campaign in an RPG is a series of challenges or situations that are presented to the players as they progress through a fictional setting. A Game Master (GM) sets the scenes, presents the challenges, and adjudicates the rules for the players. A campaign is a longer term game played out over a series of sessions.
One of the most frustrating situations that can develop is if participants aren’t on the same page about what they’re playing. What if one person is trying to play a lighthearted fantastical game consisting of unicorns and banana puns, while another person is in the mindset of a grim and realistic setting full of vampires and betrayal? Imagine a situation where one character is trying to diplomatically negotiate their way through a conflict while another jumps straight at the enemy with swords drawn. Or worse, what if the Game Master, who is organizing and refereeing the whole thing, has a different idea of what game they want to play than the players do?
Odds are, if these underlying assumptions go unacknowledged, all participants will end up having a bad time and each will feel like the other is playing the game wrong.
Have you ever been a part of a pair or a project team that felt like that? Like there was a fundamental expectations mismatch about what you were even trying to do? Where each person thought the other person was going about it wrong?
That’s where Session Zero comes in. In the world of tabletop role-playing games, Session Zero is dedicated to working together to lay the groundwork for upcoming game. Importantly, It is the session before game-play begins. Instead of starting with unstated assumptions about how people will play together, you have a dedicated hang-out to talk it through before you even roll a die.
So what do you talk about at Session Zero? As experienced players have discovered, a few things are going to need to happen in order to have an enjoyable campaign. You need to be aligned on things like:
- Game Rules - There’s more than one game you can play. You may have your own house rules. Agree on the source of truth up front, and how disagreements will be adjudicated.
- Campaign Expectations - What kind of atmosphere do players want to be a part of? Is it a scary or funny? Is it a classic dungeon crawl or an epic open world?
- Player Goals - Some players are going to be motivated by killing monsters and getting loot. Others like playing out social interaction and developing backstory. What aspects of game-play will keep players engaged?
- Character Creation / Party Composition - Different characters will bring different strengths to the party. The party might not be very successful if everyone chooses to be a fighter and no one wants to be a healer or a wizard. A balanced party will use a mix of strengths to achieve the goals that the participants set out.
- Table Etiquette - How you behave with your childhood friends might be different than at a public meet-up. What do you want to do about phone use at the table, or people interrupting each other? Now’s a chance to generate some ground rules together.
- Snack/Beverage Situation - Yes, more than one gaming group has fallen apart over arguments about around arranging and paying for necessities like pizza, beer, and snacks.
All of these decisions are likely to go over better than rules that are unspoken or are handed down from on high, because you have generated them together. The conversation is productive because there’s no pressure to try and squeeze in a couple hours of the game itself; you’ve given the discussion its own dedicated space to ensure all participants are heard.
I’m hoping you are beginning to see some parallels with your own project experiences. The above items could be pretty easily translated into a meeting agenda:
- What process do we agree to use?
- What goal are we trying to achieve? How will we determine progress/success?
- What are our roles? How will our roles relate?
- What are the participants work-styles? What do they find motivating? What strengths do the team members bring?
- How will we plan to communicate effectively? How do we agree to interact? What kind of culture are we promoting?
- Where is the coffee? When do we get to drink the coffee?
Where could this be useful in your process? You could some of these ideas when you first start pairing with someone new. You can talk about what you’re hoping to get out of pairing together and how you can do it in a way that gets you there. Maybe it’s a good way to think about running a project kick-off, by asking the group to articulate the goals, processes, and rules.
How to make this successful? Have this conversation before you are worried about ticket completion or velocity. Remember that working these things out up front is going to be better than trying to lay the track at the same time you drive the train. Make sure that you’re listening. The point is for you to understand what everyone needs in order to be successful.
The concept of Session Zero provides a useful framework to think about how you start something new. In an RPG, there isn't one right or wrong way to play; every game is unique depending on the players. Similarly, there's a number of different approaches you can take to working with a pair or a team. What is important is getting on the same page about how you want to go about it. Take the time to figure out that context and agree on how you all want to work together.
The result? You know where you’re headed, you head there together, and you have a good time doing it.