views:

289

answers:

4

I recently got interested in financial board games and saw how they can be very useful in educating children about certain concepts.

It got me thinking whether it was also possible to represent certain aspects of executing a software project via a boardgame and make it fun.

Here are a few things that I have come up so far:

  • human resources and tools / techniques are represented as cards.

  • requirements are also represented as cards, which are dealt equally to each player, and the objective is to move all requirement cards through an "SDLC" board (one per player) that represent a series of squares grouped according to phases (design all the way to deployment)

  • the passage of time is represented in a main square board like monopoly, and completing a trip around the board (passing "Go") allows the player to move each of the requirement cards a number of steps through the SDLC board depending on the capability of the resource cards (senior programmer allows one requirement to move two squares in the dev phase, junior programmer only one, etc.)

  • players will start with play money representing the project budget, and at every pass at "Go" is payday. the player is out of the game if he runs out of funds.

  • the main board also has "chance" / "risk" cards, which represent things that can mess up a project. damage is applied at the roll of a die, and chance modifiers depend on whether the user has "bought" tools / techniques.

I haven't implemented this idea yet as I'm still looking at more play elements that can make the game more engaging, as well as soliciting for more ideas.

I am planning to release this under Creative Commons license but haven't decided on the exact license yet.

Any more game play suggestions are welcome.

UPDATE: This was posted in BoardGameGeek and there's now an active discussion thread there. http://www.boardgamegeek.com/article/4436694

A: 

Yes, i voted to close, and also upvoted/answered. So sue me. [speaking as hobbyist developer here]

One could add "Management" modifier cards which can speed up or slowdown the pace of your "dev team" (good/bad managers) and are assigned at the start of the game (make their bonuses kind of small so as to not make them too unfair).

You could also add "equipment" into the game -- the better equipment you buy your programmers the better they do but the less budget you have.

You could allow players to go "over budget", and score people on the budget left at the end of the game (negative for over, positive for saving money).

RCIX
+1  A: 

You should also allow for the option of "skipping" steps in the SDLC since that's a a reality and if the objective is to teach the benefits of sticking to a process, that needs to be highlighted.

What I would have is a board with a path of 20 steps each representing 5% complete of the project, and a dial representing the SDLC and a deck of Risk/Chance cards. At the start of their turn each player can a) move 2 steps along the path or b) move 1 step along the path and rotate their SDLC 1 turn or c) no movement and rotate their SDLC dial twice. Each time they rotate their SDLC they get a quality token. At the end of their turn they draw a risk card and play out the written text.

The Risk cards can be either negative or positive (because you get unforseen positive risks) and include things like: bugs, spec changes, extensions or pearls of coding; and they force you to either take an extra step forward or backwards. Now for every step the player has to take backwards they can spend a quality token they have to negate the effects and stay where they are.

When the player gets to the 100% complete they get 10 scores points if they finish first and they get 1 point for each quality token they have.

Now players have the option of ignoring the SDLC in the hopes of finishing first and getting those 10 points but they take huge risks because they don't acquire quality tokens to prevent bugs and things. Players who use the SDLC are better covered by risk and can still finish first AND they'd have extra quality tokens to score more points. Finally the SDLC can be implemented at any time so, like real life, people can sit at the end and just rotate the dial while waiting for people to catch up hoping to pickup quality tokens but unforseen risks can still affect them (or sit and spin at the beginning and then blaze through).

Andre Odendaal
A brilliant idea sir!
ProfK
i like the idea of a quality token. it makes the concept of quality more tangible...
Jason Banico
perhaps instead of a separate SDLC dial, we can add optional squares to build more quality artifacts (unit tests, documentation, etc.) make a lot of sense.
Jason Banico
A: 
  1. Snakes and Ladders - e.g.

Module

 a. "Use TDD" - you can climb a small ladder
 b. "Broke the build" - get swallowed and go down.

End Module

  1. like the game of Life

Module

 a. Start out with certain amount of money
 b. You can hire programmers - again, you can hire ones with more skills/education/experience at higher cost, or cheaper ones at lower cost
 c. "Chance" squares with  cards that you turn over to determine events that may be worth time/money or setbacks
 d. You try to get to the end (complete the project)

End Module

Larry Watanabe
+1  A: 

My version would include the following rule:

Landing on any of the last 11 squares before "Go" takes you all the way back to the beginning, because the requirements have changed. In order to win a round, you must roll a perfect 12 from the 12th-last square, which translates to finishing the final 25% of the project in one agonizing death march and deploying to production before anybody in upper management or client relations has time to react.

Aaronaught
but that means that project success is _totally_ left to chance...
Jason Banico