Voityshyn V. Information technology of software development projects estimation

Українська версія

Thesis for the degree of Doctor of Philosophy (PhD)

State registration number

0825U002712

Applicant for

Specialization

  • 122 - Комп’ютерні науки

Specialized Academic Board

PhD 9661

Lviv Polytechnic National University

Essay

The dissertation research is devoted to creation of the estimation methods applicable on the analysis and design phases of the software development life cycle as well as implementation of the information technology aimed at application of the created estimation methods in practice. The estimation methods and the information technology are supposed to improve the quality of the estimates, reduce efforts required for the estimate preparation, accumulate project historical data as well as ensure handling of the software development projects estimation as a semi-structured business process applying process mining methods. In the first chapter, “Analysis of the Existing Software Development Project Estimation Methods", the term “Software development project estimate” is clarified, and estimate ingredients are defined. Also, the terms estimate accuracy, reliability, precision, and trueness are explained. Analysis of the existing estimation methods is based on the grouping by the four categories corresponding to the time of the method creation and the main trends in the software development industry: the “classical” methods (the 1950s-1980s, procedural programming and the Waterfall Model of the software development life cycle), the “classical” methods of the second generation (from the late1980s till the beginning of the 2000s, object-oriented programming and the Spiral Model of software development life cycle), the agile estimation methods (from the late 1990s till nowadays), the estimation methods based on machine learning and artificial intelligence (from the early 2000s till nowadays). An overview of process mining methods aimed at building a scheme of such business processes is provided in Chapter 1. The research carried out has shown downsides of the existing estimation methods that make their practical use difficult or even hardly possible. In order to eliminate the revealed gaps, it is stated a scientific task to advance new estimation methods as well as develop an information technology aiming at implementation of the created methods in practice. In the second chapter, “Advancing Methods for Estimating Software Development Projects”, the main scientific results are represented. The method is applicable in the analysis and design stages. It prescribes preparation of the three subsequent estimates: preliminary, intermediate, and precise. The accuracy and level of detail of these estimates increases along with elaboration of project requirements. In addition to the multi-stage estimation method, the method of decision support on a team composition and a project implementation schedule has been first developed. The method is based on solving integer programming problems with the following application of the analytic hierarchy process to rank the alternatives. The method of building estimable items implementation schedule is a further development of the existing List Scheduling method. The method builds an implementation schedule that balances the normalized development estimates on the one hand and the normalized development capacity of a project team on the other. The third chapter, “Software Development Project Estimation as a Semistructured Business Process”, is devoted to the implementation of estimation as a business process functioning within an organization that does software development regular basis either for own needs or as a vendor for its clients. A method of semi-structured business process schema building has been developed. Being a further development of the process mining method called “Fuzzy Miner”, the method differs from its predecessor in the abilities to handle concept drifts and processing of event data streams. An architecture design and a prototype implementation of a software module with the purpose of monitoring actual execution of the estimation business process are described in the third chapter. The module includes event data streams processing and the developed method of building a schema for a semi-structured business process. In the fourth chapter, “Requirements Analysis, Architecture Desing, and Estimation of the Information Technology”, it is demonstrated application of the developed methods to estimation of the information technology. The developed method of decision support on the project schedule and team composition as well as the method of building estimable items implementation schedule have also been applied. A prototype version of the information technology was implemented with a low-code technology—Microsoft Power Platform. Based on business needs and current software development trends, further evolutionary steps of the information technology have been outlined.

Research papers

A. Batyuk and V. Voityshyn, "Process Mining: Applied Discipline and Software Implementations," KPI Science News, no. 5, pp. 22-36, Nov. 2018. doi: 10.20535/1810-0546.2018.5.146178

A. Batyuk and V. Voityshyn, “Distributed software system with web interface for automated business process discovery,” Bulletin of Lviv Polytechnic National University: Information Systems and Networks, vol. 5, pp. 70-77, Jun. 2019. doi: 10.23939/sisn2019.01.070

В. Теслюк, А. Батюк, В. Войтишин, “Метод побудови нормалізованого розкладу реалізації задач проєкту з розробки програмного забезпечення для scrum-команди без диференціації спеціалізацій,” Український журнал інформаційних технологій, Т. 6, № 2, С. 11–19, 2024, doi: 10.23939/ujit2024.02.011

V. Teslyuk, A. Batyuk, and V. Voityshyn, “Method of Software Development Project Duration Estimation for Scrum Teams with Differentiated Specializations,” Systems, vol. 123, no. 10, pp. 1–19, Aug. 2022, doi: 10.3390/systems10040123

V. Teslyuk, A. Batyuk, and V. Voityshyn, “Preliminary Estimation for Software Development Projects Empowered with a Method of Recommending Optimal Duration and Team Composition,” Appl. Syst. Innov., vol. 7, no. 3, pp. 1-21, Apr. 2024, doi: 10.3390/asi7030034

A. Batyuk and V. Voityshyn, "Streaming Process Discovery for Lambda Architecture-based Process Monitoring Platform," in 2018 IEEE 13th International Scientific and Technical Conference on Computer Science and Information Technologies (CSIT'2018), Lviv, Ukraine, Sep. 2018, pp. 298-301. doi: 10.1109/STC-CSIT.2018.8526592

V. Teslyuk, A. Batyuk and V. Voityshyn, "Method of Recommending a Scrum Team Composition for Intermediate Estimation of Software Development Projects," in 2022 IEEE 17th International Conference on Computer Sciences and Information Technologies (CSIT’2022), Nov. 2022, pp. 373-376, doi: 10.1109/CSIT56902.2022.10000432

Files

Similar theses