Session 20

Extreme Questions and Answers


Software Systems

Exercise 29: Improving the Textbook


  1. To understand better the principles of direct manipulation.


Work in same teams as you did for Exercise 28.

Shneiderman opens Chapter 7 with this sentence: "When designers cannot create appropriate direct manipulation strategies, menu selection and form fill-in are attractive alternatives."

Okay. When exactly is that? So I thumb back through Chapter 6, and forward through Chapter 7, looking for a section titled "When Designers Cannot Use Direct Manipulation Effectively", or some such. No luck. I guess I'll send e-mail to the author and ask him to fix this problem in his fourth edition.

In the meantime, what am I to do? Why, I'll ask my bright and eager 171 students to help me out! As a team, draft an outline for the missing section. Your section may consist primarily of a bullet list of points, but you should provide some introductory and summary text for the section, too. And the bullet list should have some real "meat" to it, too. Oh, and tell me where you'd place your new section, either in Chapter 6 or Chapter 7. A page number should suffice.


  1. Your group submits its new section in writing.
  2. We discuss the limits of direct manipulation interfaces.

Summary of Exercise 29

First of all, what does Shneiderman mean when he says "When designers cannot create appropriate direct manipulation strategies..."? Should we take him literally?

We shouldn't take Shneiderman's use of "cannot" out of context--notice that he uses it conjunction with "appropriate". So, what he really means is, "What happens when we don't think direct manipulation is the best approach?". Design is almost always a matter of choices made along a continuum. We could always force ourselves down the continuum to some absurd DM metaphor.

And that means it's even more important to have some concrete guidance on how to recognize when the big crossover from good uses to bad uses happens--and why!

Shneiderman already has a couple of sections that might satisfy my needs:

Are these sections enough? If not, why not? My claim: these sections may be useful summaries, but they do not provide readers with enough concrete guidance for knowing when a direct manipulation interface is a bad idea.

Here are some suggestions that students make:

Where would you put this new section? Common answers are at the end of Chapter 6, the beginning of Chapter 7, and near the front of Chapter 6. How can we tell which is best? (Writing a book is hard!)

Exercise 30: Are You Gonna Get Extreme?


  1. To explore the idea of extreme programming as a lightweight methodology for developing software systems.
  2. To consider the relative need for high-level structure in a software development process.


Work in teams of three or four people based on assignment in class.


  1. Your group submits its brief and preferences.
  2. We discuss as a class whether XP (1) is really cool and is the wave of the future, (2) is really silly and is short-term fad, or (3) is something else.

Summary of Exercise 30

What does the "extreme" in "extreme programming" mean?

What are the important points in a jargon-free description of XP?

What do you like?

What do you dislike? No one would actually say, since y'all seemed to not want to disagree with me--even though you don't really know what I think about this yet. :-) Here is what passed for criticism:

Eugene Wallingford ==== ==== March 22, 2001