FASE 2010: Fundamental Approaches to Software Engineering pp 107-122 | Cite as
Dynamic Resource Scheduling in Disruption-Prone Software Development Environments
Abstract
Good resource scheduling plays a pivotal role in successful software development projects. However, effective resource scheduling is complicated by such disruptions as requirements changes, urgent bug fixing, incorrect or unexpected process execution, and staff turnover. Such disruptions demand immediate attention, but can also impact the stability of other ongoing projects. Dynamic resource rescheduling can help suggest strategies for addressing such potentially disruptive events by suggesting how to balance the need for rapid response and the need for organizational stability. This paper proposes a multi-objective rescheduling method to address the need for software project resource management that is able to suggest strategies for addressing such disruptions. A genetic algorithm is used to support rescheduling computations. Examples used to evaluate this approach suggest that it can support more effective resource management in disruption-prone software development environments.
Keywords
Disruption rescheduling multi-objective genetic algorithmReferences
- 1.Acuña, S.T., Juristo, N., Moreno, A.M.: Emphasizing Human Capabilities in Software Development. IEEE Software 23(2), 94–101 (2006)CrossRefGoogle Scholar
- 2.Adibi, M.A., Zandieh, M., Amiri, M.: Multi-objective scheduling of dynamic job shop using variable neighborhood search. Expert Systems with Applications 37(1), 282–287 (2009)CrossRefGoogle Scholar
- 3.Alba, E., Chicano, J.F.: Software Project Management with GAs. Journal of Information Sciences 177(11), 2380–2401 (2007)CrossRefGoogle Scholar
- 4.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
- 5.Antoniol, G., Penta, M.D., Harman, M.: Search–Based Techniques Applied to Optimi-zation of Project Planning for a Massive Maintenance Project. In: Proceedings of the 21st International Conference on Software Maintenance, pp. 240–249 (2005)Google Scholar
- 6.Barreto, A., Barros, M.d.O., Werner, C.M.L.: Staffing a software project: A con-straint satisfaction and optimization-based approach. Computer & Operations Research 35(10), 3073–3089 (2008)MATHCrossRefGoogle Scholar
- 7.Boehm, B.: Software risk management: principles and practices. IEEE Software 8(1), 32–41 (1991)CrossRefGoogle Scholar
- 8.Cass, A.G., Sutton Jr., S.M., Osterweil, L.J.: Formalizing Rework in Software Processes. In: Oquendo, F. (ed.) EWSPT 2003. LNCS, vol. 2786, pp. 16–31. Springer, Heidelberg (2003)Google Scholar
- 9.Chang, C.K., Jiang, H.-y., Di, Y., Zhu, D., Ge, Y.: Time-line based model for software project scheduling with genetic algorithms. Information and Software Technology 50(11), 1142–1154 (2008)CrossRefGoogle Scholar
- 10.Cowling, P., Johansson, M.: Using real time information for effective dynamic scheduling. European Journal of Operational Research 139(2), 230–244 (2002)MATHCrossRefMathSciNetGoogle Scholar
- 11.Duggan, J., Byrne, J., Lyons, G.J.: Task Allocation Optimizer for Software Construction. IEEE Software 21(3), 76–82 (2004)CrossRefGoogle Scholar
- 12.Ebert, C., Man, J.D.: Requirements Uncertainty: Influencing Factors and Concrete Improvements. In: Proceedings of the 27th International Conference on Software Engineering, pp. 553–560 (2005)Google Scholar
- 13.Erdogmus, H., Favaro, J., Halling, M.: Valuation of Software Initiatives Under Uncertainty: Concepts, Issues, and Techniques. In: Biffl, S., Aurum, A., Boehm, B., Erdogmus, H., Grünbacher, P. (eds.) Value-Based Software Engineering, pp. 39–66 (2005)Google Scholar
- 14.Holland, J.H.: Adaptation in natural and artificial systems. MIT Press, Cambridge (1992)Google Scholar
- 15.Li, M., Yang, Q., Zhai, J., Yang, G.: On Mobility of Software Processes. In: Wang, Q., Pfahl, D., Raffo, D.M., Wernick, P. (eds.) SPW 2006 and ProSim 2006. LNCS, vol. 3966, pp. 105–114. Springer, Heidelberg (2006)CrossRefGoogle Scholar
- 16.Li, Z., Ruhe, G.: Uncertainty Handling in Tabular-Based Requirements Using Rough Sets. In: Ślęzak, D., Yao, J., Peters, J.F., Ziarko, W.P., Hu, X. (eds.) RSFDGrC 2005. LNCS (LNAI), vol. 3642, pp. 678–687. Springer, Heidelberg (2005)CrossRefGoogle Scholar
- 17.Liu, D., Wang, Q., Xiao, J., Li, J., Li, H.: RVSim: A Simulation Approach to Predict the Impact of Requirements Volatility on Software Project Plans. In: Wang, Q., Pfahl, D., Raffo, D.M. (eds.) ICSP 2008. LNCS, vol. 5007, pp. 307–319. Springer, Heidelberg (2008)CrossRefGoogle Scholar
- 18.Liu, X., Yang, Y., Chen, J., Wang, Q., Li, M.: Achieving On-Time Delivery: A Two-Stage Probabilistic Scheduling Strategy for Software Projects. In: Wang, Q., Garousi, V., Madachy, R., Pfahl, D. (eds.) ICSP 2009. LNCS, vol. 5543, pp. 317–329. Springer, Heidelberg (2009)CrossRefGoogle Scholar
- 19.de Melo, A.C.V., de J. Sanchez, A.: Bayesian Networks in Software Maintenance Management. In: Vojtáš, P., Bieliková, M., Charron-Bost, B., Sýkora, O. (eds.) SOFSEM 2005. LNCS, vol. 3381, pp. 394–398. Springer, Heidelberg (2005)Google Scholar
- 20.Moratori, P., Petrovic, S., Vazquez, A.: Match-Up Strategies for Job Shop Rescheduling. In: Nguyen, N.T., Borzemski, L., Grzech, A., Ali, M. (eds.) IEA/AIE 2008. LNCS (LNAI), vol. 5027, pp. 119–128. Springer, Heidelberg (2008)CrossRefGoogle Scholar
- 21.Ozdamar, L., Alanya, E.: Uncertainty Modelling in Software Development Projects (With Case Study). Annals of Operations Research 102, 157–178 (2001)CrossRefMathSciNetGoogle Scholar
- 22.Pfahl, D., Lebsanft, K.: Using Simulation to Analyze the Impact of Software Requirements Volatility on Project Performance. Information and Software Technology 42(14), 1001–1008 (2000)CrossRefGoogle Scholar
- 23.Pfeiffer, A.S., Kadar, B., Monostori, L.S.: Stability-oriented evaluation of rescheduling strategies, by using simulation. Computers in Industry 58(7), 630–643 (2007)CrossRefGoogle Scholar
- 24.Rangsaritratsamee, R., Ferrell Jr., W.G., Kurz, M.B.: Dynamic rescheduling that simulta-neously considers efficiency and stability. Computers & Industrial Engineering 46(1), 1–15 (2004)CrossRefGoogle Scholar
- 25.Wang, Q., Xiao, J., Li, M., Nisar, M.W., Yuan, R., Zhang, L.: A Process-Agent Con-struction Method for Software Process Modeling in SoftPM. In: SPW/ProSim 2006, Shang-hai China, pp. 204–213 (2006)Google Scholar
- 26.Wise, A.: Little-JIL 1.5 Language Report Department of Computer Science, University of Massachusetts, Amherst UM-CS-2006-51 (2006)Google Scholar
- 27.Xiao, J., Osterweil, L.J., Wang, Q., Li, M.: Dynamic Scheduling in Systems with Complex Resource Allocation Requirements. Department of Computer Science at the Uni-versity of Massachusetts Amherst. Technical report: UM-CS-2009-049 (2009)Google Scholar
- 28.Xiao, J., Wang, Q., Li, M., Yang, Q., Xie, L., Liu, D.: Value-based Multiple Software Projects Scheduling with Genetic Algorithm. In: Wang, Q., Garousi, V., Madachy, R., Pfahl, D. (eds.) ICSP 2009. LNCS, vol. 5543, pp. 50–62. Springer, Heidelberg (2009)CrossRefGoogle Scholar
- 29.Xiao, J., Wang, Q., Li, M., Yang, Y., Zhang, F., Xie, L.: A Constraint-Driven Human Resource Scheduling Method in Software Development and Maintenance Process. In: Proceedings of 24th International Conference on Software Maintenance, pp. 17–26 (2008)Google Scholar