Refinement and resolution of just-in-time requirements in open source software and a closer look into non-functional requirements
Published on Jun 1, 2019in Journal of Industrial Information Integration
· DOI :10.1016/J.JII.2018.03.001
Abstract Just-in-time (JIT) requirements are characterized as not following the traditional requirement engineering approach, instead focusing on elaboration when the implementation begins. In this experience report, which is an invited extension of a recently published work , we first analyze both functional and non-functional JIT requirements from three successful open source software (OSS) projects, including Firefox, Lucene, and Mylyn, to explore the common activities that shaped those requirements. We identify a novel refinement and resolution process that all studied requirements followed from their inception to complete realization and subsequent release. Noticing some interesting phenomena more specific to non-functional requirements (NFRs), we conduct a second study examining 50 NFRs from the aforementioned three subject systems. This study reveals a slightly different process followed in the refinement and resolution of NFRs. It also provides further evidence that NFR refinement and resolution activities focus more on implementation refinement rather than requirement elaboration in the studied systems. Our research provides new insights into how OSS project teams create quality features from simple initial descriptions of JIT requirements, uncovers activities more particular to JIT requirements engineering (RE) for NFRs, and opens new avenues for further research in the emerging JIT RE field.