The use of knapsack 0/1 in prioritizing software requirements and Markov chain to predict software success

Requirements prioritization is one of the most valuable aspects of software engineering. This is primarily due to the fact that resources, be it time, skillset, or budget, are limited. Existing complex methodologies, such as analytical heuristic process (AHP) and planning game, face low adoption in...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:International journal of information technology (Singapore. Online) 2024-03, Vol.16 (3), p.1967-1979
Hauptverfasser: Armah, Isaac Aduhene, Hayfron-Acquah, James Ben, Takyi, Kate, Gyening, Rose-Mary Owusuaa Mensah, Eshun, Michael
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung:Requirements prioritization is one of the most valuable aspects of software engineering. This is primarily due to the fact that resources, be it time, skillset, or budget, are limited. Existing complex methodologies, such as analytical heuristic process (AHP) and planning game, face low adoption in the industry, promoting the need for more accessible techniques. This research introduces a novel contribution to software engineering by offering a simple and scalable approach to requirement prioritization (RP) and software acceptance prediction. The proposed approach consists of two key methods, knapsack 0/1 and Markov, to optimize RP and predict software acceptance respectively. By considering constraints, organizations can make enlightened decisions on handling requirements and optimize their minimum viable product. The results showcase significant time efficiency, with an average worst-case time of 5.645s for 10,000 requirements and an upper bound of 0.023s for the Markov prediction. This study aims to provide practitioners with a practical solution for prioritizing requirements and predicting software outcomes from user acceptance tests. By simplifying the process and offering compelling time complexity, this approach contributes to the enhancement of software development practices.
ISSN:2511-2104
2511-2112
DOI:10.1007/s41870-023-01476-4