The time needed to complete a software development project is hard to estimate in practice. In addition to the uncertainty about the duration of the individual development steps, software projects often suffer from unexpected rework and delays. As a result, project scheduling remains a difficult task for the managers of software projects. In this paper, we compute optimal scheduling strategies for a set of sample software projects. The computations are based on a stochastic Markov decision model for software projects which focuses on capturing the feedback between concurrent development activities. The optimal strategies are computed using a variant of the value iteration algorithm from stochastic dynamic programming. Since the underlying process model is stochastic, the strategies are stochastically optimal, that is, they minimize the expected project duration. The ultimate goal of this research is to develop guidelines for managers how to schedule their software projects under uncertainty in the best possible way. The sample projects are similar, but differ in certain characteristics of the project or product, such as the strength of the coupling between the components or the degree of specialization of the teams on the tasks. By using a set of related projects, we can study how the project characteristics influence the optimal scheduling decisions in a project. In addition to computing the optimal scheduling policies for the sample projects, we use extensive simulations to compare the performance of the optimal policy against the so-called list policies for each given setting. List policies are a simple, but commonly used class of scheduling policies. For our sample projects, we find that the best list policy in general is not optimal. The performance gap is the larger the higher the degree of specialization of the teams is. On the other hand, the stronger the coupling between the components, the smaller is the improvement which the optimal policy achieves over the best list policy.
[1]
Frank Padberg.
A Stochastic Scheduling Model for Software Projects
,
2002
.
[2]
Frank Padberg.
Scheduling software projects to minimize the development time and cost with a given staff
,
2001,
Proceedings Eighth Asia-Pacific Software Engineering Conference.
[3]
Frank Padberg.
Using process simulation to compare scheduling strategies for software projects
,
2002,
Ninth Asia-Pacific Software Engineering Conference, 2002..
[4]
Jan Węglarz,et al.
Project scheduling : recent models, algorithms, and applications
,
1999
.
[5]
Frank Padberg.
A Comprehensive Simulation Study on Optimal Scheduling for Software Projects
,
2004,
ICSE 2004.
[6]
Dimitri P. Bertsekas,et al.
Dynamic Programming and Optimal Control, Two Volume Set
,
1995
.
[7]
Frank Padberg.
A discrete simulation model for assessing software project scheduling policies
,
2002,
Softw. Process. Improv. Pract..