Tuesday, July 27, 2010

Coffee as a teaching tool

Regular readers will know that I like things coffee and things geek. So I really liked this article I stumbled across today which analyses the production of coffee at Starbucks using standard information system design patterns; Starbucks Does Not Use Two-Phase Commit.

Illustrating abstract architectural concepts using real world processes is actually a very powerful teaching tool; for example, illustrating the concept of a correlation identifier by reference to Starbucks' practice of writing your name on the cup when you order.

It's a simple and effective solution, but I did have a little trouble with it when I was working regularly in the Philippines a few years ago. Filipinos are mostly accustomed to American accents; when I gave my name as Dan almost anything would end up on the cup. So I experimented for a bit until I found a name that the staff would always get right despite my Australian accent; at Starbucks Philippines I am therefore known as "Freddie".

It also reminded me of the Order Cappuccino Use Case that I used to teach how to write Use Cases; that was in South Africa where the "cappuccino with foam or cream" heresy originates.

Order Cappuccino Use Case

Basic Flow
  1. The Customer asks for a cappuccino; the Waiter prompts for Foam or Cream
  2. The Customer requests foam; the Waiter submits the order
  3. The Barista makes the cappuccino
  4. The Waiter collects the order from the Barista and delivers it to the customer
  5. The Customer drinks the cappuccino
  6. The Customer requests the bill; the Waiter delivers the bill
  7. The Customer pays; the Waiter collects the payment
  8. The Waiter returns with the change
  9. The Customer collects the change and the Use Case ends

Alternate Flow (branch at Basic Flow Step 2)

  1. A South African Customer requests Cream; the Use Case ends because that’s not a Cappuccino!

1 comment:

Lrobby99 said...

Good one.