A New Use Case Standard – The Automatic Coffee Machine (ACM)

By Gerd Waloszek

To overview of DAU Stories


Many software companies follow the user-centered design approach and employ cases as method for describing usage scenarios. The automatic teller machine (ATM) is often used for demonstrating use cases (it's sort of a use case for use cases...). In this article, I would like to propose one more "use case" for uses cases, the automatic coffee machine. Let's use "ACM" as a shortcut for it.

In addition, I will propose two extensions to the use case methodology: use case instances and thoughts of persons (as revealed by thinking aloud). Standard use cases describe more or less an "idealized" interaction between a system and a user. Using object-oriented programming as an analog, this would be the "class" or the "template," which we copy use case instances from. Use case instances, on the other hand, are "real" usage situations that are described by the same formalism; analogously to instances in object-oriented programming, the template's data are "overwritten" by the real behavior. In addition, we will add the person's thoughts to the scheme.

Let's begin with the "ideal" use case for the ACM:

System (Automatic Coffee Machine, ACM)
Puts a cup of suitable size under the tap of the coffee machine  
Throws in the required number of chips  
  Registers the number of chips
Selects the kind/size of coffee by pressing the respective button  
  Performs some complex internal calculations and, based on these, releases the respective amount and kind of coffee into the cup

>> For more cups: Return to start

Grabs the cup and goes to his or her table, hoping not to spill too much coffee...

  Sighs after so much work...

For simplicity reasons, I leave out special cases and other odd happenings. Now let me replace this "ideal" use case by a real one.

The Story

For creating the "real" use case, let me develop a scenario and present a persona, even though both terms are banned from UCD. The persona is Astrid, my wife, aged 39 (no woman gets older than 39). Her hobby is taking lots of photos, and her goal is not to look stupid in front of an ACM.

Poulet de Bresse

Figure: The famous poulet de Bresse

Here comes the scenario: Every year, my wife and I stop at the "Aire du Poulet de Bresse" restaurant on the French autoroute A39, because there they serve very tasty Bressan poulets (broilers). Each meal is finished with a large cup of coffee, for which each of us receives two "jetons" at the cashier. Having finished the meal with a frommage blanc (tasty white cheese with cream), we urgently need a large cup of coffee. Usually, my wife goes to the coffee machine (ACM) to get them for us. The rest of the story will now be presented in the form of an use case instance:

Persona: Astrid
System: French Automatic Coffee Machine (ACM) at Autoroute Restaurant "Aire du Poulet de Bresse"
Puts a large coffee cup under the tap of the coffee machine  
Throws in one jeton (chip)  
  Registers the number of jetons
By accident, presses the button for a large cup before entering the second jeton  
  Performs some complex internal calculations and – oops– fills the cup as if a large cup had been selected

Thinks: Thanks, that saves me one jeton!

Puts a second large coffee cup under the tap of the coffee machine

Throws in two jetons  
  Registers the number of jetons
Presses the button for a large cup  
  Nothing happens (maybe the machine was busy with mourning about its mistake...)

Thinks: That's the immediate punishment! Now I have only one jeton left for a small cup. But before I give up, I will try to retrieve the jetons, even though I know that this rarely works...

Presses the button for returning stuck jetons

  The button works (seems to be an exception) and – returns three jetons!

Now Astrid has four jetons!

Thinks: Now I have four jetons again and already one large cup of coffee. I need two jetons for a second large cup, what shall I do with the remaining two jetons? Shall I return them, give them away, or leave them on the table? I think I will use them for our return trip


Grabs the two cups and returns to our table, smiling, and hoping not to spill too much coffee...

  Smiles internally because it made one more user happy...

Luckily, we did not forget on our return trip that we had two jetons left. For "safety" reasons, however, we ordered two small cups of coffee at the cashier...

Astrid      Poulet de Bresse
Figure: Astrid in pleasant anticipation of the poulet de Bresse   Figure: The landmark of the Aire du Poulet de Bresse

The Conclusion

The conclusion, or "moral" that I draw from this story is that users not always behave like machines, particularly ACMs, expect them to do. From a methodological point of view, we can state that extending a general use case to a particular use instance and adding the user's thoughts provided us with a more intimate understanding of the man-machine interaction at hand. In addition, the ACM is a well known machine that has the potential to provide a new standard in demonstrating use cases.




Originally Published: 08/22/2006 - Last Revision: 01/31/2009

An den Anfang   Home

Gerd Waloszek
gerd (at) waloszek (dot) de


made by walodesign on a mac!