+ All Categories
Home > Documents > 1 Rilla Khaled, Pippin Barr James Noble Victoria University of Wellington New Zealand Robert Biddle...

1 Rilla Khaled, Pippin Barr James Noble Victoria University of Wellington New Zealand Robert Biddle...

Date post: 30-Dec-2015
Category:
Upload: edith-gilbert
View: 217 times
Download: 1 times
Share this document with a friend
Popular Tags:
31
1 Rilla Khaled, Pippin Barr James Noble Victoria University of Wellington New Zealand Robert Biddle Carleton University Canada Extrem eSyste m Programmin gMetaphor
Transcript
Page 1: 1 Rilla Khaled, Pippin Barr James Noble Victoria University of Wellington New Zealand Robert Biddle Carleton University Canada Extreme System Programming.

1

Rilla Khaled, Pippin Barr James Noble

Victoria University of Wellington

New Zealand

Robert BiddleCarleton University

Canada

ExtremeSystem

ProgrammingMetaphor

Page 2: 1 Rilla Khaled, Pippin Barr James Noble Victoria University of Wellington New Zealand Robert Biddle Carleton University Canada Extreme System Programming.

2XP System Metaphor

Outline

• XP & System Metaphor

• Peircian Semiotics:– Modeling Metaphor

• XP Practice:– Choosing a Metaphor– Evaluating a Metaphor

Page 3: 1 Rilla Khaled, Pippin Barr James Noble Victoria University of Wellington New Zealand Robert Biddle Carleton University Canada Extreme System Programming.

3XP System Metaphor

Agile Software Development

• Individuals and interactionsover processes and tools

• Working software over comprehensive documentation

• Customer collaboration over contract negotiation

• Responding to changeover following a plan

Page 4: 1 Rilla Khaled, Pippin Barr James Noble Victoria University of Wellington New Zealand Robert Biddle Carleton University Canada Extreme System Programming.

4XP System Metaphor

BeckXP: eXtreme Programming

• Fine scale feedback– TestDrivenDevelopment (were UnitTests & AcceptanceTests)– PlanningGame– WholeTeam (was OnsiteCustomer)– PairProgramming

• Continuous process rather than batch– ContinuousIntegration– DesignImprovement (was RefactorMercilessly)– SmallReleases

• Shared understanding– SimpleDesign – SystemMetaphor– CollectiveCodeOwnership– CodingStandard or CodingConventions

• Programmer welfare– SustainablePace (original name: FortyHourWeek)

Page 5: 1 Rilla Khaled, Pippin Barr James Noble Victoria University of Wellington New Zealand Robert Biddle Carleton University Canada Extreme System Programming.

5XP System Metaphor

XP System Metaphor• A story that everyone - customers, programmers and manager -

can tell about how the system work. Beck• The metaphor just helps everyone on the project understand

the basic elements and their relationships. Words chosen to identify technical entities should be consistently taken from the chosen metaphor. As development proceeds and the metaphor matures, the whole team will find new inspiration from examining the metaphor. Beck

• The team had the benefit of a very rich domain model developed by members of the team in the project's first iteration. It gave the members of the project an edge in understanding an extremely complex domain. C3 Team

• I still haven't got the hang of this metaphor thing. I saw it work, and work well, on the C3 project, but it doesn't mean I have any idea how to do it, let alone how to explain how to do it. Fowler

Page 6: 1 Rilla Khaled, Pippin Barr James Noble Victoria University of Wellington New Zealand Robert Biddle Carleton University Canada Extreme System Programming.

6XP System Metaphor

Basic Peircean Semiotics

• Semiotics is the study of signs.

• Charles Sanders Peirce developed a triadic model of the sign:

– Object (or Referent):the concept or thing actually represented by the sign.

– Representamen: the sign itself.– Interpretant: the result of an

interpreter’s encounter with a sign.

Page 7: 1 Rilla Khaled, Pippin Barr James Noble Victoria University of Wellington New Zealand Robert Biddle Carleton University Canada Extreme System Programming.

7XP System Metaphor

Unlimited Semiosis

Page 8: 1 Rilla Khaled, Pippin Barr James Noble Victoria University of Wellington New Zealand Robert Biddle Carleton University Canada Extreme System Programming.

8XP System Metaphor

Eco’s Model Reader

