44
The System Metaphor Explored! Bill Wake, [email protected] Steve Wake © 2001, 2012, William C. Wake and Steven A. Wake CC licensed in 2012 CC-BY-SA : Attribution, Share-Alike (Commercial use and derivations permitted) 1

System Metaphor Tutorial - XP123xp123.com/wp-content/uploads/2012/02/SystemMetaphorTutorial-with-notes.pdf® - more like a bazaar? 24 Auction Store Stock Mkt Bazaar 1 buyer, many sellers

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: System Metaphor Tutorial - XP123xp123.com/wp-content/uploads/2012/02/SystemMetaphorTutorial-with-notes.pdf® - more like a bazaar? 24 Auction Store Stock Mkt Bazaar 1 buyer, many sellers

The System Metaphor Explored!

Bill Wake, [email protected] Wake

© 2001, 2012, William C. Wake and Steven A. WakeCC licensed in 2012

CC-BY-SA: Attribution, Share-Alike

(Commercial use and derivations permitted)

1

Page 2: System Metaphor Tutorial - XP123xp123.com/wp-content/uploads/2012/02/SystemMetaphorTutorial-with-notes.pdf® - more like a bazaar? 24 Auction Store Stock Mkt Bazaar 1 buyer, many sellers

2

Agenda

• Introduction• What are metaphors?• How do you find them?• Why do you want them?• What do you do with them?• What are some issues?• Wrap-up

ExploreBrainstorm

2

Page 3: System Metaphor Tutorial - XP123xp123.com/wp-content/uploads/2012/02/SystemMetaphorTutorial-with-notes.pdf® - more like a bazaar? 24 Auction Store Stock Mkt Bazaar 1 buyer, many sellers

3

Icebreaker• Each card has a 3-letter piece of a quotation• Work together to arrange the cards to spell out

the quotation• (Two separate tables with two different quotes)

Put each three-letter block on its own card (write large). Shuffle/scramble them. Make sure to keep the two quotations separate. This game structure is one of Thiagi’s frame-games, called “Chunks.”Might then explore who’s in the room - programmers, customers, managers, etc.

3

Page 4: System Metaphor Tutorial - XP123xp123.com/wp-content/uploads/2012/02/SystemMetaphorTutorial-with-notes.pdf® - more like a bazaar? 24 Auction Store Stock Mkt Bazaar 1 buyer, many sellers

First QuoteMET APH OR: _A_ FIG URE _OF _SP EEC H_W HIC H_M AKE S_A N_I MPL IED _CO MPA RIS ON_ BET WEE N_T HIN GS_ WHI CH_ ARE _NO T_L ITE RAL LY_ ALI KE.

4

Page 5: System Metaphor Tutorial - XP123xp123.com/wp-content/uploads/2012/02/SystemMetaphorTutorial-with-notes.pdf® - more like a bazaar? 24 Auction Store Stock Mkt Bazaar 1 buyer, many sellers

Second Quote

THE _SY STE M_M ETA PHO R_I S_A STO RY_ THA T_E VER YON E—C UST OME RS, _PR OGR AMM ERS ,_A ND_ MAN AGE RS— CAN _TE LL_ ABO UT_ HOW _TH E_S YST EM_ WOR KS.

5

Page 6: System Metaphor Tutorial - XP123xp123.com/wp-content/uploads/2012/02/SystemMetaphorTutorial-with-notes.pdf® - more like a bazaar? 24 Auction Store Stock Mkt Bazaar 1 buyer, many sellers

6

What Is a Metaphor?• Dictionary definition: “Metaphor: a figure of

speech which makes an implied comparison between things which are not literally alike.”

• XP definition: “The system metaphor is a story that everyone--customers, programmers, and managers--can tell about how the system works.” -- Kent Beck, Extreme Programming Explained

6

Page 7: System Metaphor Tutorial - XP123xp123.com/wp-content/uploads/2012/02/SystemMetaphorTutorial-with-notes.pdf® - more like a bazaar? 24 Auction Store Stock Mkt Bazaar 1 buyer, many sellers

7

