April 8, 2010—There are several ways to learn about software architecture. You could read Software Architecture in Practice, Second Edition by Len Bass, Paul Clements, and Rick Kazman. You could join the software architecture community and comment on insightful blog posts and forums. You could take a class such as the Software Architecture Principles and Practices course, which is available both at the SEI and online. But did you know that you can also learn about essential software architecture principles and practices by playing a board game?
The “Hard Choices” board game was developed by Ipek Ozkaya, Nanette Brown, and Robert Nord of the SEI, as well as Philippe Kruchten and Erin Lim of the University of British Columbia. They based the game on Quality Tree Software’s “Short Cut” game. As Lim said in an entry on the SATURN Network blog, “The purpose of Hard Choices is to help players recognize, develop, and learn strategies for managing uncertainty, risk, options, and technical debt.”
The Hard Choices game board represents the development cycle for a piece of software. In the quest to become the market leader, players race to be the first to release a product to the marketplace. The goal of the game is to try to finish with as many points as possible. Players earn points for landing on a square with a tool (earning one point) or by not finishing last (anywhere from one to five points).
However, the hard choices come when players decide whether or not to take shortcuts and incur penalties, or to traverse the board more slowly and potentially earn more points. The researchers on the team are interested in understanding the strategies that people employ during software development in the face of uncertainty, and in the choices they make in the game about investing effort to gain an advantage or paying a price to take shortcuts. Hard Choices takes about an hour to play and includes a debriefing session afterward so that players can discuss their playing experiences.
Sixteen members of Agile Vancouver played a sample version of Hard Choices on March 1. Lim reported that as they played the game, the conversations shifted from simply double-checking the rules to discussing strategies for finishing and winning the game. Players also had a chance to discuss the game in the debriefing and post-game strategy session.
Lim writes, “One player commented that he decided to play aggressively and to take as many shortcuts as possible so that he could finish first and collect the extra bonus points. At the same table, another player decided to play conservatively, avoiding all the shortcuts but collecting points instead. When the game was finished, the conservative player ended up winning the game over the aggressive player because, over time, the aggressive player became paralyzed by all the penalties he had accumulated from taking shortcuts.”
Once the game is finalized, Hard Choices will be available for download under a Creative Commons license. But if you’d like to play it before it’s released, you’ll have a chance to try it out at the SATURN 2010 conference. The Co-Operative Learning event on agile software development and software architecture on Friday, May 21, will give you a chance to play Hard Choices along with other SATURN 2010 attendees.
For more information
Please tell us what you
think with this short
(< 5 minute) survey.