To make his text communicative, the author has to assume that the ensemble of codes he relies upon is the same as that shared by his possible reader. The author has thus to foresee a model of the possible reader (hereafter Model Reader) supposedly able to deal interpretatively with the expressions in the same way as the author deals generatively with them.

Umberto Eco: The Role of the Reader, 1979

Page 9: 1 Rilla Khaled, Pippin Barr James Noble Victoria University of Wellington New Zealand Robert Biddle Carleton University Canada Extreme System Programming.

9XP System Metaphor

A Semiotic Model of Metaphor:Pierce, Lakoff & Johnson

Page 10: 1 Rilla Khaled, Pippin Barr James Noble Victoria University of Wellington New Zealand Robert Biddle Carleton University Canada Extreme System Programming.

10XP System Metaphor

Modeling MetaphorMetaphor Introduction

Page 11: 1 Rilla Khaled, Pippin Barr James Noble Victoria University of Wellington New Zealand Robert Biddle Carleton University Canada Extreme System Programming.

11XP System Metaphor

Modeling MetaphorMetaphorical Entailment

A Metaphor is a Sign Generator

Page 12: 1 Rilla Khaled, Pippin Barr James Noble Victoria University of Wellington New Zealand Robert Biddle Carleton University Canada Extreme System Programming.

12XP System Metaphor

Entailment Linkage

Page 13: 1 Rilla Khaled, Pippin Barr James Noble Victoria University of Wellington New Zealand Robert Biddle Carleton University Canada Extreme System Programming.

13XP System Metaphor

XP System Metaphor

Page 14: 1 Rilla Khaled, Pippin Barr James Noble Victoria University of Wellington New Zealand Robert Biddle Carleton University Canada Extreme System Programming.

14XP System Metaphor

OOP Signs

Page 15: 1 Rilla Khaled, Pippin Barr James Noble Victoria University of Wellington New Zealand Robert Biddle Carleton University Canada Extreme System Programming.

15XP System Metaphor

Modeling MetaphorProgram Code Signs

Page 16: 1 Rilla Khaled, Pippin Barr James Noble Victoria University of Wellington New Zealand Robert Biddle Carleton University Canada Extreme System Programming.

16XP System Metaphor

XP SystemMetaphorModel

MetaphorIntroduction

MetaphoricalEntailment

ProgramCode

Page 17: 1 Rilla Khaled, Pippin Barr James Noble Victoria University of Wellington New Zealand Robert Biddle Carleton University Canada Extreme System Programming.

17XP System Metaphor

Practice: Finding and EvaluatingMetaphorscape

Page 18: 1 Rilla Khaled, Pippin Barr James Noble Victoria University of Wellington New Zealand Robert Biddle Carleton University Canada Extreme System Programming.

18XP System Metaphor

A Bank Account is a Water Reservoir

Page 19: 1 Rilla Khaled, Pippin Barr James Noble Victoria University of Wellington New Zealand Robert Biddle Carleton University Canada Extreme System Programming.

19XP System Metaphor

Metaphorscape

Choosing a Metaphor• Brainstorming Potential Metaphors

– With referent, suggest representamen– Include team, customer, domain expert– Consider explaining system to non-expert– Consider surrounding metaphors– Select most promising n

Metaphor Introduction

Page 20: 1 Rilla Khaled, Pippin Barr James Noble Victoria University of Wellington New Zealand Robert Biddle Carleton University Canada Extreme System Programming.

20XP System Metaphor

Choosing a Metaphor II

• Brainstorming Metaphorical Entailments– Choose metaphor– Identify entailments: referent and interpretant– Begin individually and then merge

Metaphorical Entailments

Page 21: 1 Rilla Khaled, Pippin Barr James Noble Victoria University of Wellington New Zealand Robert Biddle Carleton University Canada Extreme System Programming.

21XP System Metaphor

Choosing a Metaphor III• Brainstorming Program Code Signs

– Identify implied objects/classes– Determine usefulness of objects/classes

• Correctness, consistency, coherence

– Select useful, discard others

ProgramCode

Page 22: 1 Rilla Khaled, Pippin Barr James Noble Victoria University of Wellington New Zealand Robert Biddle Carleton University Canada Extreme System Programming.

22XP System Metaphor

Conclusion

• Beck: A story that everyone - customers, programmers and manager - can tell about how the

system work. • Fowler: “This is a real gap in XP, and one that the

XPers need to sort out”.

