Journal of Engineering (Jan 2025)
Optimized Change Management Process Through Semantic Requirements and Traceability Analysis Tool
Abstract
Change analysis and validation is a challenging task in an agile-based environment. An agile-based environment encourages changes in the requirements, but still, it is problematic when there are frequent changes due to the involvement of multistakeholders, multiviews, or aspects related to managing the requirements of the software. All of these challenges ultimately impact the requirement prioritization and change management process. Currently, changes are managed through a change control board, involving various experts to make decisions. Our approach focuses on restructuring and reusing techniques by mapping similar codes and functions. To handle change impact analysis, traceability, and prioritization, we propose a model that is based on semantic analysis using NLP consisting of function-based analysis and GitLab used for trace-link generation. NLP automates the extraction, classification, and analysis of requirements written in natural language; analyzes unstructured data; and identifies dependencies, redundancies, and ambiguities in requirements. Automation of the proposed model for impact analysis, trace link generation, and prioritization helps to mitigate the issues of irrelevancy, redundancy, and ambiguity during a change and its impact on different artifacts. The experimental results show that the automation of the proposed model in an agile environment facilitates the changes in requirements and improves the mapping and its impact significantly. We selected two projects from the software house: one is a healthcare system and the second is an E-commerce application. The results in both projects depicted that the performance of the requirement engineer, change control board, and end-user outperformed (i.e., more than 80% satisfaction level) compared to the existing approaches (i.e., less than 60%). Therefore, automation may help practitioners in an agile environment to manage changes, their effects, and the prioritization process. It can also guide researchers to improve the software’s productivity and quality in this domain.