What cooperative games can teach us about software projects
Recently, I have been playing a cooperative board game called Pandemic. Like some other cooperative games, there is no competition between players. Either all players win the game by reaching an objective, or everyone loses if that goal is not achieved before a given event occurs.
I tried to resist, but it got me thinking about software projects.
In Pandemic, four diseases have broken out around the world. The objective is to cure all four diseases before a pandemic causes global disaster. Throughout the game, players move between cities on a world map, using their common abilities to treat infections, build research stations, and discover cures. In addition to this common set of skills that all players have, each player has a distinct specialty that gives them increased capacity to move, cure, research, and share knowledge.
One of the things that’s great about this game is that it is not easy. While there are adjustments that can be made to modify the level of difficulty, none of them makes the game dead simple. What fun would it be if you brought this game home and beat it, right out of the box?
What really got me thinking were the strategies required to win the game:
- Keep the final goal in mind
- Know your teammates’ special abilities and combine them with your own
- Share knowledge
- Invest in infrastructure
- Know your limits
- Prepare for setbacks
Keep the final goal in mind
While players are working towards curing diseases, there is an ongoing distraction: infections are spreading. Treating infections does nothing to help cure a disease, but ignoring infections can result in an outbreak. With enough outbreaks a pandemic can occur. The players must keep their focus on curing diseases, while at the same time being aware of small problems that turn into bigger problems.
Likewise, it’s possible to go right past the goal of finding a cure by eradicating a disease. But while someone is eradicating one disease, another uncured disease could be getting out of hand.
Know your teammates’ special abilities and combine them with your own
Each player in Pandemic is assigned a specialty. Depending on the specialty, a player has increased power to move, cure, research, or share knowledge. It is a real advantage in the game to be aware of your strengths and the strengths of others, how they are best used and combined, and to recognize opportunities to do so.
While one player builds a research station, another can quickly move there, and another can share knowledge to efficiently cure a disease. But players also shouldn’t use their special abilities to the exclusion of their common abilities. Sometimes it’s more advantageous (and urgent) to combine abilities that all players share.
In the context of Pandemic, sharing knowledge involves passing cards between players so that one player has enough of a given card type to cure a disease. The catch is that the player giving up the card has to use one of their limited number of moves to do so. It is possible for a single player to independently collect the required cards, but in most cases, it is faster to reach that goal by sharing cards.
Invest in infrastructure
Research stations serve at least two purposes in Pandemic: players may move to cities with research stations more quickly than they can to other cities, and a player must be in a city with a research station in order to cure a disease.
At the beginning of the game, there is one research station on the board. Players may build a research station during their turn, but there is short-term sacrifice involved: they must use up a move and give up one of their cards.
Know your limits
At the end of each turn, the player draws two cards. If this draw takes the player over the set limit of seven cards, they must reduce the size of their hand by discarding the excess or playing special event cards that they hold. Throughout the player’s turn, they are aware that this choice will be coming. They can pass cards to a teammate – share knowledge – to help bring them closer to curing a disease, while a the same time creating space for the cards that they will be adding to their own hand.
Prepare for setbacks
Throughout the game, infections are slowly spreading. But epidemic cards and outbreaks result in the proliferation of a disease, causing sudden multiple infections and the spread of disease from one city to all adjoining cities. Players must plan ahead so that when (not if) these events occur, they are manageable. If players move steadily towards the goal of curing the diseases before epidemics and outbreaks cause infections to get out of control, the game ends in a victory.
That’s it: those are the basic strategies that can be used to succeed in this cooperative game.
Can we apply them to help us work together to create great software?
I’ll share some of the experiences I’ve had with these strategies in software development in my next few posts.