Supplementary Material for: On the Challenges to Documenting Requirements in Agile Software Development: A Practitioners' Perspective
Description
Abstract: Agile Software Development (ASD) is a iterative and incremental methodology that seeks to speed up deliveries. In this methodology surrounded by rapid changes, documenting requirements becomes more arduous, culminating in the emergence of the technical debt problem. In this work, we have surveyed 55 practitioners to identify practices and techniques used to perform software requirements documentation in ASD teams and their perceptions regarding their documentation processes and their challenges. Our main findings were that user stories are the most used techniques by practitioners to document requirements and that rework and lack of knowledge are the main consequences of faulty documentation. In addition, techniques such as code refactoring, documentation refinement meetings, and template review are adopted at multiple development phases to deal with problematic documentation. Lastly, participants reported the importance of having a requirements expert to improve the documentation process and their uncertainty about the sufficiency of their current requirements documentation. Our work corroborates other works that affirm there is a growing problem of technical debt in the documentation of ASD teams and helps to create awareness about the lack of habits of documenting and keeping up-to-date software requirements in agile projects.