6533b824fe1ef96bd127fe00

RESEARCH PRODUCT

Requirements elicitation methods based on interviews in comparison: A family of experiments

Silvia RuedaDamiano DistanteJose Ignacio Panach

subject

Process managementComputer sciencebusiness.industrySoftware requirements specification020207 software engineeringFunctional requirement02 engineering and technologyRequirements elicitationFamily of experimentsPoor qualityComputer Science ApplicationsSoftware0202 electrical engineering electronic engineering information engineering020201 artificial intelligence & image processingbusinessJoint application designSoftwareInformation SystemsPaper prototyping

description

Abstract Context There are several methods to elicit requirements through interviews between an end-user and a team of software developers. The choice of the best method in this context is usually on subjective developers’ preferences instead of objective reasons. There is a lack of empirical evaluations of methods to elicit requirements that help developers to choose the most suitable one. Objective This paper designs and conducts a family of experiments to compare three methods to elicit requirements: Unstructured Interviews, where there is no specific protocol or artifacts; Joint Application Design (JAD), where each member of the development team has a specific role; Paper Prototyping, where developers contrast the requirements with the end-user through prototypes. Method The experiment is a between-subjects design with next response variables: number of requirements, time, diversity, completeness, quality and performance. The experiment consists of a maximum of 4 rounds of interviews between students that play the role of developers and an instructor that plays the role of client. Subjects had to elaborate a requirements specification document as results of the interviews. We recruited 167 subjects in 4 replications in 3 years. Subjects were gathered in development teams of 6 developers at most, and each team was an experimental unit. Results We found some significant differences. Paper Prototyping yields the best results to elicit as many requirements as possible, JAD requires the highest time to report the requirements and the least overlapping, and Unstructured Interviews yields the highest overlapping and the lowest time to report the requirements. Conclusions Paper Prototyping is the most suitable for eliciting functional requirements, JAD is the most suitable for non-functional requirements and to avoid overlapping, Unstructured Interviews is the fastest but with poor quality in the results.

https://doi.org/10.1016/j.infsof.2020.106361