Vol.28, No.1, 2021, pp.39-52, doi:10.32604/iasc.2021.015657
OPEN ACCESS
ARTICLE
Selection and Optimization of Software Development Life Cycles Using a Genetic Algorithm
  • Fatimah O. Albalawi, Mashael S. Maashi*
Department of Software Engineering, College of Computer and Information Sciences, King Saud University, Riyadh, 11451, KSA
* Corresponding Author: Mashael S. Maashi. Email:
(This article belongs to this Special Issue: Computational Intelligence for Internet of Medical Things and Big Data Analytics)
Received 01 December 2020; Accepted 17 January 2021; Issue published 17 March 2021
Abstract
In the software field, a large number of projects fail, and billions of dollars are spent on these failed projects. Many software projects are also produced with poor quality or they do not exactly meet customers’ expectations. Moreover, these projects may exceed project budget and/or time. The complexity of managing software development projects and the poor selection of software development life cycle (SDLC) models are among the top reasons for such failure. Various SDLC models are available, but no model is considered the best or worst. In this work, we propose a new methodology that solves the SDLC optimization problem using a genetic algorithm. The methodology selects the best SDLC and optimizes the completion time of the selected model. This study aims to help project managers in a software development organization select the proper SDLC model for their projects and optimize the selected model by minimizing the project completion time. The proposed SDLC model selection approach is based on a selection matrix that consists of a set of selection criteria and information related to the project’s nature given by the project managers. Our methodology optimizes the selected SDLC model by reducing the project completion time and assigning duration for each phase. Several experiments were conducted to obtain the optimal completion time for the selected SDLC models. These experiments showed that our algorithm can optimally minimize the completion time of a given project and assign a duration for each phase. Experimental results showed that our methodology can reduce the completion time of a given project and produce realistic and optimal completion times for different SDLC models.
Keywords
Genetic algorithm; software development process; software development life cycle; SDLC; software project manager; optimization; evolutionary algorithms; search-based software engineering; SBSE; optimization problems
Cite This Article
F. O. Albalawi and M. S. Maashi, "Selection and optimization of software development life cycles using a genetic algorithm," Intelligent Automation & Soft Computing, vol. 28, no.1, pp. 39–52, 2021.
This work is licensed under a Creative Commons Attribution 4.0 International License , which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.