Seilevel
Seilevel Home
Back to Blog Home - Requirements Defined

Tuesday, October 21, 2008

RE'08 Follow-up: Teaching About Unknown Software Requirements

At the REET08 workshop, Ray Barnes presented a paper “Teaching the Unknown and the Unknowable in Requirements Engineering Education” written by himself, Donald Gause, and Eileen Way.

In their paper, they talk about the need to accept that the "unknown" and "unknowable" exist in requirements.

Confusing? That is - "You don't know what you don't know."

And while it is challenging for a requirements engineer to deal with, it is still a very necessary skill. Their paper is specifically focused on teaching students about the uncertainty and how to work with it. They have the students do “real world” problems and give them specific techniques to deal with the uncertainty. The students seemed to experience the expected frustrations of not having all the answers in these problems.

I thought it was interesting that when they taught a specific technique to the students (through lecture), the students still didn’t apply it, even amidst their frustrations. The paper gives an example of teaching students about Toulmin’s model of logical argumentation multiple times. Finally the instructor helped 1 student use it, and later that student offered to present it to the class. It wasn’t until this last step - the student explaining the concept and value - that the rest of the students really got it.

That’s probably pretty typical of learning in general, both in that they have to experience to understand it and peers can be very influential in teaching. In fact, one of our favorite training games is called Each Teach from Thiagi, where we split the class up and lecture them on different topics, then ask them to teach the topics to one another. We have had outstanding success in students’ perceived understanding and actual understanding of the topics.

I found it to be an interesting talk and had some questions that came out of it:

  1. How does unknowable relate to the untestable in requirements? There was an INCOSE paper that talked about the idea some requirements cannot be written in a testable format, so you can do risk analysis on these to mitigate the issue. Similarly, you might identify the areas that seem most unknown in your requirements and focus more time on those specifically. Or weight your risks and priorities accordingly.

  2. How do you document the unknown or unknowable? If you have an area that you know is still fully undiscovered or in some way vague, it should still be tracked. Perhaps in an RM tool, or even in an issue tracking list as things to be further discovered. And certainly a risk list, as per point 1 above. Ideally you would document as much as you do know and flag it in some way for both follow up and just as a warning.

  3. Do other industries have this issue with the unknown? Surely it’s not just systems and software, so what do other industries do to deal with the unknown? Probably a lot around risk analysis, but this is just a guess.

  4. In teaching something like this topic of uncertainty – both in awareness and the skill to navigate it - how much of it is something that just has to be experienced in order to learn it? There isn’t always a black and white answer to how to approach the unknown. My thought is it’s probably 95% experience, with 5% teaching them helpful tools to try out.

  5. When doing the real world exercises, can you write scripts for the instructors to use in role playing on how to be vague? I haven’t really tried this formally, but it sounds fun. And hard! In fact, related to the unknown problem, how can you predict what the students will ask in order to have pre-scripted responses?

  6. I think one of the most important things in an experiential exercise is to debrief afterwards. I’m not sure if they did this here, but it wouldn’t surprise me. You put students in what is probably a frustrating exercise, and afterwards you need to talk about the experience, let them explain what was hard, and have them explain what they learned.

Labels: , ,

Requirements Defined Newsletter Bookmark and Share

2 Comments:

Anonymous Anonymous said...

1) Regarding item 6.: When I taught the class the scheduled time was 6-9pm. My typical departure time was 10:00-11:30pm, after student discussions, and debates and ummm ... some interrogations. I guess that is debriefing :)

As far as "vagueness role-playing" goes -- yes I certainly did it and it was quite fun, albeit a little harrowing at times, wondering what the students thought my actual motive was. Had to convince them it was not about tormenting for the sheer joy of it. But I always did it with a smile and the encouragement that "yes, this is what you will experience". The paper reference to Stafford Beer was to suggest some things can only become known through experience, and in a rather unpredictable way.

So I think your suggestion is correct: Students need to be "allowed an experience", and THEIR explanations (sense making), NOT mine, were critical to learning.

2) Here is what I think is an extremely interesting literature reference missed in our REET'08 paper. Got this from Michael Jackson's keynote address at RE'08:

