Disruption-Driven Resource Rescheduling in Software Development Processes
Real world systems can be thought of as structures of activities that require resources in order to execute. Careful allocation of resources can improve system performance by enabling more efficient use of resources. Resource allocation decisions can be facilitated when process flow and estimates of time and resource requirements are statically determinable. But this information is difficult to be sure of in disruption prone systems, where unexpected events can necessitate process changes and make it difficult or impossible to be sure of time and resource requirements. This paper approaches the problems posed by such disruptions by using a Time Window based INcremental resource Scheduling method (TWINS). We show how to use TWINS to respond to disruptions by doing reactive rescheduling over a relatively small set of activities. This approach uses a genetic algorithm. It is evaluated by using it to schedule resources dynamically during the simulation of some example software development processes. Results indicate that this dynamic approach produces good results obtained at affordable costs.
KeywordsIncremental resource scheduling time window reactive rescheduling proactive rescheduling
Unable to display preview. Download preview PDF.
- 3.Biffl, S., Aurum, A., Boehm, B., Erdogmus, H., Grünbacher, P.: Value-Based Software Engineering. Springer, Heidelberg (2005)Google Scholar
- 7.Peteghem, V.V., Vanhoucke, M.: A genetic algorithm for the preemptive and non-preemptive multi-mode resource-constrained project scheduling problem. European Journal of Operational Research (2009)Google Scholar
- 8.Fowler, J.W., Monch, L., Rose, O.: Scheduling and Simulation. In: Herrmann, J.W. (ed.) Handbook of Production Scheduling, pp. 109–133. Springer, US (2006)Google Scholar
- 10.Herrmann, J.W.: Rescheduling Startegies, Policies, and Methods. In: Handbook of Production Scheduling, pp. 135–148Google Scholar
- 12.Antoniol, G., Penta, M.D., Harman, M.: A Robust Search–Based Approach to Project Management in the Presence of Abandonment, Rework, Error and Uncertainty. In: Proceedings of the 10th International Symposium on Software Metrics, pp. 172–183 (2004)Google Scholar
- 16.Ghezail, F., Pierreval, H., Hajri-Gabouj, S.: Analysis of robustness in proactive scheduling: A graphical approach. Computers & Industrial Engineering (2009)Google Scholar
- 19.Xiao, J., Osterweil, L.J., Wang, Q., Li, M.: Dynamic Resource Scheduling in Disruption-Prone Software Development Environments. Department of Computer Science, University of Massachusetts, Amherst, MA 01003 UM-CS-2009-050 (2009)Google Scholar
- 20.Holland, J.H.: Adaptation in natural and artificial systems. MIT Press, Cambridge (1992)Google Scholar
- 21.Cass, A.G., Lerner, B.S., McCall, E.K., Osterweil, L.J., Stanley, J., Sutton, M., Wise, A.: Little-JIL/Juliette: A Process Definition Language and Interpreter. In: Proceedings of the 22nd International Conference on Software Engineering, Limerick, Ireland, pp. 754–757 (2000)Google Scholar
- 22.Wise, A.: Little-JIL 1.5 Language Report, Department of Computer Science, University of Massachusetts, Amherst UM-CS-2006-51 (2006)Google Scholar
- 23.Xiao, J., Osterweil, L.J., Wang, Q., Li, M.: Dynamic Scheduling in Systems with Complex Resource Allocation Requirements. Department of Computer Science at the University of Massachusetts Amherst. Technical report: UM-CS-2009-049 (2009)Google Scholar