Software project management: life cycle models and development methodologies, analysis and classification
K.S. Myshenkov, Dmitrii A. Gurianov · Dynamics of Complex Systems - XXI century · 2024
Choosing the right software development methodology can play a key role in making a project successful. Depending on the chosen methodology, it is possible to reduce product delivery times, development costs, manage uncertainty and risks, improve quality and user satisfaction, and provide more detailed control over the project. Despite the importance of this task, the choice of the most appropriate methodology for a particular project is difficult due to the large number of evaluation criteria, the lack of sufficient literature on this issue and the low level of formalization of the process, when the choice of methodology is made only on the basis of the previous experience of the project manager. The purpose of the work is to increase the efficiency of the processes of substantiation and selection of software development methodologies for specific projects. The article discusses the main well-known life cycle models and software development methodologies. An analysis of methods and criteria for classifying methodologies was carried out, and the shortcomings of existing classifications were identified. A new multi-criteria hierarchical classification is proposed, offering a more complete and broader distribution of life cycle models and software development methodologies across classes. A review of existing methodologies, an analysis of known classification methods and their shortcomings, the methodologies classification proposed by the authors will help project managers more reasonably choose development methodologies and reduce risks in the process of managing software projects.