What Is a System Metaphor?

• Example: Call center as an assembly line• “System of Names”• Metaphors help with abstraction and modeling• Who? Customer and programmers • Every time? Yes, but… • Solution or problem? Solution, but…

7

Page 8: System Metaphor Tutorial - XP123xp123.com/wp-content/uploads/2012/02/SystemMetaphorTutorial-with-notes.pdf® - more like a bazaar? 24 Auction Store Stock Mkt Bazaar 1 buyer, many sellers

8

What Isn’t a System Metaphor?

• System metaphor != user interface metaphor• System metaphor != pattern• System metaphor != full architecture

We don’t mean e.g., the desktop metaphor ala Mac. The metaphor only covers some aspects of architecture.

8

Page 9: System Metaphor Tutorial - XP123xp123.com/wp-content/uploads/2012/02/SystemMetaphorTutorial-with-notes.pdf® - more like a bazaar? 24 Auction Store Stock Mkt Bazaar 1 buyer, many sellers

9

Why Do You Want a Metaphor?

• Shared vision• Generativity • Vocabulary and Naming• Architecture

Metaphor provides a framework and context for the project.9

Page 10: System Metaphor Tutorial - XP123xp123.com/wp-content/uploads/2012/02/SystemMetaphorTutorial-with-notes.pdf® - more like a bazaar? 24 Auction Store Stock Mkt Bazaar 1 buyer, many sellers

10

How Do You Find a Metaphor?

• Naïve metaphor [Literal metaphor]– “I’ve been speaking prose all my life”

Molière’s Le Bourgeois Gentilhomme• Magic metaphor• Brainstorming; immersion and stewing• Combine metaphors• Evaluate metaphors

Naïve & magic metaphors: where you need help isn’t governed by the metaphor“Naive metaphor” is term used in early XP literature; we prefer “literal” (or perhaps “direct”) as it’s naive in a restricted sense.Magic metaphor isn’t constraining enough; a magic typewriter could do anything. A mixed metaphor can work - e.g., combine a typewriter with cut and paste (literally).

10

Page 11: System Metaphor Tutorial - XP123xp123.com/wp-content/uploads/2012/02/SystemMetaphorTutorial-with-notes.pdf® - more like a bazaar? 24 Auction Store Stock Mkt Bazaar 1 buyer, many sellers

11

Exercise: Brainstorm Metaphors

• Read your problem statement aloud• Brainstorm some metaphors

– Don’t critique, just capture– Quantity now, quality later – Pursue wild ideas - have fun!– Let everybody participate– Build on each other’s ideas

11

Page 12: System Metaphor Tutorial - XP123xp123.com/wp-content/uploads/2012/02/SystemMetaphorTutorial-with-notes.pdf® - more like a bazaar? 24 Auction Store Stock Mkt Bazaar 1 buyer, many sellers

Brainstorming Exercise

• Have various topic areas for which to explore metaphors

• Put on cards, one or two per table

12

Page 13: System Metaphor Tutorial - XP123xp123.com/wp-content/uploads/2012/02/SystemMetaphorTutorial-with-notes.pdf® - more like a bazaar? 24 Auction Store Stock Mkt Bazaar 1 buyer, many sellers

Brainstorm: Advisory Service

Create an advisory service that helps people make decisions about a variety of topics (like which is the best movie to rent or which appliance to buy). It should be based on expert guidance, opinions, and facts.

13

Page 14: System Metaphor Tutorial - XP123xp123.com/wp-content/uploads/2012/02/SystemMetaphorTutorial-with-notes.pdf® - more like a bazaar? 24 Auction Store Stock Mkt Bazaar 1 buyer, many sellers

Brainstorm: Calendar

Create an online calendar that allows a person to keep track of their appointments. It should also allow people to view others’ calendars and help in scheduling meetings with others.

14

Page 15: System Metaphor Tutorial - XP123xp123.com/wp-content/uploads/2012/02/SystemMetaphorTutorial-with-notes.pdf® - more like a bazaar? 24 Auction Store Stock Mkt Bazaar 1 buyer, many sellers

