Robert Biddle Carleton University Canada - PowerPoint PPT Presentation

1 / 31
About This Presentation
Title:

Robert Biddle Carleton University Canada

Description:

The metaphor just helps everyone on the ... Representamen: the sign itself. ... With referent, suggest representamen. Include team, customer, domain expert ... – PowerPoint PPT presentation

Number of Views:70
Avg rating:3.0/5.0
Slides: 32
Provided by: robert791
Category:

less

Transcript and Presenter's Notes

Title: Robert Biddle Carleton University Canada


1
Robert BiddleCarleton UniversityCanada
ExtremeSystem
ProgrammingMetaphor
Rilla Khaled, Pippin Barr James NobleVictoria
University of WellingtonNew Zealand
2
Outline
  • XP System Metaphor
  • Peircian Semiotics
  • Modeling Metaphor
  • XP Practice
  • Choosing a Metaphor
  • Evaluating a Metaphor

3
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

4
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)

5
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

6
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 interpreters
    encounter with a sign.

7
Unlimited Semiosis
8
Ecos 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
9
A Semiotic Model of MetaphorPierce, Lakoff
Johnson
10
Modeling MetaphorMetaphor Introduction
11
Modeling MetaphorMetaphorical Entailment
A Metaphor is a Sign Generator
12
Entailment Linkage
13
XP System Metaphor
14
OOP Signs
15
Modeling MetaphorProgram Code Signs
16
  • XP
  • System
  • Metaphor
  • Model

MetaphorIntroduction
MetaphoricalEntailment
ProgramCode
17
Practice Finding and EvaluatingMetaphorscape
18
A Bank Account is a Water Reservoir
19
MetaphorscapeChoosing a Metaphor
Metaphor Introduction
  • 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

20
Choosing a Metaphor II
  • Brainstorming Metaphorical Entailments
  • Choose metaphor
  • Identify entailments referent and interpretant
  • Begin individually and then merge

Metaphorical Entailments
21
Choosing a Metaphor III
  • Brainstorming Program Code Signs
  • Identify implied objects/classes
  • Determine usefulness of objects/classes
  • Correctness, consistency, coherence
  • Select useful, discard others

Program Code
22
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

23
Robert BiddleCarleton UniversityCanada
ExtremeSystem
ProgrammingMetaphor
Rilla Khaled, Pippin Barr James NobleVictoria
University of WellingtonNew Zealand
24
(No Transcript)
25
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

26
(No Transcript)
27
User-Interface Metaphor
You 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)
28
The Document Metaphor
29
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.

30
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

31
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.
Write a Comment
User Comments (0)
About PowerShow.com