Software Engineering and Game Design

A Comprehensive Approach to Support the Requirements Analyst Before, During and After Requirements Elicitation Interviews

Project Description

Requirements engineering is the set of activities concerned with determining and communicating the expectations for a new or modified product, and the contexts in which it will be used. Requirements elicitation, i.e., the practice of collecting these features, called requirements, is the first of these activities and is recognized as a critical and difficult stage in the development of software systems. Among the available elicitation techniques, interviews with stakeholders are the most commonly used in practice. Normally, they involve two actors: a customer and a requirements analyst; and their goal is to allow the knowledge transfer from the first to the second one so that the analyst can collect precise, correct, and complete requirements. The importance of interviews is widely recognized and many of the factors that might affect the knowledge transfer in interviews have been analyzed. However, a comprehensive approach to improve the effectiveness and the quality of requirements elicitation interviews has not been studied yet. This research aims at filling this gap by providing a set of novel techniques and tools to support the analyst before, during, and after the interview.

The "before support" is concretized in developing a training for students and inexperienced analysts to teach them, with a hands-on approach, how to perform interviews, how to avoid the most common mistakes, and how to recognize ambiguous situations and exploit them to discover hidden knowledge. This part of the research includes also the creation of a course for undergraduate students to allow them to better develop their skills as analysts. The "during support" is a tool-based approach which uses biofeedback and voice analysis to help the analyst during the interview in identifying the increasing level of frustration in the customer, which might cause mistrust in the analyst. Finally, the "after support" consists of a protocol that uses an external observer to analyze recorded interviews to extract additional knowledge from them and possibly to identify additional common mistakes. This research has the potential to dramatically improve the requirements elicitation process, and consequently the software development process. This can lead to better software, thus benefiting the large segment of the population that uses and relies on software.

Project Department

Software Engineering and Game Design

Project Status

Seeking researchers; multiple positions available; preferred majors: computer science, software engineering, social science

Researcher Requirements

Students will be hired to work on the project for a variable number of hours; minimum 10 hours/week

Responsibilities for computing-related majors include:

  • Running interview experiments with external participants
  • Act as requirements elicitation interviewers
  • Analyze the data collected through experiments
  • Work on the correlation between biofeedback and interviewee inputs

Responsibilites for social science majors include:

  • Running interview experiments with external participants
  • Analyze the data collected through experiments
  • Work on the correlation between biofeedback and human emotions

Project Duration

The project begins in January 2018. The end date is variable (the project will end in 2020).


Dr. Paola Spoletini