Brainstorm: Marketplace

Create a system that allows people to buy and sell items and services to/from each other. The system should be usable by both buyers and sellers.

15

Page 16: System Metaphor Tutorial - XP123xp123.com/wp-content/uploads/2012/02/SystemMetaphorTutorial-with-notes.pdf® - more like a bazaar? 24 Auction Store Stock Mkt Bazaar 1 buyer, many sellers

Brainstorm: Buying a House

Create a system to help in the purchase of a house. It can be focused on the real estate agent, a buyer, or a mortgage agent.

16

Page 17: System Metaphor Tutorial - XP123xp123.com/wp-content/uploads/2012/02/SystemMetaphorTutorial-with-notes.pdf® - more like a bazaar? 24 Auction Store Stock Mkt Bazaar 1 buyer, many sellers

Brainstorm: Library System

Allow the user to obtain research materials. This can be done by searching the catalog of available materials, by obtaining inter-library loans of materials which are available elsewhere, or by requesting acquisitions.

17

Page 18: System Metaphor Tutorial - XP123xp123.com/wp-content/uploads/2012/02/SystemMetaphorTutorial-with-notes.pdf® - more like a bazaar? 24 Auction Store Stock Mkt Bazaar 1 buyer, many sellers

Brainstorm: Checkbook

Create a program to help people keep track of their finances. It should help them eliminate errors and should allow tracking of income and expenses.

18

Page 19: System Metaphor Tutorial - XP123xp123.com/wp-content/uploads/2012/02/SystemMetaphorTutorial-with-notes.pdf® - more like a bazaar? 24 Auction Store Stock Mkt Bazaar 1 buyer, many sellers

Brainstorm: Compiler/Translator

Create a program that translates from one language to another (could be between computer or human languages). Consider issues of real-time vs. batch translation.

19

Page 20: System Metaphor Tutorial - XP123xp123.com/wp-content/uploads/2012/02/SystemMetaphorTutorial-with-notes.pdf® - more like a bazaar? 24 Auction Store Stock Mkt Bazaar 1 buyer, many sellers

Example: eBay®

• Store • Auction• Stock Market• Bazaar• More?

20

20

Page 21: System Metaphor Tutorial - XP123xp123.com/wp-content/uploads/2012/02/SystemMetaphorTutorial-with-notes.pdf® - more like a bazaar? 24 Auction Store Stock Mkt Bazaar 1 buyer, many sellers

21

Debrief

• What happened?• How did you react to it?• How does this relate to real use?• How will that affect what you do?

Phone book example: look up by last name is easy, by first name is hard.

21

Page 22: System Metaphor Tutorial - XP123xp123.com/wp-content/uploads/2012/02/SystemMetaphorTutorial-with-notes.pdf® - more like a bazaar? 24 Auction Store Stock Mkt Bazaar 1 buyer, many sellers

22

What Do You Do With a Metaphor?

• Shape the system• Develop architecture

– “4 key objects”– Naming– Patterns and interactions

• Guide cost decisions– Tradeoff matrix

Phone book example: look up by last name is easy, by first name is hard.

22

Page 23: System Metaphor Tutorial - XP123xp123.com/wp-content/uploads/2012/02/SystemMetaphorTutorial-with-notes.pdf® - more like a bazaar? 24 Auction Store Stock Mkt Bazaar 1 buyer, many sellers

23

Exercise: Score Card

• Create a matrix– Columns are the candidate metaphors– Rows are attributes of your problem or solution

• Score row by row (1 to n = worst to best)• Add up columns• Reach team consensus on best metaphor

– Use scores for guidance

23

Page 24: System Metaphor Tutorial - XP123xp123.com/wp-content/uploads/2012/02/SystemMetaphorTutorial-with-notes.pdf® - more like a bazaar? 24 Auction Store Stock Mkt Bazaar 1 buyer, many sellers

Example: eBay® - more like a bazaar?

24

Auction Store Stock Mkt Bazaar1 buyer, many sellersMany buyers, 1 sellerMany buyers, many sellersRequires inventoryFixed priceName your priceReal-timeAggregationetc.

