Abstract
User stories are a widely adopted requirements notation in agile development. Yet, user stories are too often poorly written in practice and exhibit inherent quality defects. Triggered by this observation, we propose the Quality User Story (QUS) framework, a set of 13 quality criteria that user story writers should strive to conform to. Based on QUS, we present the Automatic Quality User Story Artisan (AQUSA) software tool. Relying on natural language processing (NLP) techniques, AQUSA detects quality defects and suggest possible remedies. We describe the architecture of AQUSA, its implementation, and we report on an evaluation that analyzes 1023 user stories obtained from 18 software companies. Our tool does not yet reach the ambitious 100 % recall that Daniel Berry and colleagues require NLP tools for RE to achieve. However, we obtain promising results and we identify some improvements that will substantially improve recall and precision.
Highlights
User stories are a concise notation for expressing requirements that is increasingly employed in agile requirements engineering [7] and in agile development
We describe the architecture of Automatic Quality User Story Artisan (AQUSA), its implementation, and we report on an evaluation that analyzes 1023 user stories obtained from 18 software companies
We presented a holistic approach for ensuring the quality of agile requirements expressed as user stories
Summary
User stories are a concise notation for expressing requirements that is increasingly employed in agile requirements engineering [7] and in agile development. We build on the QUS framework and present a comprehensive, tool-supported approach to assessing and enhancing user story quality. Our previous paper [35] proposed the QUS framework for improving user story quality and introduced the concept of the Automated Quality User Story Artisan (AQUSA) tool. Note that we deviate from Cohn’s terminology as presented in the introduction, using the well known means end [48] relationship instead of the ad hoc goal reason Observe that this conceptual model includes only aggregation relationships. Because of this difficulty in conceptualizing, we choose to use aggregation relationships because it implies a weaker ontological commitment
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have