skip to main content


Title: Teaching requirements elicitation interviews: an empirical study of learning from mistakes
Interviews are the most widely used elicitation technique in requirements engineering (RE). However, conducting a requirements elicitation interview is challenging. The mistakes made in design or conduct of the interviews can create problems in the later stages of requirements analysis. Empirical evidence about effective pedagogical approaches for training novices on conducting requirements elicitation interviews is scarce. In this paper, we present a novel pedagogical approach for training student analysts in the art of elicitation interviews. Our study is conducted in two parts: first, we perform an observational study of interviews performed by novices, and we present a classification of the most common mistakes made; second, we utilize this list of mistakes and monitor the students’ progress in three set of interviews to discover the individual areas for improvement. We conducted an empirical study involving role-playing and authentic assessment in two semesters on two different cohorts of students. In the first semester, we had 110 students, teamed up in 28 groups, to conduct three interviews with stakeholders. We qualitatively analysed the data to identify and classify the mistakes made from their first interview only. In the second semester, we had 138 students in 34 groups and we monitored and analysed their progress in all three interviews by utilizing the list of mistakes from the first study. First, we identified 34 unique mistakes classified into seven high-level themes, namely question formulation, question omission, interview order, communication skills, analyst behaviour, customer interaction, teamwork and planning. In the second study, we discovered that the students struggled mostly in the areas of question formulation, question omission and interview order and did not manage to improve their skills throughout the three interviews. Our study presents a novel and repeatable pedagogical design, and our findings extend the body of knowledge aimed at RE education and training by providing an empirically grounded categorization of mistakes made by novices. We offer an analysis of the main pain points in which instructors should pay more attention during their design and training.  more » « less
Award ID(s):
1718377
NSF-PAR ID:
10105611
Author(s) / Creator(s):
; ; ; ;
Date Published:
Journal Name:
Requirements Engineering
ISSN:
0947-3602
Format(s):
Medium: X
Sponsoring Org:
National Science Foundation
More Like this
  1. [Context] Interviews are the most widely used elicitation technique in requirements engineering. However, conducting effective requirements elicitation interviews is challenging, due to the combination of technical and soft skills that requirements analysts often acquire after a long period of professional practice. Empirical evidence about training the novices on conducting effective requirements elicitation interviews is scarce. [Objectives] We present a list of most common mistakes that novices make in requirements elicitation interviews. The objective is to assist the educators in teaching interviewing skills to student analysts. [Research Method] We conducted an empirical study involving role-playing and authentic assessment with 110 students, teamed up in 28 groups, to conduct interviews with a customer. One researcher made observation notes during the interview while two researchers reviewed the recordings. We qualitatively analyzed the data to identify the themes and classify the mistakes. [Results and conclusion] We identified 34 unique mistakes classified into 7 high level themes. We also give examples of the mistakes made by the novices in each theme, to assist the educationists and trainers. Our research design is a novel combination of well-known pedagogical approaches described in sufficient details to make it repeatable for future requirements engineering education and training research. 
    more » « less
  2. [Context and motivation] Role-playing offers experiential learning through the simulation of real-world scenarios; for this reason, it is widely used in software engineering education. In Requirements Engineering, role-playing is a popular way to provide students hands-on experience with requirements elicitation interviews. [Problem] However, managing a role-playing activity to simulate requirements elicitation interviews in a class is time-consuming, as it often requires pairing students with student assistants or fellow classmates who act as either customers or requirements analysts as well as creating and maintaining the interview schedules between the actors. To make the adoption of role-playing activities in a class feasible, there is a need to develop a solution to reduce instructors’ workload. [Principal ideas] To solve this problem we propose the use of VIrtual CustOmer (VICO), an intent-based, multimodal, conversational agent. VICO offers an interview experience comparable to talking to a human and provides a transcript of the interview annotated with the mistakes students made in it. The adoption of VICO will eliminate the need to schedule interviews as the students can interact with it in their free time. Moreover, the transcript of the interview allows students to evaluate their performance to refine and improve their interviewing skills. [Contribution] In this research preview, we show the architecture of VICO and how it can be developed using existing technologies, we provide an online rule-based initial prototype and show the practicality and applicability of this tool through an exploratory study. 
    more » « less
  3. Background and context. “Explain in Plain English” (EiPE) questions ask students to explain the high-level purpose of code, requiring them to understand the macrostructure of the program’s intent. A lot is known about techniques that experts use to comprehend code, but less is known about how we should teach novices to develop this capability. Objective. Identify techniques that can be taught to students to assist them in developing their ability to comprehend code and contribute to the body of knowledge of how novices develop their code comprehension skills. Method. We developed interventions that could be taught to novices motivated by previous research about how experts comprehend code: prompting students to identify beacons, identify the role of variables, tracing, and abstract tracing. We conducted think-aloud interviews of introductory programming students solving EiPE questions, varying which interventions each student was taught. Some participants were interviewed multiple times throughout the semester to observe any changes in behavior over time. Findings. Identifying beacons and the name of variable roles were rarely helpful, as they did not encourage students to integrate their understanding of that piece in relation to other lines of code. However, prompting students to explain each variable’s purpose helped them focus on useful subsets of the code, which helped manage cognitive load. Tracing was helpful when students incorrectly recognized common programming patterns or made mistakes comprehending syntax (text-surface). Prompting students to pick inputs that potentially contradicted their current understanding of the code was found to be a simple approach to them effectively selecting inputs to trace. Abstract tracing helped students see high-level, functional relationships between variables. In addition, we observed student spontaneously sketching algorithmic visualizations that similarly helped them see relationships between variables. Implications. Because students can get stuck at many points in the process of code comprehension, there seems to be no silver bullet technique that helps in every circumstance. Instead, effective instruction for code comprehension will likely involve teaching a collection of techniques. In addition to these techniques, meta-knowledge about when to apply each technique will need to be learned, but that is left for future research. At present, we recommend teaching a bottom-up, concrete-to-abstract approach. 
    more » « less
  4. One of the main skills of engineers is to be able to solve problems. It is generally recognized that real-world engineering problems are inherently ill-structured in that they are complex, defined by non-engineering constraints, are missing information, and contain conflicting information. Therefore, it is very important to prepare future engineering students to be able to anticipate the occurrence of such problems, and to be prepared to solve them. However, most courses are taught by academic professors and lecturers whose focus is on didactic teaching of fundamental principles and code-based design approaches leading to predetermined “right” answers. Most classroom-taught methods to solve well-structured problems and the methods needed to solve ill-structured problems are strikingly different. The focus of our current effort is to compare and contrast the problem solving approaches employed by students, academics and practicing professionals in an attempt to determine if students are developing the necessary skills to tackle ill-structured problems. To accomplish this, an ill-structured problem is developed, which will later be used to determine, based on analysis of oral and written responses of participants in semi-structured interviews, attributes of the gap between student, faculty, and professional approaches to ill-structured problem solving. Based on the results of this analysis, we will identify what pedagogical approaches may limit and help students’ abilities to develop fully-formed solutions to ill-structured problems. This project is currently ongoing. This work-in-progress paper will present the study and proposed methods. Based on feedback obtained at the conference from the broader research community, the studies will be refined. The current phase includes three parts, (1) problem formulation; (2) protocol development; and (3) pilot study. For (1), two different ill-structured problems were developed in the Civil Engineering domain. The problem difficulty assessment method was used to determine the appropriateness of each problem developed for this study. For (2), a protocol was developed in which participants will be asked to first solve a simple problem to become familiar with the interview format, then are given 30 minutes to solve the provided ill-structured problem, following a semi-structured interview format. Participants will be encouraged to speak out loud and also write down what they are thinking and their thought processes throughout the interview period. Both (1) and (2) will next be used for (3) the pilot study. The pilot study will include interviewing three students, three faculty members and three professional engineers. Each participant will complete both problems following the same protocol developed. Post-interview discussion will be held with the pilot study participants individually to inquire if there were any portions of the tasks that are unclearly worded or could be improved to clarify what was being asked. Based on these results the final problem will be chosen and refined. 
    more » « less
  5. Flexible classroom spaces, which have movable tables and chairs that can be easily rearranged into different layouts, make it easier for instructors to effectively implement active learning than a traditional lecture hall. Instructors can move throughout the room to interact with students during active learning, and they can rearrange the tables into small groups to facilitate conversation between students. Classroom technology, such as wall-mounted monitors and movable whiteboards, also facilitates active learning by allowing students to collaborate. In addition to enabling active learning, the flexible classroom can still be arranged in front-facing rows that support traditional lecture-based pedagogies. As a result, instructors do not have to make time- and effort-intensive changes to the way their courses are taught in order to use the flexible classroom. Instead, they can make small changes to add active learning. We are in the second year of a study of flexible classroom spaces funded by the National Science Foundation’s Division of Undergraduate Education. This project asks four research questions that investigate the relationships between the instructor, the students, and the classroom: 1) What pedagogy do instructors use in a flexible classroom space? 2) How do instructors take advantage of the instructional affordances (including the movable furniture, movable whiteboards, wall-mounted whiteboards, and wall-mounted monitors) of a flexible classroom? 3) What is the impact of faculty professional development on instructors’ use of flexible classroom spaces? and 4) How does the classroom influence the ways students interpret and engage in group learning activities? In the first year of our study we have developed five research instruments to answer these questions: a three-part classroom observation protocol, an instructor interview protocol, two instructor surveys, and a student survey. We have collected data from nine courses taught in one of ten flexible classrooms at the University of Michigan during the Fall 2018 semester. Two of these courses were first-year introduction to engineering courses co-taught by two instructors, and the other seven courses were sophomore- and junior-level core technical courses taught by one instructor. Five instructors participated in a faculty learning community that met three times during the semester to discuss active learning, to learn how to make the best use of the flexible classroom affordances, and to plan activities to implement in their courses. In each course we gathered data from the perspective of the instructor (through pre- and post-semester interviews), the researcher (through observations of three class meetings with our observation protocol), and the students (through conducting a student survey at the end of the semester). This poster presents qualitative and qualitative analyses of these data to answer our research questions, along with evidence based best practices for effectively using a flexible classroom. 
    more » « less