24

Page 25: System Metaphor Tutorial - XP123xp123.com/wp-content/uploads/2012/02/SystemMetaphorTutorial-with-notes.pdf® - more like a bazaar? 24 Auction Store Stock Mkt Bazaar 1 buyer, many sellers

Attributes: System Monitor

Create a system to monitor another system running in production. Describe which attributes are important to your system and score the following metaphors:

• EKG

• Graphic equalizer display (like on a stereo)

• Alarm

25

Page 26: System Metaphor Tutorial - XP123xp123.com/wp-content/uploads/2012/02/SystemMetaphorTutorial-with-notes.pdf® - more like a bazaar? 24 Auction Store Stock Mkt Bazaar 1 buyer, many sellers

Attributes: Others?

26

Page 27: System Metaphor Tutorial - XP123xp123.com/wp-content/uploads/2012/02/SystemMetaphorTutorial-with-notes.pdf® - more like a bazaar? 24 Auction Store Stock Mkt Bazaar 1 buyer, many sellers

27

Debrief

27

Page 28: System Metaphor Tutorial - XP123xp123.com/wp-content/uploads/2012/02/SystemMetaphorTutorial-with-notes.pdf® - more like a bazaar? 24 Auction Store Stock Mkt Bazaar 1 buyer, many sellers

28

Four Key Objects

• What are the “four key objects” implied by the metaphor?

• Does the way these objects interact guide you in the way your system interacts?

• “Iron-man” CRC

28

Page 29: System Metaphor Tutorial - XP123xp123.com/wp-content/uploads/2012/02/SystemMetaphorTutorial-with-notes.pdf® - more like a bazaar? 24 Auction Store Stock Mkt Bazaar 1 buyer, many sellers

29

Exercise: Your Four Key Objects

• For each metaphor…• Propose four key objects• What do they say about what’s important?• Do they have an interesting interaction?

29

Page 30: System Metaphor Tutorial - XP123xp123.com/wp-content/uploads/2012/02/SystemMetaphorTutorial-with-notes.pdf® - more like a bazaar? 24 Auction Store Stock Mkt Bazaar 1 buyer, many sellers

Examples

• Store: Item, Inventory, Cart• Auction: Item, Bid, History, Buyer• Stock Market: Agent, Pit, Board, Stock• Bazaar: Stalls, Entrance

30

30

Page 31: System Metaphor Tutorial - XP123xp123.com/wp-content/uploads/2012/02/SystemMetaphorTutorial-with-notes.pdf® - more like a bazaar? 24 Auction Store Stock Mkt Bazaar 1 buyer, many sellers

31

Debrief

31

Page 32: System Metaphor Tutorial - XP123xp123.com/wp-content/uploads/2012/02/SystemMetaphorTutorial-with-notes.pdf® - more like a bazaar? 24 Auction Store Stock Mkt Bazaar 1 buyer, many sellers

32

Issue: Bad Metaphors

• Bad metaphors– Misleading– Flat-out wrong

• But perfect is the enemy of good

32

Page 33: System Metaphor Tutorial - XP123xp123.com/wp-content/uploads/2012/02/SystemMetaphorTutorial-with-notes.pdf® - more like a bazaar? 24 Auction Store Stock Mkt Bazaar 1 buyer, many sellers

33

Exercise: Garden Path

• Given system description and metaphor, and some potential system changes…

• Think of some ways this metaphor misleads you– about what’s easy– about what’s hard

• How could you fix it?

Magic & naïve metaphors are weakest

33

Page 34: System Metaphor Tutorial - XP123xp123.com/wp-content/uploads/2012/02/SystemMetaphorTutorial-with-notes.pdf® - more like a bazaar? 24 Auction Store Stock Mkt Bazaar 1 buyer, many sellers

Garden Path: EBay® as an Auction

Where does this metaphor lead you astray?

34

Page 35: System Metaphor Tutorial - XP123xp123.com/wp-content/uploads/2012/02/SystemMetaphorTutorial-with-notes.pdf® - more like a bazaar? 24 Auction Store Stock Mkt Bazaar 1 buyer, many sellers

