From Hamburgers to Architecture: The Role of Analogy in Explaining Concepts

From Hamburgers to ArchitectureYesterday, I attended the tutorial on Pattern-Oriented Software Architecture: A Pattern Language for Distributed Computing by Doug Schmidt. While explaining a pattern sequence, he used an analogy of ordering hamburgers to explain two different ways of communicating in distributed systems. At McDonald’s, when a customer orders, the employee enters the request at the register, reaches back to the “cache” of precooked hamburgers kept warm under a heat lamp, and delivers it to the customer; the interaction is an example of “synchronous” communication. At Wendy’s, when a customer orders, the employee enters the request at the register for a hamburger cooked to order, gives the customer a token and continues to serve the next customer in line; the interaction is an example of “asynchronous” communication. After a certain amount of time the customer might go back to the counter and ask if the order is ready (“polling”) or wait at the table for the order to be brought out when it is ready (“published”).

During lunch I mentioned the use of analogies during the tutorial. Another person at the table said she was attending the Software Architecture: Principles and Practices course. She liked the analogy used by the instructor of relating documenting software architecture views to a doctor ordering diagnostic tests to see different views of the patient in terms of the different structures of the human body.

We were both intrigued by the use of analogy and are interested in hearing people’s experiences using analogies to communicate architecture concepts.

What analogies have you used or heard to explain architecture concepts? Did you think it was helpful? Or, did you think it was inappropriate (e.g., misleading or oversimplifying)?

– Robert Nord, SEI

About these ads

2 responses to “From Hamburgers to Architecture: The Role of Analogy in Explaining Concepts

  1. In his talk yesterday titled How to Effectively Evaluate Software Architecture and Identify Risks (http://www.sei.cmu.edu/architecture/saturn/2009/seminar.html), Felix Bachmann made an analogy of a guy who goes to the doctor with a knife in his chest and is also suffering from the flu: The doctor will remove the knife from his chest before he worries about treating the flu. Likewise, people should focus on the most-critical factors in an architecture evaluation.

    Felix’s analogy reminded me of the Buddhist Parable of the Arrow, http://www.sln.org.uk/storyboard/stories/b13.htm.

    More on the effective use of analogies in Made To Stick by Dan and Chip Heath, http://www.madetostick.com/.

  2. OK, so now I’ve started collecting the metaphors and analogies that I’ve been hearing at the conference….David Cuyler used 3 today that stuck with me:
    –>Alice in Wonderland’s conversation about her destination with the Cheshire Cat (Alice’s journey through the looking glass is one of my favorite metaphors for talking about issues in systems of systems….I have a great pop-up book version of the story that works really well!)
    –>Yoda’s admonishment that “There is no try!” to Luke Skywalker
    –>oh well, i guess the third one didn’t stick as well as I thought! Maybe tomorrow I’ll remember.

    Ken Kunkel, in his “Architecting the Organization” talk, mostly presented photographic analogies with one or two keywords — the stickiest of those was the Highlander film/tv character with his sword and the word “Empowerment?”….

    I’ll try and pay attention to some more tomorrow….

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s