Team software development is a complex and mostly unpredictable process and is characterized by inefficient use of staff and calendar resources. Given the magnitude of software development costs, a deeper understanding of the process may suggest ways to improve resource utilization. Simulation modeling is a useful approach to study the dynamics of complex systems. System dynamics characterizes systems as collections of interacting, non-linear feedback loops. The foundations of system dynamics were developed at MIT in the early 1950s. Since that time, system dynamics has been applied to a large number of complex system domains. In the early 1980s, the system dynamics simulation method was first used at MIT to develop a software development process model. A different approach to modeling complex systems is to use an actor, or property-based programming language. In a property-based model, the behaviors of individual entities are represented as concurrently executing threads, and discrete event clocks are used to simulate time. Easel is a new property-based programming language developed at the Software Engineering Institute housed at Carnegie Mellon University. Although determining the survivability of large-scale networks was the motivation to develop Easel, the SEI has conducted some initial work in applying Easel to the software development process domain. This thesis compared the use of system dynamics and Easel as tools to study the software development process. Both modeling approaches were used to test the validity of Brooks's Law under different hiring strategies for small, medium, and large-scale projects. The models produced nearly identical results, and so provided a high level of confidence that the models were logically equivalent. The thesis concludes with a comparison of the two techniques based on background knowledge required, object representation, debugging difficulty, model maintainability, scalability, and timing control. A summary about the applicability of each technique is presented and recommendations for future work are offered.
Library of Congress Subject Headings
Computer software--Development--Mathematical models; Computer simulation
Information Sciences and Technologies (MS)
Department, Program, or Center
Information Sciences and Technologies (GCCIS)
Strupp, Alicia, "Use of system dynamics and Easel for simulation of the software development process" (2004). Thesis. Rochester Institute of Technology. Accessed from
RIT – Main Campus