Quality of Just-in-Time Requirements: Just-Enough and Just-in-Time

Petra Heck

Promotor: Prof.dr. A. van Deursen (TUD)
Copromotor: Dr. A.E. Zaidman (TUD)
Technische Universiteit Delft
Date: 11 March 2016, 10:00
Thesis: PDF

Summary

In this thesis, we have investigated the main research question: What is quality of Just-in-Time (JIT) Requirements? JIT requirements are the opposite of up-front requirements. JIT requirements are not analyzed or defined until they are needed meaning that development is allowed to begin with incomplete requirements.

We started our analysis by investigating one specific format of JIT requirements: open source feature requests. We discovered that in open source projects there is the problem of many duplicate feature requests. We found seven different root causes for those duplicates. Analyzing the duplicates has also led to recommendations for manual search and creation of feature requests. Furthermore we have indicated possible tool support to avoid duplicate feature requests.

A possibility for tool support is to visualize so-called feature request networks. For this one needs to have the links between feature requests. We show that is possible to detect horizontal traceability links between feature requests by using a Vector Space Model with TF-IDF as a weighing scheme. We have determined the optimal pre-processing steps for the feature requests to be used for our text-based analysis. Using a more advanced technique like Latent Semantic Analysis takes significantly more processing time without yielding better results in the three open source projects that we have included in our experiment.

Then we took a step back to look at quality criteria for JIT requirements in general. We developed a framework for those quality criteria and constructed a specific list of quality criteria for open source feature requests. We used agile user stories to indicate how the framework could be customized for other types of JIT requirements. We conducted interviews with agile practitioners to evaluate our framework. After their positive feedback we conducted a case study in three open source projects in which we used our framework to score the quality of feature requests. This case study also led to recommendations for practitioners working with feature requests.

We conclude this thesis with a broader perspective on JIT requirements quality by presenting the results of a systematic literature review on quality criteria for agile requirements. This review resulted in a list of 28 quality criteria for JIT requirements, recommendations for practitioners working on quality assessment of agile requirements and a research agenda on quality of agile requirements.

To conclude we claim that the quality of Just-in-Time Requirements can be characterized as ‘Just-in-Time and Just-Enough Quality’. Our framework can be used to define what Just-in-Time and Just-Enough mean for the specific JIT environment.