I think there’s a great potential for games to promote understanding of agile and lean software development. There’s a wealth of information available on the subject in written form both on the web and in book form but the disadvantage of text is that it is one way communication. Agile and lean are based on the emergent qualities of software development and could be better understood with artefacts that support the demonstration of emergent qualities of systems.
Take Scrum, for example. There’s a lot of discussion on whether you should try to apply Scrum “out of the box” (whatever that means) or whether you should tailor your own practices based on the Scrum practices. To make this decision you should be familiar of hows and whys of Scrum practices such as the product backlog, sprint planning, retrospective and Daily Scrum meetings as well as what the intended impact of those practices are.
But the thing is, you learn about these practices best by implementing them and using Scrum’s own practices (mainly meetings) to monitor their effects on the project. There are lots of literature on this too, but until you have your own experiences related to these things the advantage of having read a lot of other peoples’ experiences is debatable. There are two reasons for this: 1) The written experience reports by other people are just that, other peoples’ interpretations of their own experiences and 2) it’s not easy to relate to even the more generalized reports without having a first-hand experience on the subject yourself.
Now, imagine a game that puts you in the boots of a project manager. You can choose the practices you introduce to the project team and can see the effects that they have on your project. They affect the information you get on the progress, the kind of feedback that your project manager character gets in the game from the team members and the options you as the project manager have to influence the project. After the game ends you can access the information of the course of the project without any limitations to learn more. And you can start over at any point and experiment all you want.
A pipe dream? Not at all if you ask me. There are challenges in designing this kind of game but they are not insurmountable. The quality of this game would be decided on the sophistication of the project simulation model as well as the way information about the project is shown to the player. The rest is just standard Game-Based Learning stuff.
It is pretty easy to come up with different uses and target audiences for this kind of game: Client’s point of view could be used to explicate the information and control the client gets in an agile project vs. a traditional one and different customizations of the game could depict the effects of different agile techniques such as TDD on a software project.
There are in fact some attempts at this: SimSE is a software development process model learning game that has models for scrum and XP also. The problem with SimSE is its high abstraction level: in the game the player is supposed to care about specifying and developing features 1 and 2 and keeping close eye that the hour budget stays under 1000 without being given any specific back story or fictional context. The presentation itself leaves much to be hoped for as well.
There are of course the group exercise games that I touch on in an earlier blog post but they are limited to group situations. As such they are inaccessible for audiences that don’t have time or the commitment to see what agile / lean SW dev. is all about. These games I’m advocating would target the same audiences that the books on the advantages of agile / lean software development are targeting as well as the articles / blogs / podcasts that talk about the possibilities of agile to non-SW people such as the potential clients and business people.
These kind of games would probably fall under two major categories:
Browser-based casual games and more time-consuming learning games. The first category would be offer insight to people with no deep understanding of agile or lean and the second could be used by people already interested in agile methods to deepen their understanding. IBM’s INNOV8 is a good example of what a game in the first category could look like (the game itself is about business process development) while games in the second category would do well if they took pages out of SimCity‘s, Civilization‘s or even Football Manager‘s design documents.