Vincenti, W.G. What Engineers Know and How They Know it: Analytical Studies from Aeronautical History. Baltimore:
Johns Hopkins Press, 1990.

Some quotes below are straight out of Jackson's RE'08 slides (all taken from Vincenti):

“In radical design, how the device should be arranged or even how it works is largely unknown. The designer has never seen such a device before …has no presumption of success: the problem is to design something that will function well enough to warrant further development.”

"... in normal design ... the engineer ... knows at the outset how the device in question works, what are its customary features, and that, if properly designed along such lines, it has a good likelihood of accomplishing the desired task."


3) Another REET08 attendee, Gil Regev, suggested we explore concepts of tacit and implicit organizational knowledge - see Polanyi, "The Tacit Dimension" and Nonaka and Takeuchi. "The Knowledge Creating Company".

I am familiar with Nonaka et al.. But in my view their contribution is more about distinctions of the known or knowable across a continuum, from innate knowledge like physical or creative/artistic skills and talents, not easily verbalized (like multiple intelligences - athletic skill versus verbal/written), to formalized, explicated scientific knowledge.

My interest is more about what CAN be known, and what is beyond knowable. How do we manage such a feat of determining knowable versus unknowable, or teach it? Or are we really just always dealing with different forms of the knowable (knowable and known or knowable and unknown), all along? Because to claim we deal with the unknowable may be inherently irrelevant, illogical or impossible, particularly in a discipline such as software design. In other words it might just be a waste of time.

But do we tend to focus on knowledge versus the other side - ignorance? That is also a problem. Aren't the unknowable and acceptance of own ignorance at the core of risk analysis? Even Alan Greenspan, an idol from my days of studying economic policy analysis, is "stunned" by recent events.

Well, these are the questions I'd like to pursue. Thanks for the great comments here.

10/23/2008 11:43 PM  
Anonymous Anonymous said...

Trying to comment again here ... hope I'm now properly registered :) I appreciate this blog and would like to share some further thoughts.

The experience teaching the class for the first time motivated me to write this paper with Eileen and Don. My challenge was to explain concepts involving great uncertainty, such as future demand for a product to Eng. students who were not deeply experienced with econometric forecasting. But that was not a fault with them or their education, particularly. Look at Alan Greenspan's testimony this week - even he was "stunned" at the failure of formerly reliable econ. models. So these are the types of difficulties faced, and the experience is valuable. There was also a simulation of events with difficult probability distributions (i.e. machine failure rates and Weibull distributed variables).

So there were plenty of unknowns an potentially unknowables for me as well, and it was daunting. But then the realization that I could use the heuristics suggested by Don Gause for exploring reqs. ambiguity (i.e. Toulmin). I felt these were also very much aimed at dealing with unknowns and unknowables, and so on.

I think Joy hit on a very important point with what she calls debriefing, and I see as follow-up/follow-through, or the "Why should students care about experiencing this struggle with the unknown/unknowable for anything other than a good grade in this class?"

I think not only allowing the students to experience the unknown and unknowable personally, but also encouraging them to explain it to me - the instructor - was critical to success. The process of their own sense-making of the experience - that is what I tried to grade them on (also not easy and maybe a good topic for further study regarding guidelines). It was not so much about whether they got the "right" answer. In some cases it was not possible to obtain a single "right" answer. But their sense making of the experience was the challenge and the reward, as a teacher.

Finally, what I think is a valuable literature reference missed in our REET'08 paper. Got this from reading Michael Jackson's keynote address slides from RE'08:

Vincenti, W.G. What Engineers Know and How They Know it: Analytical Studies from Aeronautical History. Baltimore:
Johns Hopkins Press, 1990.

Quotes below are straight out of Jackson's RE'08 slides (all quotes from Vincenti):

“In radical design, how the device should be arranged or even how it works is largely unknown. The designer has never seen such a device before …has no presumption of success: the problem is to design something that will function well enough to warrant further development.”

"... in normal design ... the engineer ... knows at the outset how the device in question works, what are its customary features, and that, if properly designed along such lines, it has a good likelihood of accomplishing the desired task."

Thanks for this great blog.

Ray Barnes

10/25/2008 12:11 PM  

Post a Comment

<< Home