Capability-based software project scheduling with system dynamics and heuristic search
Yujia Ge · 2004
Software project management, a peculiar area in project management, is concerned with activities involved in ensuring that software is delivered on time and on schedule. Software project management is unique because software products are perceived as intangible and flexible. In software projects, the capability of people is the most important factor to determine whether a project will succeed of fail. During the software project management process, scheduling can be influenced by a lot of dynamics elements such as the skills of engineers, the growth of skills and experiences, cooperation, and leadership. Our objective is to help project managers to assign human resources automatically and realistically based on personnel/team capability. This thesis proposed a framework for scheduling and monitoring in software project management. Based on this framework, dynamic elements in software project management, especially personnel capability, are simulated in System Dynamics models. The genetic algorithms for previous work (i.e., task-based model and timeline-based model) are revised to reduce the computation in the new model. Experiments are also reported including the procedure on tuning GA parameters, results of several example tests, and discussion on the results. Experiments on comparison of GA and Hill-Climbing method help us build the confidence that GA is a good choice in software project scheduling problems.