An iterative and collaborative approach to specify scenarios using natural language - Antonelli, Leandro (2022)
Requirements engineering is one of the most important stages in software development. Errors committed at this stage require a lot of effort to fix in further stages. There are two main strategies to deal with software development: classic and agile. Classic software development relies on an extensive and very detailed specification, while agile development minimizes the effort on requirements specifications, relying on brief descriptions and a running prototype as a means of communication. Before the specification of requirements, there are some preliminary meetings held between the stakeholders and the IT team with the objective of discovering the goal and scope of the application to be developed. The knowledge transferred during these meetings is crucial to provide a context to requirements, no matters whether the approach is classic or agile. We argue that scenarios written in natural language are adequate artifacts to capture this knowledge. This paper proposes an iterative and collaborative approach to describe scenarios. The approach has two main activities: one of them is concerned with the description that stakeholders should perform, while the other provides guidelines to verify and possible improve the scenarios. This paper also presents a prototype tool that helps enforcing these guidelines automatically. This prototype relies on natural language processing. Finally, the paper shows the result of a preliminary evaluation of the proposed approach that indicates its results are promising.