Let Smart Ants Help You Reduce the Delay Penalty of Multiple Software Projects

Delays often occur in real-world software development projects and may cause significant monetary penalties to software companies. Meanwhile, industry lessons have shown that adding inexperienced employees would cause further delays due to the learning curve and communication overhead. However, if employees with same or similar skills and domain knowledge can be rescheduled from other concurrent projects to help with the delayed projects, it may be possible to reduce or even eliminate delay penalties without requesting extra employees. Here, the big challenge is how to conduct employee rescheduling without having employees working overtime, which is an NP hard problem in nature. To address such a problem, this paper proposes a novel employee rescheduling strategy based on improved ant colony optimization algorithm. Specifically, three generic rules are proposed to improve the effectiveness in generating valid solutions. Preliminary results on benchmark projects show that our strategy can achieve much better effectiveness than its genetic algorithm based counterpart in reducing the overall delay penalty of multiple software projects.

[1]  Mark Harman,et al.  10 th International Software Metrics Symposium (METRICS 2004) , 2004 .

[2]  Thomas Stützle,et al.  Ant Colony Optimization , 2009, EMO.

[3]  Jun Zhang,et al.  Ant Colony Optimization for Software Project Scheduling and Staffing with an Event-Based Scheduler , 2013, IEEE Transactions on Software Engineering.

[4]  Yong Tang,et al.  Solving software project scheduling problems with ant colony optimization , 2013, Comput. Oper. Res..

[5]  Rainer Kolisch,et al.  PSPLIB - A project scheduling problem library: OR Software - ORSEP Operations Research Software Exchange Program , 1997 .

[6]  Avraham Shtub,et al.  Project Management: Processes, Methodologies, and Economics , 1994 .

[7]  Odile Bellenguez-Morineau,et al.  Methods to solve multi-skill project scheduling problem , 2008, 4OR.

[8]  Ronald L. Rivest,et al.  Introduction to Algorithms , 1990 .

[9]  Ronald L. Rivest,et al.  Introduction to Algorithms, Second Edition , 2001 .

[10]  Xiao Liu,et al.  Achieving On-Time Delivery: A Two-Stage Probabilistic Scheduling Strategy for Software Projects , 2009, ICSP.

[11]  Fred P. Brooks,et al.  The Mythical Man-Month , 1975, Reliable Software.

[12]  Giuliano Antoniol,et al.  A robust search-based approach to project management in the presence of abandonment, rework, error and uncertainty , 2004 .

[13]  Xin Yao,et al.  Dynamic Software Project Scheduling through a Proactive-Rescheduling Method , 2016, IEEE Transactions on Software Engineering.

[14]  K. Dejong,et al.  An analysis of the behavior of a class of genetic adaptive systems , 1975 .

[15]  Wei Zhang,et al.  Ant colony algorithm based scheduling for handling software project delay , 2015, ICSSP.

[16]  Enrique Alba,et al.  Software project management with GAs , 2007, Inf. Sci..