A Simulation Game for Software Project Management
Abstract
The software industry is one of the most rapidly growing
businesses in our age. Yet, this growth has not been a wellbalanced one. On the one hand, on the technical side, programming languages, programming techniques and methodologies have exhibited an unprecedented growth (1). But on the other hand, the art and science of managing software projects has not enjoyed such a growth. Management of software systems has been plagued by overruns, late deliveries, and users1 dissatisfaction (1). The objective of this project is to design an interactive simulation game based on a system dynamics model of software project management. It is hoped that the game will provide insights into the effectiveness of various management strategies, especially when the project is behind schedule.
The project comprised three major steps. The first step was to
construct a dynamic model of how software projects are managed in software developing organizations. After studying several models that already exist in the literature ( 4 , 5 ) , I decided to simplify and modify the system dynamics model (in Dynamo) constructed by Tarek-Abdel Hamid and Stuart Madnick (1). In order to construct a model (in Stella 11) that can be the background of a participatory simulation game, I made certain modifications, additions and deletions. I simulated this model under various conditions and studied its properties in order to make sure that it was a reliable and robust model.
The second step of the project was to complete the gaming
interface for the developed model. For this purpose, several wellestablished principles in constructing informative and userfriendly computer gaming interfaces were utilized (2,6,7). The final game interface is graphical and consists of two major
environments (the "simulator controls" and the "information
system"), and numerous pop-up windows. In order to implement the
game in an IBM-PC environment, the game was coded using the
graphics-based spreadsheet software WingZ.
The third and final step was testing and validating the
system. The system dynamics model that I modified for the game had already been subjected to validity testing and was found to be quite reliable (1). In addition, I tested my version of the model by running it under various typical and extreme conditions. Tests of the gaming version have demonstrated the game to be robust even under various extreme and unlikely player decisions. Tests with independent player subjects have also confirmed this and have demonstrated the game to be potentially very useful. The overall behavior of the game satisfies my goal of constructing an interactive simulation game which is able to reflect the characteri.stics of real life software management projects, and respond to player decisions in a realistic way so as to provide an interactive learning laboratory for software project management.