From the business standpoint, predictability of the resources and time required for successful project completion is one of the key aspects of software development. This estimate significantly impacts project implementation and its outcomes – underestimation often leads to failures. An implementation schedule is one of the key ingredients of software development project estimation. Over recent years, the software development business has become even more competitive which, in turn, has imposed more demanding requirements on estimates – the more accurate an estimate is, and the less working time is spent on its preparation, the higher chance to overperform the competitors. This is why automation of such a manual assignment as project implementation schedule preparation is a relevant scientific and technical task. The current article is devoted to a method of building a software development project tasks implementation schedule. The project is supposed to be done by a scrum team with non-differentiated specializations. The resource constraints are expressed as balancing of the task effort estimates and the project team development capacity for each of the sprints. In order to unify measurement of software development productivity, a "normalization" approach is applied. The order of adding tasks to a schedule considers dependencies between the tasks and utilizes the List Scheduling method. As the method's outcomes, a set of feasible project implementation schedules is produced. Over a feasible schedule, a fine objective function is defined. This objective function minimizes the project team's idle time assuming that such idle time in the beginning of the project is "worse" than in its ending. Being applied along with the Multi-Stage Estimation method, the method proposed in the current article allows to reduce the working time spent by experts on preparation of estimates. Because of its simplicity, the software implementation of the current method version can be done without writing source code – a spreadsheet editor can be used instead. The priority ways of the further evolution of the method are the following: supporting of scrum teams with differentiated and mixed specializations; transition from a normalized project implementation schedule to the "full" one considering the project tasks' lifecycle and the structure of software developers' working time.
1. Blazewicz, J., Lenstra, J. K., & Kan, A. H. G. R. (1983). Scheduling subject to resource constraints: Classification and complexity. Discrete Applied Mathematics, 5(1), 11‑24. https://doi.org/10.1016/0166-218X(83)90012-4
2. Boehm, B. W., Abts, C., Brown, A. W., Devnani-Chulani, S., Clark, B. K., Horowitz, E., Madachy, R. J., Reifer, D. J., & Steece, B. (2000). Software Cost Estimation with COCOMO II. Prentice-Hall: Saddle River.
3. Brucker, P. (2007). Scheduling Algorithms (5. 5th ed. 2007). Springer Berlin Heidelberg. https://doi.org/10.1007/978-3-540-69516-5
4. Brucker, P., Drexl, A., Möhring, R., Neumann, K., & Pesch, E. (1999). Resource-constrained project scheduling: Notation, classification, models, and methods. European Journal of Operational Research, 112(1), 3‑41. https://doi.org/10.1016/S0377-2217(98)00204-5
5. Bureau of Naval Weapons, United States, Special Projects Office. (1958). Program Evaluation Research Task PERT Summary Report: Phase 1 (p. 35). Special Projects Office, Bureau of Naval Weapons, Department of the Navy.
6. Bureau of Naval Weapons, United States, Special Projects Office. (1958). Program Evaluation Research Task PERT Summary Report: Phase 2 (p. 108). Special Projects Office, Bureau of Naval Weapons, Department of the Navy.
7. Ciupe, A., Meza, S., & Orza, B. (2016). Heuristic Optimization for the Resource Constrained Project Scheduling Problem: A Systematic Mapping. 619‑626. https://doi.org/10.15439/2016F389
8. Gantt, H. L. (1903). A Graphical Daily Balance in Manufacture. Transactions of the American Society of Mechanical Engineers, 24, 1322‑1331. https://doi.org/10.1115/1.4060667
9. Geraldi, J., & Lechter, T. (2012). Gantt charts revisited: A critical analysis of its roots and implications to the management of projects today. International Journal of Managing Projects in Business, 5(4), 578‑594. https://doi.org/10.1108/17538371211268889
10. Graham, R. L. (1969). Bounds on Multiprocessing Timing Anomalies. SIAM Journal on Applied Mathematics, 17(2), 416‑429. https://doi.org/10.1137/0117039
11. Graham, R. L., Lawler, E. L., Lenstra, J. K., & Kan, A. H. G. R. (1979). Optimization and Approximation in Deterministic Sequencing and Scheduling: A Survey. In Annals of Discrete Mathematics (Vol. 5, pp. 287‑326). Elsevier. https://doi.org/10.1016/S0167-5060(08)70356-X
12. Hartmann, S., & Briskorn, D. (2022). An updated survey of variants and extensions of the resource-constrained project scheduling problem. European Journal of Operational Research, 297(1), 1‑14. https://doi.org/10.1016/j.ejor.2021.05.004
13. Herroelen, W., De Reyck, B., & Demeulemeester, E. (1998). Resource-constrained project scheduling: A survey of recent developments. Computers & Operations Research, 25(4), 279‑302. https://doi.org/10.1016/S0305-0548(97)00055-5
14. Kelley, J. E., & Walker, M. R. (1959). Critical-Path Planning and Scheduling. Eastern Joint IRE-AIEE-ACM Computer Conference, 160‑173. https://doi.org/10.1145/1460299.1460318
15. Kolisch, R., & Hartmann, S. (1999). Heuristic Algorithms for the Resource-Constrained Project Scheduling Problem: Classification and Computational Analysis. In J. Węglarz (Ed.), Project Scheduling (Vol. 14, pp. 147‑178). Springer US. https://doi.org/10.1007/978-1-4615-5533-9_7
16. Land, A. H., & Doig, A. G. (1960). An Automatic Method of Solving Discrete Programming Problems. Econometrica, 28(3), 497. https://doi.org/10.2307/1910129
17. Pritsker, A. A. B. (1966). GERT: Graphical Evaluation and Review Technique. RM-4973-NASA. National Aeronautics and Space Administration under Contract No. NASr-21.
18. Project Management Institute (Ed.). (2021). A guide to the project management body of knowledge (PMBOK® guide) and the standard for project management (Seventh Edition). Project Management Institute, Inc.
19. Schutten, J. M. J. (1996). List scheduling revisited. Operations Research Letters, 18(4), 167‑170. https://doi.org/10.1016/0167-6377(95)00057-7
20. Teslyuk, V., Batyuk, A., & Voityshyn, V. (2022). Method of Recommending a Scrum Team Composition for Intermediate Estimation of Software Development Projects. 2022 IEEE 17th International Conference on Computer Sciences and Information Technologies (CSIT), 373‑376. https://doi.org/10.1109/CSIT56902.2022.10000432
21. Teslyuk, V., Batyuk, A., & Voityshyn, V. (2022). Method of Software Development Project Duration Estimation for Scrum Teams with Differentiated Specializations. Systems, 123(10), 1‑19. https://doi.org/10.3390/systems10040123
22. Teslyuk, V., Batyuk, A., & Voityshyn, V. (2024). Preliminary Estimation for Software Development Projects Empowered with a Method of Recommending Optimal Duration and Team Composition. Applied System Innovation, 7(3). https://doi.org/10.3390/asi7030034
23. Türkakın, O. H., Arditi, D., & Manisalı, E. (2021). Comparison of Heuristic Priority Rules in the Solution of the Resource-Constrained Project Scheduling Problem. Sustainability, 13(17), 9956. https://doi.org/10.3390/su13179956