Using Conceptual Models in Agile Software Development: A Possible Solution to Requirements Engineering Challenges in Agile Projects - Gupta, Abhimanyu; Poels, Geert; Bera, Palash (IEEE access, 2022)
Studies on requirements engineering with Agile methods for software development have shown difficulties in managing the quality of the requirements and communicating with users. Some of these studies have proposed conceptual modeling as a solution to these problems. However, the effort that is required to create conceptual models conflicts with Agile values. In this paper, we propose an approach for using conceptual models in projects while adhering to Agile principles. This approach focuses on projects in which requirements are expressed as user stories that are the main artifacts of the requirements used for software development with Agile methods. First, the paper presents a literature review in which we have systematically searched for the challenges to requirements engineering with Agile methods. Next, we report on a survey study in which we interviewed 16 experts in the Agile methodology to confirm the identified challenges and find new ones that are not covered in the literature. Based on a thematic analysis of the challenges, we argue that most of them map to the two main purposes of using conceptual models in software development: improving communication and understanding requirements. To effectively use conceptual models in projects that use the Agile methodology, several conditions must be met, which we make explicit in the paper. The paper ends by illustrating how these conditions can be met demonstrating the models that can be automatically generated from a given set of user stories. This demonstration was subsequently used to obtain feedback from the experts on the perceived benefits of conceptual models in addressing the challenges of requirements engineering.