Project Management
MÁRCIO DE OLIVEIRA BARROS
CLÁUDIA MARIA LIMA WERNER
GUILHERME HORTA TRAVASSOS
COPPE / UFRJ – Computer Science Department
Caixa Postal: 68511 - CEP 21945-970 - Rio de Janeiro – RJ
Voice: 5521 2562-8675 / Fax: 5521 2562-8676
{marcio, werner, ght}@cos.ufrj.br
Abstract
This paper presents an empirical study aiming to evaluate the application of system dynamics models in software project management. In this study, a project concerning the specification and implementation of part of an academic control system for a graduate department was proposed for several participants. The project was decomposed into an activity network and several developers were available to accomplish the activities.
Each participant was asked to impersonate as the project manager. Participants should make decisions in order to finish the project in the smallest time as possible. Such decisions included assigning the available developers to project activities (according to developer’s skills and activity’s requirements), deciding how many hours developers should work per day, and how much time to invest in quality assurance activities. Since a real project could not be initiated for each participant, a software project emulator was developed, where participants analyzed the project status and enacted their decisions.
Half of the eighteen participants managed the project based only on their personal knowledge and experience, while the second half was allowed to use system dynamics models to support their decisions. The results from the experimental study analysis show that, for the selected participants, managers using system dynamics models to support their decision perform better than managers who base their deci ions only upon personal experience. In this s paper, we present detailed results from the experimental study and some directions to improve the application of system dynamics models in project management that where highlighted during the execution of the study.
KEYWORDS: empirical studies, simulation tools, project management
1 Introduction
The development of large software systems is a complex undertaking. High cost and schedule overruns are frequent in the software development industry (Standish Group, 1994).
The recurring failures to produce large systems within planned schedule and budget have often been associated to management problems, such as bad communication, malformed teams, and unreliable risk analysis (Brown, 1996).
Project management is a knowledge intensive activity. Managers use their skills and experience to make decisions while a software development process is executed. It is well accepted that experienced managers usually perform better than novice managers due to the
experience they have accumulated by taking part in past projects and the knowledge acquired from this experience. As proposed by the “recognition-primed decision model” (Klein, 1998), managers tend to keep a collection of patterns in their minds and compare these patterns to the current context when making decisions.
Senior managers generally make this assessment mentally. They construct a mental model of the project, create mental models for the problems and opportunities under investigation, and scan their pattern repository for adequate actions to be taken against the problems or to explore the opportunities. However, mental models are limited by the human mind’s ability to cope with multiple distinct factors. So, mental models are usually simple
(Sterman, 1988), conveying only a few major components and the relationships among them.
In project management, where several related components, complex dynamics, multiple feedback loops, and delays between actions and their effects are present (Sterman, 1992), simple models may incur in erroneous interpretation of a system’s behavior. So, there is a need for explicit representations for