Abstract
In the process of software project development, completing tasks may require new skills that employees have not yet mastered due to factors such as requirement changes. However, existing studies on software project scheduling usually overlook such new skill demands. This paper designs the learning mechanism targeting the treatment of new skills for project employees, including how to select appropriate employees to learn new skills, the growth curves of new skill proficiencies and the adaptive dedication changes for the selected employees. Three common dynamic events are considered to establish a mathematical model for the dynamic software project scheduling problem considering the new skill learning. To solve the model, a multi-population coevolutionary algorithm-based predictive-reactive scheduling method is proposed in this paper. Three novel strategies are incorporated, which include a response mechanism to environmental changes, a population grouping strategy based on dual indicators, and a dynamic allocation of subpopulation size according to the variation trend of contribution. Systematic experimental results based on ten synthetic instances and three real-world instances show that when dynamic events occur, the proposed algorithm can quickly reschedule the tasks with a better duration, cost and stability compared with six state-of-the-art algorithms, helping project manager make a more informed decision.
Similar content being viewed by others
References
Alba, E., Chicano, J.F.: Software project management with Gas. Inf. Sci. 177(11), 2380–2401 (2007). https://doi.org/10.1016/j.ins.2006.12.020
Arunachalam, N., Amuthan, A.: Improved cosine similarity-based artificial bee colony optimization scheme for reactive and dynamic service composition. J. King Saud Univ.-Comput. Inf. Sci. 34(2), 270–281 (2022). https://doi.org/10.1016/j.jksuci.2018.10.003
Bibi, N., Anwar, Z., Ahsan, A.: Comparison of search-based software engineering algorithms for resource allocation optimization. Int. J. Intell. Syst. 25(4), 629–642 (2016). https://doi.org/10.1515/jisys-2015-0016
Chang, C.K., Jiang, H., Di, Y., Zhu, D., Ge, Y.: Time-line based model for software project scheduling with genetic algorithms. Inf. Softw. Technol. 50(11), 1142–1154 (2008). https://doi.org/10.1016/j.infsof.2008.03.002
Chen, W.N., Zhang, J.: Ant colony optimization for software project scheduling and staffing with an event-based scheduler. IEEE Trans. Softw. Eng. 39(1), 1–17 (2013). https://doi.org/10.1109/TSE.2012.17
Chen, H.N., Ma, L.B., He, M.W., Wang, X.W., Liang, X.D., Sun, L.L., Huang, M.: Artificial bee colony optimizer based on bee life-cycle for stationary and dynamic optimization. IEEE Trans. Syst. Man Cybern. Syst. 47(2), 327–346 (2017). https://doi.org/10.1109/TSMC.2016.2558045
Chen, R., Liang, C.Y., Gu, D.X., Zhao, H.M.: A competence-time-quality scheduling model of multi-skilled staff for IT project portfolio. Comput. Ind. Eng. 139, 106183 (2020). https://doi.org/10.1016/j.cie.2019.106183
Chen, G.Y., Guo, Y.N., Huang, M.Y., Gong, D.W., Yu, Z.K.: A domain adaptation learning strategy for dynamic multiobjective optimization. Inf. Sci. 606, 328–349 (2022). https://doi.org/10.1016/j.ins.2022.05.050
Ge, Y., Xu, B.: Dynamic staffing and rescheduling in software project management: a hybrid approach. PLoS ONE 11(6), 1–28 (2016). https://doi.org/10.1371/journal.pone.0157104
Gueorguiev, S. Harman, M., Antoniol, G.: Software project planning for robustness and completion time in the presence of uncertainty using multi-objective search-based software engineering. In: Proceedings of the 11th Annual Genetic and Evolutionary Computation Conference. ACM, pp. 1673–1680. (2009) https://doi.org/10.1145/1569901.1570125
Guo, F., Zhou, B., Liu, C.Y., Wang, H.X.: Spares demand combined forecasting based on grey model and exponential smoothing. In: Proceedings of the 2012 International Conference on Information Management, Innovation Management and Industrial Engineering, pp. 300–302. IEEE (2012) https://doi.org/10.1109/ICIII.2012.6339838.
Hapke, M., Jaszkiewicz, A., Slowinski, R.: Fuzzy project scheduling system for software development. Fuzzy Sets Syst. 67(1), 101–117 (1994). https://doi.org/10.1016/0165-0114(94)90211-9
Harman, M.: The current state and future of search-based software engineering. In: Proceedings of the 2007 Future of Software Engineering, pp. 342–357. IEEE (2007) https://doi.org/10.1109/FOSE.2007.29
Karaboga, D., Basturk, B.: A powerful and efficient algorithm for numerical function optimization: artificial bee colony (ABC) algorithm. J. Global Optim. 39(3), 459–471 (2007). https://doi.org/10.1007/s10898-007-9149-x
Li, J.Q., Pan, Q.K., Duan, P.Y.: An improved artificial bee colony algorithm for solving hybrid flexible flowshop with dynamic operation skipping. IEEE Trans. Cybern. 46(6), 1311–1324 (2016). https://doi.org/10.1109/TCYB.2015.2444383
Li, J.Q., Song, M.X., Wang, L., Duan, P.Y., Han, Y.Y., Sang, H.Y., Pan, Q.K.: Hybrid artificial bee colony algorithm for a parallel batching distributed flow-shop problem with deteriorating jobs. IEEE Trans. Cybern. 50(6), 2425–2439 (2020a). https://doi.org/10.1109/TCYB.2019.2943606
Li, Y.L., Li, X.Y., Gao, L., Meng, L.L.: An improved artificial bee colony algorithm for distributed heterogeneous hybrid flowshop scheduling problem with sequence-dependent setup times. Comput. Ind. Eng. 147, 106638 (2020b). https://doi.org/10.1016/j.cie.2020.106638
Li, Y.Y., Shen, Y.D., Li, J.P.: A discrete artificial bee colony algorithm for stochastic vehicle scheduling. Complex Syst. Model. Simul. 2(3), 238–252 (2022). https://doi.org/10.23919/CSMS.2022.0012
Liu, R.C., Li, J.X., Fan, J., Mu, C.H., Jiao, L.C.: A coevolutionary technique based on multi-population particle population optimization for dynamic multi-objective optimization. Eur. J. Oper. Res. 261(3), 1028–1051 (2017). https://doi.org/10.1016/j.ejor.2017.03.048
Masmoudi, M., Hait, A.: Project scheduling under uncertainty using fuzzy modelling and solving techniques. Eng. Appl. Artif. Intell. 26, 135–149 (2013). https://doi.org/10.1016/j.engappai.2012.07.012
Minku, L.L., Sudholt, D., Yao, X.: Improved evolutionary algorithm design for the project scheduling problem based on runtime analysis. IEEE Trans. Softw. Eng. 40(1), 83–102 (2014). https://doi.org/10.1109/TSE.2013.52
Ngo-The, A., Ruhe, G.: Optimized resource allocation for software release planning. IEEE Trans. Softw. Eng. 35(1), 109–123 (2009). https://doi.org/10.1109/TSE.2008.80
Otero, L.D., Centeno, G., Ruiz-Torres, A.J., Otero, C.E.: A systematic approach for resource allocation in software projects. Comput. Ind. Eng. 56(4), 1333–1339 (2009). https://doi.org/10.1016/j.cie.2008.08.002
Pan, Z., Lei, D., Wang, L.: A bi-population evolutionary algorithm with feedback for energy-efficient fuzzy flexible job shop scheduling. IEEE Trans. Syst. Man Cybern. Syst. 52(8), 5295–5307 (2022). https://doi.org/10.1109/TSMC.2021.3120702
Pandiri, V., Singh, A.: An artificial bee colony algorithm with variable degree of perturbation for the generalized covering traveling salesman problem. Appl. Soft Comput. 78, 481–495 (2019). https://doi.org/10.1016/j.asoc.2019.03.001
Rodríguez, D., Ruiz, M., Riquelme, J.C., Harrison, R.: Multi-objective simulation optimization in software project management. In: Proceedings of the 13th Annual Conference on Genetic and Evolutionary Computation, ACM, pp. 1883–1890. (2011) https://doi.org/10.1145/2001576.2001829.
Sarro, F., Ferrucci, F., Harman, M., Manna, A., Ren, J.: Adaptive multi-objective evolutionary algorithms for overtime planning in software projects. IEEE Trans. Software Eng. 43(10), 898–917 (2017). https://doi.org/10.1109/TSE.2017.2650914
Shen, X.N., Minku, L.L., Bahsoon, R., Yao, X.: Dynamic software project scheduling through a proactive-rescheduling method. IEEE Trans. Softw. Eng. 42(7), 658–686 (2016). https://doi.org/10.1109/TSE.2015.2512266
Shen, X.N., Minku, L.L., Marturi, N., Guo, Y.N., Han, Y.: A Q-learning-based memetic algorithm for multi-objective dynamic software project scheduling. Inf. Sci. 428, 1–29 (2018). https://doi.org/10.1016/j.ins.2017.10.041
Shen, X.N., Guo, Y.N., Li, A.M.: Cooperative coevolution with an improved resource allocation for large-scale multi-objective software project scheduling. Appl. Soft Comput. 88, 106059 (2020). https://doi.org/10.1016/j.asoc.2019.106059
Song, X.Y., Zhao, M., Yan, Q.F., Xing, S.Y.: A high-efficiency adaptive artificial bee colony algorithm using two strategies for continuous optimization. Swarm Evol. Comput. 50, 100549 (2019). https://doi.org/10.1016/j.swevo.2019.06.006
Song, X.Y., Zhao, M., Xing, S.Y.: A multi-strategy fusion artificial bee colony algorithm with small population. Expert Syst. Appl. 142, 112921 (2020). https://doi.org/10.1016/j.eswa.2019.112921
Song, Y.J., Wu, D.Q., Deng, W., Gao, X.Z., Li, T.Y., Zhang, B., Li, Y.G.: MPPCEDE: multi-population parallel co-evolutionary differential evolution for parameter optimization. Energy Convers. Manag. 228, 113661 (2021). https://doi.org/10.1016/j.enconman.2020.113661
Varalda, W., Vega, T.S.: Hermeneutical elicitation of requirements: a technical perspective to improve the conception of the software requirements. J. Comput. Commun. 6(9), 132–149 (2018). https://doi.org/10.4236/jcc.2018.69010
Vega-Velázquez, M.A., García-Nájera, A., Cervantes, H.: A survey on the software project scheduling problem. Int. J. Prod. Econ. 202, 145–161 (2018). https://doi.org/10.1016/j.ijpe.2018.04.020
Wang, W., Ge, X., Li, L., Su, J.: Proactive and reactive multi-project scheduling in uncertain environment. IEEE Access 7, 88986–88997 (2019). https://doi.org/10.1109/ACCESS.2019.2926337
Wang, F., Li, Y.X., Liao, F.S., Yan, H.Y.: An ensemble learning based prediction strategy for dynamic multi-objective optimization. Appl. Soft Comput. 96, 106592 (2020). https://doi.org/10.1016/j.asoc.2020.106592
Xiang, W.L., Meng, X.L., Li, Y.Z., He, R.C., An, M.Q.: An improved artificial bee colony algorithm based on the gravity model. Inf. Sci. 429, 49–71 (2018). https://doi.org/10.1016/j.ins.2017.11.007
Xiao, J., Osterweil, L.J., Wang, Q., Li, M.: Dynamic resource scheduling in disruption-prone software development environments. In: Proceedings of the 13th International Conference on Fundamental Approaches to Software Engineering. pp. 107–122. Springer (2010). https://doi.org/10.1007/978-3-642-12029-9_8.
Xie, H.P., Zou, J., Yang, S.X., Zheng, J.H., Ou, J.W., Hu, Y.R.: A decision variable classification-based cooperative coevolutionary algorithm for dynamic multiobjective optimization. Inf. Sci. 560, 307–330 (2021). https://doi.org/10.1016/j.ins.2021.01.021
Xing, H.L., Song, F.H., Yan, L.S., Pan, W.: On multicast routing with network coding: a multiobjective artificial bee colony algorithm. China Commun. 16(2), 160–176 (2019). https://doi.org/10.12676/j.cc.2019.02.011
Yang, Q., Yan, J.Q., Gao, X.D., Xu, D.D., Lu, Z.Y., Zhang, J.: Random neighbor elite guided differential evolution for global numerical optimization. Inf. Sci. 607, 1408–1438 (2022). https://doi.org/10.1016/j.ins.2022.06.029
Zhang, X., Xu, Y.T., Yu, C.Y., Heidari, A.A., Li, S.M., Chen, H.L., Li, C.Y.: Gaussian mutational chaotic fruit fly-built optimization and feature selection. Expert Syst. Appl. 141, 112976 (2020). https://doi.org/10.1016/j.eswa.2019.112976
Zhou, J.J., Yao, X.F., Chan, F.T.S., Lin, Y.Z., Jin, H., Gao, L., Wang, X.P.: An individual dependent multi-colony artificial bee colony algorithm. Inf. Sci. 485, 114–140 (2019). https://doi.org/10.1016/j.ins.2019.02.014
Acknowledgements
This work is supported by the Guangdong Provincial Key Laboratory under Grant No. 2020B121201001, the National Natural Science Foundation of China (NSFC) under Grant No. 61502239 and No. 62002148, Natural Science Foundation of Jiangsu Province of China under Grant No. BK20150924. We are grateful to Weineng Chen and Jun Zhang for providing the data of the three real-world SPSP instances.
Author information
Authors and Affiliations
Contributions
Xiaoning Shen: Conceptualization, Investigation, Methodology, Writing - review & editing, Funding acquisition. Chengbin Yao: Conceptualization, Investigation, Methodology, Validation, Writing - original draft. Liyan Song: Conceptualization, Writing - review & editing, Funding acquisition. Jiyong Xu: Conceptualization, Writing - review & editing. Mingjian Mao: Conceptualization, Writing - review & editing.
Corresponding author
Ethics declarations
Competing interests
The authors declare no competing interests.
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Supplementary Information
Below is the link to the electronic supplementary material.
Rights and permissions
Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.
About this article
Cite this article
Shen, X., Yao, C., Song, L. et al. Coevolutionary scheduling of dynamic software project considering the new skill learning. Autom Softw Eng 31, 14 (2024). https://doi.org/10.1007/s10515-023-00411-y
Received:
Accepted:
Published:
DOI: https://doi.org/10.1007/s10515-023-00411-y