The research project SESAM (Software Engineering Simulation by Animated Models) aims at providing a training environment for future project managers. The basic idea is to create a model of the software development process that can be interpreted by a simulator. The student using the simulator can control the simulated project interactively, leading it more or less successfully. In this paper, the simulation system is presented. Then, a new simulation model, the QA (Quality Assurance) model, is introduced. Discussion focuses on the metrics system used. The QA model covers all activities of software development, from requirements specification to product delivery. It especially emphasises the effects of quality assurance activities. Finally, simulation results obtained by executing the model are presented and discussed.
Simulation is frequently used for training in many application areas like aviation and economics, but not in software engineering. We present the SESAM project which focuses on software engineering education using simulation. In the SESAM project a simulator was developed. Using this simulator, a student can take the role of a software project manager. The simulated software project can be finished within a couple of hours because it is simulated in “quick-motion” mode. The background and goals of the SESAM project are presented. A new simulation model, the so called QA model, is introduced. The model behavior is demonstrated by investigating and comparing different strategies for software development. The results of experiments based on the QA model are reported. Finally, conclusions are drawn from the experiments and future work is outlined
The research project Software Engineering Simulation by Animated Models (SESAM) aims at providing a training environment for future project managers. The basic idea is to create a model of the software development process that can be interpreted by a simulator. A student using the simulator can control the simulated project interactively, managing it more or less successfully. In this paper, the simulation system and the model description language are presented. Then a new simulation model, the Quality Assurance (QA) model, is introduced. This model covers all activities of software development from requirements' specification to product delivery. The model especially emphasizes the effects of quality assurance activities. Finally, simulation results obtained by executing the QA model are presented and discussed.
In this paper, we present the results of two industrial case studies on software project management. These studies were motivated by the company’s goal to improve software project management. At the beginning, a project management assessment was performed using structured, on-site interviews with software project managers. To verify the qualitative data collected during the assessment, a second investigation was performed by measuring quantitative data of a completed software development project. Analysis of the collected data clearly demonstrates a lack of education and training of project managers.
Over the last twenty five years, software development projects have increasingly been plagued by schedule and cost overruns, while product quality is often poor. The term "software crisis" has been coined to highlight this situation. The lack of adequate methods and tools to support software development, and of techniques to simplify project management tasks have been identified as major factors contributing to the "software crisis". In reaction to this, the software engineering community has attempted to devise a number of analytical and constructive operations to both handle the complexity of software development and assure quality of the resulting products. However, despite an impressive evolution of methods and technology in the past years, neither the software development process nor overall product quality have improved significantly. Part of the reason for this appears to be a serious lack of understanding of the software development process. It is often unclear how to integrate methods and tools in the development process to achieve best results because little is known about the most important influencing factors that determine process and product quality.