• Our explorations:– Language: Vocabulary and Structure– Techniques: Based on OOD and HCI practice

Page 23: 1 Rilla Khaled, Pippin Barr James Noble Victoria University of Wellington New Zealand Robert Biddle Carleton University Canada Extreme System Programming.

23

Rilla Khaled, Pippin Barr James Noble

Victoria University of Wellington

New Zealand

Robert BiddleCarleton University

Canada

ExtremeSystem

ProgrammingMetaphor

Page 24: 1 Rilla Khaled, Pippin Barr James Noble Victoria University of Wellington New Zealand Robert Biddle Carleton University Canada Extreme System Programming.

24XP System Metaphor

Page 25: 1 Rilla Khaled, Pippin Barr James Noble Victoria University of Wellington New Zealand Robert Biddle Carleton University Canada Extreme System Programming.

25XP System Metaphor

System Ideas

• Web browser• Web server• E-commerce site• Email client• Space Invaders• GPS handheld• Blog software

• Payroll system• Compiler• Banking system• Library• Backup system• PDA software• CVS

Page 26: 1 Rilla Khaled, Pippin Barr James Noble Victoria University of Wellington New Zealand Robert Biddle Carleton University Canada Extreme System Programming.

26XP System Metaphor

Page 27: 1 Rilla Khaled, Pippin Barr James Noble Victoria University of Wellington New Zealand Robert Biddle Carleton University Canada Extreme System Programming.

27XP System Metaphor

User-Interface MetaphorYou can take advantage of people's knowledge of the world

around them by using metaphors to convey concepts and features of your application. Use metaphors involving

concrete, familiar ideas and make the metaphors plain, so that users have a set of expectations to apply to computer

environments. (Apple Computer Inc., 1992)

Familiar metaphors provide a direct and intuitive interface to user tasks. By allowing users to transfer their knowledge

and experience, metaphors make it easier to predict and learn the behaviors of software-based representations.

(Microsoft Corporation, 1995)

Page 28: 1 Rilla Khaled, Pippin Barr James Noble Victoria University of Wellington New Zealand Robert Biddle Carleton University Canada Extreme System Programming.

28XP System Metaphor

The Document Metaphor

Page 29: 1 Rilla Khaled, Pippin Barr James Noble Victoria University of Wellington New Zealand Robert Biddle Carleton University Canada Extreme System Programming.

29XP System Metaphor

Metaphor and Metaphorical Entailments

• The data is an object. • The data can be written on. • The data can be read. • The data contains text, and possibly images and graphs, etc. • The data can be ripped. • The data can be typed up. • The data is usually on white paper. • The data can be photocopied. • The data can be written in pencil or pen or ink. • The data can (sometimes) be edited using twink or an eraser. • The data contains information. • The data can be set on fire. • The data can be picked up and moved from place to place. • The data can be thrown in a trashcan. • The data can give you a paper-cut. • …

Page 30: 1 Rilla Khaled, Pippin Barr James Noble Victoria University of Wellington New Zealand Robert Biddle Carleton University Canada Extreme System Programming.

30XP System Metaphor

XP System Metaphor• A story that everyone - customers, programmers and manager - can tell

about how the system work. Beck• The metaphor just helps everyone on the project understand the basic

elements and their relationships. Words chosen to identify technical entities should be consistently taken from the chosen metaphor. As development proceeds and the metaphor matures, the whole team will find new inspiration from examining the metaphor. Beck

• The team had the benefit of a very rich domain model developed by members of the team in the project's first iteration. It gave the members of the project an edge in understanding an extremely complex domain. C3 Team

• I still haven't got the hang of this metaphor thing. I saw it work, and work well, on the C3 project, but it doesn't mean I have any idea how to do it, let alone how to explain how to do it. Fowler

Page 31: 1 Rilla Khaled, Pippin Barr James Noble Victoria University of Wellington New Zealand Robert Biddle Carleton University Canada Extreme System Programming.

31XP System Metaphor

Evaluating a Metaphor

• How is the Metaphor Good?– whether the entailments of the metaphor contain programmable

ideas– whether the metaphor addresses the major system components

and their known functionality.– whether the metaphor entailments provide a vocabulary with which

to describe the system

• Is the metaphor too poor?– which system components and interactions are left undescribed by

the metaphor

• Is the metaphor misleading?– whether the metaphorical entailments imply non-existent system

components or non-existent behaviour.


Recommended