A discrete simulation model for assessing software project scheduling policies

Good project scheduling is an essential, but extremely hard task in software management practice. In a software project, the time needed to complete some development activity is difficult to estimate. Often, the completion of activities is delayed due to unanticipated rework which is caused by feedback in the process. In this paper, we show how process simulation can be used to support managers in finding good schedules for their software projects. We present a novel, stochastic simulation model which is tailored to the special dynamics of software projects, and which explicitly takes a scheduling strategy as input. The model represents task assignments, staff skill levels, component coupling, and rework caused by design changes. The simulation model is implemented in the ModL language of the general-purpose graphical simulation tool EXTEND. As an illustration of our simulation model, we study the performance of various list policies for a small sample project. The simulations quickly show the impact that the choice of the list policy will have on the progress and completion time of the sample project. To explain the performance difference between the list policies, we use the simulation traces to provide a detailed analysis of the task assignments which actually occur in the simulations. Copyright © 2003 John Wiley & Sons, Ltd.

[1]  Bashar Nuseibeh,et al.  Software process modelling and technology , 1994 .

[2]  Jan Węglarz,et al.  Project scheduling : recent models, algorithms, and applications , 1999 .

[3]  Frank Padberg Scheduling software projects to minimize the development time and cost with a given staff , 2001, Proceedings Eighth Asia-Pacific Software Engineering Conference.

[4]  James S. Collofello,et al.  Evaluating the effectiveness of process improvements on software development cycle time via system dynamics modelling , 1995, Proceedings Nineteenth Annual International Computer Software and Applications Conference (COMPSAC'95).

[5]  Klaus Neumann,et al.  Stochastic Project Networks , 1990 .

[6]  Jean-Claude Derniame,et al.  Software Process: Principles, Methodology, and Technology , 1999, Lecture Notes in Computer Science.

[7]  Raymond J. Madachy System dynamics modeling of an inspection-based process , 1996, Proceedings of IEEE 18th International Conference on Software Engineering.

[8]  Rolf H. Möhring,et al.  Scheduling under uncertainty: Optimizing against a randomizing adversary , 2000, APPROX.

[9]  Frank Padberg Towards Optimizing the Schedule of Software Projects with Respect to Development Time and Cost , 2003 .

[10]  Dan X. Houston,et al.  A system dynamics software process simulator for staffing policies decision support , 1998, Proceedings of the Thirty-First Hawaii International Conference on System Sciences.

[11]  Frank Padberg Using process simulation to compare scheduling strategies for software projects , 2002, Ninth Asia-Pacific Software Engineering Conference, 2002..

[12]  Reidar Conradi,et al.  Assessing process-centered software engineering environments , 1997, TSEM.

[13]  Douglas Fisher,et al.  Machine Learning Approaches to Estimating Software Development Effort , 1995, IEEE Trans. Software Eng..

[14]  Frank Padberg,et al.  A software process scheduling simulator , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[15]  Frank Padberg Estimating the impact of the programming language on the development time of a software project , 2000 .

[16]  Frank Padberg A Stochastic Scheduling Model for Software Projects , 2002 .

[17]  Klaus Neumann,et al.  Scheduling of Projects with Stochastic Evolution Structure , 1999 .

[18]  Barbara A. Kitchenham,et al.  Effort estimation using analogy , 1996, Proceedings of IEEE 18th International Conference on Software Engineering.

[19]  Khaled El Emam,et al.  Elements of Software Process Assessment & Improvement , 1999 .

[20]  Gavin R. Finnie,et al.  Using Artificial Neural Networks and Function Points to Estimate 4GL Software Development Effort , 1994, Australas. J. Inf. Syst..