RE teaching activities presented at REET workshops
Bernd Westphal, Albert-Ludwigs-Universität Freiburg, Germany, westphal@informatik.uni-freiburg.de
The target audience for this very small activity are the typical participants of the topic area requirements engineering in our undergraduate introduction to software engineering course [1]. That is, our experience stems from undergraduate students in the second year of an university B.Sc. program in Computer Science who have (we asked!) received none or very little previous exposure to requirements engineering concepts.
The estimation game as we use it does not require specific previous knowledge on the side of the participants, so we can imagine that the activity can be conducted in earlier semesters as well as in later semesters. We conduct the activity in larger groups yet it may as well be applicable in smaller groups and within teaching formats different from our setting (a traditional lecture). What we consider important is that all participants are principally able to look at all other participants during the estimation game (or other means of distributing the results need to be set up).
The activity teaches less of a skill but more of a conception or imagination of the challenges and complexities in practical requirements engineering. The aim is to increase appreciation for the procedures and approaches taught in requirements engineering courses.
The learning goals for our activity are as follows.
The activity is a variant of standard classroom questioning and the use of images from the standard didactics and methods toolbox (cf. [2], [3] for example) and takes the following form:
Lecturer: Oh, by the way, let us play a little estimation game to estimate the extension (in number of pages if printed out) of requirements documents that you may encounter in industry.
Let’s take a simple concrete example. [The example can be anything seemingly small, well imaginable, and sufficiently well understood by the lecturer in case of follow-up questions. We like the automotive domain of which the manufacturer and supplier relation is well known. Good requirements specifications are important because they usually become part of the contract between the two parties. Examples from the automotive domain include the charging subsystem of an electric car (the component between charging station and car battery), or a central locking system, or a tunnel sensor, etc.]
Which extension (number of pages if printed out) would you expect to be handed over from the design department to a supplier?
The estimation game works as follows: I name increasing page numbers, and you raise your hand if you think `that many or more’.
Then call out numbers, and give the audience enough time to decide on each number and to look around how many hands remain raised:
1, 3, 10, 30, 50, 100, 200, 400
Time can be filled by encouraging participants to look around to see (!) other participants’ estimation, or by repeating the game’s rule `that many or more’.
In my experience (recalled from memory) hands start to go down starting with 30 (hence, if students are not hacking the game, we find our hypothesis on the reality of our students stated below supported). Starting with number 100 the latest, we observe signs of hesitation whether to lower the hand, considering the thought that this is just a ridiculous number to make fun of the audience. Usually, only two to three hands (of 20 to 30 students) remain raised on number 400, presumably students with prior experience who we regularly have in our audience.
Okay, aha, 400. Look around again on how few hands remain raised.
Then break the tension:
Well, this is what I have been told by a member of such a department: 400 pages. On only this single car component.
Rhetorical follow-up questions or remarks:
How many hours does it take to write this document? How likely are changes during this time? How many people does it take? Will it be the same persons during the whole time?
And here we are: It is absolutely not uncommon that a statement on page 127 plainly contradicts a statement on page 301. Weeks may have passed between writing these statements, not to talk about changes.
Okay? Keep this image in mind - this is the context that we are working for here in this course, in this topic area.
Alternatively, one may ask one of the students with still raised hand how they come to this bold estimation, so that they can share some of their previous experience.
As widely observed in the literature, one challenge of teaching requirements engineering is that many of the concepts taught do not connect well to the previous experience of undergraduate students. The observations reported in the literature match my experience in teaching. In particular with the topic area requirements engineering, there are times where it feels like there is a “glass wall” separating the lecturer and the audience. There are points in time during our lectures where we look into many “empty stares” (not of the tired, sleepy, strained type but of the being-puzzled and being-thinking type) and we sense “thought bubbles” above heads reading: “What on earth is this all good for?”, “How can this be so complicated?”, “Who would be so stupid to write a requirements document with contradictions in it?” Even at points in time where the answers have principally just been given.
We conjecture that this (reproducible) effect is related to an observation also found in [4]. Namely, that the first and second year of undergraduate studies may consist of programming courses (with tasks that can be solved, colloquially put, in an afternoon), small projects without much need for proper requirements documents, and lectures with exercises. So in most cases, requirements occurring in the context of the study plan are small, and are written by domain experts who know exactly what they want and who know how to specify as precisely as possible, e.g., in order to ease grading and marking. Hence in the early years of their studies, a majority of students does not develop a conception for the reality of requirements engineering; which includes large documents, which includes (constantly changing teams of) multiple persons working on the documents, which includes requirements projects that take weeks or months.
Rather than just reading out survey results and telling the fact that requirements documents can grow large (as another fact in a long list of other facts), we were looking for an educational instrument that is more effective towards creating a common conception of requirements engineering reality.
The activity does not assume any previous knowledge of participants (see above); that’s the point. The activity aims at providing shared knowledge that is then “previous” for everybody during the rest of the course.
The activity has not changed in our context, yet one may vary the concrete example based on new input from practitioners.
Unfortunately, we did not record the numbers of raised hands for each offered estimation (partly because counting raised hands would break the flow of the activity) and can only recall from memory that the proportions and final numbers of raised hands do not deviate much between different years.
Investigating the concrete figures and possibly interviewing some students on a voluntary basis would be helpful to extend the set of known, typical misconceptions and subjective theories that are held by students during different phases of their studies. And then develop and evaluate activities that address these misconceptions.
This work is licensed under a Creative Commons Attribution 4.0 International License.