Garden Path: Word Processor as a

Magic Typewriter

Where does this metaphor lead you astray?

35

Page 36: System Metaphor Tutorial - XP123xp123.com/wp-content/uploads/2012/02/SystemMetaphorTutorial-with-notes.pdf® - more like a bazaar? 24 Auction Store Stock Mkt Bazaar 1 buyer, many sellers

Garden Path: Drawing Program

as a Bitmap

Where does this metaphor lead you astray?

36

Page 37: System Metaphor Tutorial - XP123xp123.com/wp-content/uploads/2012/02/SystemMetaphorTutorial-with-notes.pdf® - more like a bazaar? 24 Auction Store Stock Mkt Bazaar 1 buyer, many sellers

Garden Path: Online Marketplaceas a Shopping Cart

Where does this metaphor lead you astray?

37

Page 38: System Metaphor Tutorial - XP123xp123.com/wp-content/uploads/2012/02/SystemMetaphorTutorial-with-notes.pdf® - more like a bazaar? 24 Auction Store Stock Mkt Bazaar 1 buyer, many sellers

Some Answers from Others:

• Store: Shopping cart left unattended? Used books?

• Microsoft Word®: picture != character• EBay®: Auction, bazaar, or other?

38

38

Page 39: System Metaphor Tutorial - XP123xp123.com/wp-content/uploads/2012/02/SystemMetaphorTutorial-with-notes.pdf® - more like a bazaar? 24 Auction Store Stock Mkt Bazaar 1 buyer, many sellers

39

Debrief

39

Page 40: System Metaphor Tutorial - XP123xp123.com/wp-content/uploads/2012/02/SystemMetaphorTutorial-with-notes.pdf® - more like a bazaar? 24 Auction Store Stock Mkt Bazaar 1 buyer, many sellers

40

More Issues• Limits of metaphors

– Unfamiliar: e.g., if you don’t know anything about double-entry bookkeeping, that metaphor won’t help

– Too weak: e.g., “paint” when you need “draw”– Too strong (lock-in) (“When you have a

hammer…”): e.g., word processor trying to treat images like big characters

– Magic• Is XP without metaphors still XP?• Evolving metaphors: based on new insights

40

Page 41: System Metaphor Tutorial - XP123xp123.com/wp-content/uploads/2012/02/SystemMetaphorTutorial-with-notes.pdf® - more like a bazaar? 24 Auction Store Stock Mkt Bazaar 1 buyer, many sellers

41

Exercise: Popcorn

• When you catch the ball, propose a type of system and a metaphor for it. (Alternate colors)

• Toss the ball to someone who hasn’t gone yet.• If you draw a blank, pull one from the bag of

tricks.• We’ll categorize at end

41

Page 42: System Metaphor Tutorial - XP123xp123.com/wp-content/uploads/2012/02/SystemMetaphorTutorial-with-notes.pdf® - more like a bazaar? 24 Auction Store Stock Mkt Bazaar 1 buyer, many sellers

42

Debrief

42

Page 43: System Metaphor Tutorial - XP123xp123.com/wp-content/uploads/2012/02/SystemMetaphorTutorial-with-notes.pdf® - more like a bazaar? 24 Auction Store Stock Mkt Bazaar 1 buyer, many sellers

43

Summary

• The metaphor can guide system design, and intuitions about what’s easy or hard to do.

• Identifying a metaphor is a creative process; it’s not always easy, and the struggle is part of the value.

• Don’t let a bad metaphor get in the way.• A good metaphor is a treasure.

43

Page 44: System Metaphor Tutorial - XP123xp123.com/wp-content/uploads/2012/02/SystemMetaphorTutorial-with-notes.pdf® - more like a bazaar? 24 Auction Store Stock Mkt Bazaar 1 buyer, many sellers

44

For More Information

• http://c2.com/cgi/wiki?SystemMetaphor• Designing Information Technology in the

Postmodern Age, R. Coyne• Extreme Programming Explained, K. Beck• Extreme Programming Explored, W. Wake• http://www.xp123.com

44