Issue No.01 - Jan. (2013 vol.39)
pp: 1-17
Wei-Neng Chen , Sun Yat-sen University, Guangzhou
Jun Zhang , Sun Yat-sen University, Guangzhou
Research into developing effective computer aided techniques for planning software projects is important and challenging for software engineering. Different from projects in other fields, software projects are people-intensive activities and their related resources are mainly human resources. Thus, an adequate model for software project planning has to deal with not only the problem of project task scheduling but also the problem of human resource allocation. But as both of these two problems are difficult, existing models either suffer from a very large search space or have to restrict the flexibility of human resource allocation to simplify the model. To develop a flexible and effective model for software project planning, this paper develops a novel approach with an event-based scheduler (EBS) and an ant colony optimization (ACO) algorithm. The proposed approach represents a plan by a task list and a planned employee allocation matrix. In this way, both the issues of task scheduling and employee allocation can be taken into account. In the EBS, the beginning time of the project, the time when resources are released from finished tasks, and the time when employees join or leave the project are regarded as events. The basic idea of the EBS is to adjust the allocation of employees at events and keep the allocation unchanged at nonevents. With this strategy, the proposed method enables the modeling of resource conflict and task preemption and preserves the flexibility in human resource allocation. To solve the planning problem, an ACO algorithm is further designed. Experimental results on 83 instances demonstrate that the proposed method is very promising.
Software, Resource management, Planning, Humans, Project management, Job shop scheduling, Search problems, ant colony optimization (ACO), Software project planning, project scheduling, resource allocation, workload assignment
Wei-Neng Chen, Jun Zhang, "Ant Colony Optimization for Software Project Scheduling and Staffing with an Event-Based Scheduler", IEEE Transactions on Software Engineering, vol.39, no. 1, pp. 1-17, Jan. 2013, doi:10.1109/TSE.2012.17
[1] N. Nan and D.E. Harter, "Impact of Budget and Schedule Pressure on Software Development Cycle Time and Effort," IEEE Trans. Software Eng., vol. 35, no. 5, pp. 624-637, Sept./Oct. 2009.
[2] J. Duggan, H. Byrne, and G.J. Lyons, "A Task Allocation Optimizer for Software Construction," IEEE Software, vol. 21, no. 3, pp. 76-82, May/June 2004.
[3] R.-G. Ding and X.-H. Jing, "Five Principles of Project Management in Software Companies," Project Management Technology (in Chinese), vol. 1, 2003.
[4] A. Barreto, M. de O. Barros, C.M.L. Werner, "Staffing a Software Project: A Constraint Satisfaction and Optimization-Based approach," Computers & Operations Research, vol. 35, pp. 3073-3089, 2008.
[5] E. Alba and J.F. Chicano, "Software Project Management with GAs," Information Sciences, vol. 177, pp. 2380-2401, 2007.
[6] C.K. Chang, H. Jiang, Y. Di, D. Zhu, and Y. Ge, "Time-Line Based Model for Software Project Scheduling with Genetic Algorithms," Information and Software Technology, vol. 50, pp. 1142-1154, 2008.
[7] B. Boehm, Software Engineering Economics. Prentice-Hall, 1981.
[8] B. Boehm et al., Software Cost Estimation with COCOMO II. Prentice-Hall, 2000.
[9] A. Shtub, J.F. Bard, and S. Globerson, Project Management: Processes, Methodologies, and Economics, second ed. Prentice Hall, 2005.
[10] P. Brucker, A. Drexl, R. Mohring, K. Neumann, E. Pesch, "Resource-Constrained Project Scheduling: Notation, Classification, Models and Methods," European J. Operational Research, vol. 112, pp. 3-41, 1999.
[11] C.K. Chang and M. Christensen, "A Net Practice for Software Project Management," IEEE Software, vol. 16, no. 6, pp. 80-88, Nov./Dec. 1999.
[12] C.K. Chang, M.J. Christensen, C. Chao, and T.T. Nguyen, "Software Project Management Net: A New Methodology on Software Management," Proc. 22nd Ann. Int'l Computer Software and Applications Conf., 1998.
[13] A. Kumar V.K. and L.S. Ganesh, "Use of Petri Nets for Resource Allocation in Projects," IEEE Trans. Eng. Management, vol. 45, no. 1, pp. 49-56, Feb. 1998.
[14] L.C. Liu and E. horowitz, "A Formal Model for Software Project Management," IEEE Trans. Software Eng., vol. 15, no. 10, pp. 1280-1293, Oct. 1989.
[15] C.K. Chang, M.J. Christensen, and T. Zhang, "Genetic Algorithms for Project Management," Annals of Software Eng., vol. 11, pp. 107-139, 2001.
[16] L.-H. Lee, "Robust Preemptive Resource Assignment for Multiple Software Projects Using Parameter Design," Int'l J. Applied Science and Eng., vol. 5, no. 2, pp. 159-171, 2007.
[17] J. Wglarz, J. Józefowska, M. Mika, and G. Waligóra, "Project Scheduling with Finite or Infinite Number of Activity Processing Modes—A Survey," European J. Operational Research, vol. 208, pp. 177-205, 2011.
[18] V. Yannibelli and A. Amandi, "A Knowledge-Based Evolutionary Assistant to Software Development Project Scheduling," Expert Systems with Applications, vol. 38, pp. 8403-8413, 2011.
[19] O. Bellenguez and E. Néron, "Methods for the Multi-Skill Project Scheduling Problem," Proc. Ninth Int'l Workshop Project Management and Scheduling, pp. 66-69, 2004.
[20] O. Bellenguez and E. Néron, "A Branch-and-Bound Method for Solving Multi-Skill Project Scheduling Problem," RAIRO-Operations Research, vol. 41, no. 2, pp. 155-170, 2007.
[21] J. Clarke et al., "Reformulating Software Engineering as a Search Problem," Proc. IEE Software, vol. 150, no. 3, pp. 161-175, 2003.
[22] M. Harman, S.A. Mansouri, and Y. Zhang, "Search Based Software Engineering: A Comprehensive Analysis and Review of Trends Techniques and Applications," Technical Report TR-09-03, Apr. 2009.
[23] J.S. Aguilar-Ruiz, I. Ramos, J.C. Riquelme, and M. Toro, "An Evolutionary Approach to Estimating Software Development Projects," Information and Software Technology, vol. 43, pp. 875-882, 2001.
[24] K. Praditwong, M. Harman, and X. Yao, "Software Module Clustering as a Multi-Objective Search Problem," IEEE Trans. Software Eng., vol. 37, no. 2, pp. 264-282, Mar./Apr. 2011.
[25] C.L. Simons, I.C. Parmee, and R. Gwynllyw, "Interactive, Evolutionary Search in Upstream Object-Oriented Class Design," IEEE Trans. Software Eng., vol. 36, no. 6, pp. 798-816, Nov./Dec. 2010.
[26] M. Harman and P. McMinn, "A Theoretical and Empirical Study of Search-Based Testing: Local, Global, and Hybrid Search," IEEE Trans. Software Eng., vol. 36, no. 2, pp. 226-247, Mar./Apr. 2010.
[27] V. Garousi, "A Genetic Algorithm-Based Stress Test Requirements Generator Tool and Its Empirical Evaluation," IEEE Trans. Software Eng., vol. 36, no. 6, pp. 778-797, Nov./Dec. 2010.
[28] A. Ngo-The and G. Ruhe, "Optimized Resource Allocation for Software Release Planning," IEEE Trans. Software Eng., vol. 35, no. 1, pp. 109-123, Jan./Feb. 2009.
[29] E. Alba and J.F. Chicano, "Management of Software Projects with GAs," Proc. Sixth Mateheuristics Int'l Conf., P. 1152, 2005.
[30] G. Antoniol, M. Di Penta, and M. Harman, "Search-Based Techniques Applied to Optimization of Project Planning for a Massive Maintenance Project," Proc. 21st IEEE Int'l Conf. Software Maintenance, 2005.
[31] G. Antoniol, M. Di Penta, and M. Harman, "Search-Based Techniques for Optimizing Software Project Resource Allocation," Genetic and Evolutionary Computation, vol. 3103, pp. 1425-1436, 2004.
[32] Y. Ge, "Software Project Rescheduling with Genetic Algorithms," Proc. Int'l Conf. Artificial Intelligence and Computational Intelligence, 2009.
[33] M. Dorigo, V. Maniezzo, and A. Colorni, "Ant System: Optimization by a Colony of Cooperating Agents," IEEE Trans. Systems Man, and Cybernetics-Part B: Cybernetics, vol. 26, no. 1, pp. 29-41, Feb. 1996.
[34] M. Dorigo and L.M. Gambardella, "Ant Colony System: A Cooperative Learning Approach to TSP," IEEE Trans. Evolutionary Computation, vol. 1, no. 1, pp. 53-66, Apr. 1997.
[35] D. Merkle, M. Middendorf, and H. Schmeck, "Ant Colony Optimization for Resource-Constrained Project Scheduling," IEEE Trans. Evolutionary Computation, vol. 6, no. 4, pp. 333-346, Aug. 2002.
[36] W.-N. Chen and J. Zhang, "An Ant Colony Optimization Approach to a Grid Workflow Scheduling Problem with Various QoS Requirements," IEEE Trans. System, Man, and Cybernetics- Part C, vol. 39, no. 1, pp. 29-43, Jan. 2009.
[37] W.-N. Chen, J. Zhang, H.S.-H. Chung, R.-Z. Huang, and O. Liu, "Optimizing Discounted Cash Flows in Project Scheduling—An Ant Colony Optimization Approach," IEEE Trans. Systems, Man, and Cybernetics-Part C, vol. 40, no. 1, pp. 64-77, Jan. 2010.
[38] X.-M. Hu, J. Zhang, H.S.-H. Chung, O. Liu, and J. Xiao, "An Intelligent Testing System Embedded with an Ant Colony Optimization Based Test Composition Method," IEEE Trans. Systems, Man and Cybernetics, Part C: Applications and Rev., vol. 39, no. 6, pp. 659-669, Nov. 2009.
[39] M. Dorigo and T. Stützle, Ant Colony Optimization. MIT Press, 2004.
[40] L. Őzdamar, "A Genetic Algorithm Approach to a General Category Project Scheduling Problem," IEEE Trans. Systems, Man, and Cybernetics-Part C: Applications and Rev., vol. 29, no. 1, pp. 44-59, Feb. 1999.
[41] R. Bai, E.K. Burke, G. Kendall, J. Li, and B. McCollum, "A Hybrid Evolutionary Approach to the Nurse Rostering Problem," IEEE Trans. Evolutionary Computation, vol. 14, no. 4, pp. 580-590, Aug. 2010.
[42] V. Nissen and M. Günther, "Automatic Generation of Optimised Working Time Models in Personnel Planning," Proc. Seventh Int'l Conf. Swarm Intelligence, pp. 384-391, 2010.
[43] M. Günther and V. Nissen, "Particle Swarm Optimization and an Agent-Based Algorithm for a Problem of Staffing Scheduling," Proc. Int'l Conf. Applications of Evolutionary Computation, pp. 451-461, 2010.
[44] T. Stützle and H. Hoos, "Max-Min Ant System," Future Generation Computer Systems, vol. 16, no. 8, pp. 889-914, 2000.
[45] A. Bauer, B. Bullnheimer, R.F. Hartl, and C. Strauss, "Minimizing Total Tardiness on a Single Machine Using Ant Colony Optimization," Central European J. Operations Research and Economics, vol. 8, no. 2, pp. 125-141, 2000.
[46] B. Pfahringer, "Multi-Agent Search for Open Shop Scheduling: Adapting the Ant-Q Formalism," Technical Report TR-96-09, Austrian Research Inst. of Artificial Intelligence, 1996.
[47] C. Blum and M. Sampels, "An Ant Colony Optimization Algorithm for Shop Scheduling Problems," J. Math. Modelling and Algorithms, vol. 3, pp. 285-308, 2004.
[48] C. Blum, "Beam-ACO-Hybridizing Ant Colony Optimization with Beam Search: An Application to Open Shop Scheduling," Computers and Operations Research, vol. 32, pp. 1565-1591, 2005.
[49] R. Kolisch and S. Hartmann, "Heuristic Algorithms for Solving the Resource-Constrained Project Scheduling Problem: Classification and Computational Analysis," Handbook on Recent Advances in Project Scheduling, J. Weglarz, ed., pp. 197-212, Kluwer, 1999.
[50] R. Kolisch and A. Sprecher, "PSPLIB—A Project Scheduling Problem Library: OR Software—ORSEP Operations Research Software Exchange Program," European J. Operational Research, vol. 96, no. 1, pp. 205-216, 1997.
[51] L. Őzdamar and G. Ususoy, "A Survey on the Resource-Constrained Project Scheduling Problem," Trans. IIE, vol. 27, pp. 574-586, 1995.