Metaphors for Software Development (XP2010)

1,694 views

Published on

The presentation slides from a talk I gave at XP2010 in Trondheim, Norway. Here are some metaphors that I find useful when describing software product development. In particular, they are useful for describing the basic principles of agile development and the lifecycle of a typical agile project.

Published in: Technology
1 Comment
4 Likes
Statistics
Notes
No Downloads
Views
Total views
1,694
On SlideShare
0
From Embeds
0
Number of Embeds
15
Actions
Shares
0
Downloads
17
Comments
1
Likes
4
Embeds 0
No embeds

No notes for slide

Metaphors for Software Development (XP2010)

  1. 1. Metaphors   for     So-ware  Development   Ken  Power   ken.power@gmail.com   kenpower.ie/   XP2010  
  2. 2. WHAT  IS  SOFTWARE  DEVELOPMENT   LIKE?  
  3. 3. WHAT  IS  AGILE  SOFTWARE   DEVELOPMENT  LIKE?  
  4. 4. Wikipedia:   “A  METAPHOR  IS  AN  ANALOGY   BETWEEN  TWO  OBJECTS  OR  IDEAS,   CONVEYED  BY  THE  USE  OF  [ONE  SET   OF]  WORDS  INSTEAD  OF  ANOTHER.”  
  5. 5. dicDonary.reference.com/   “A  FIGURE  OF  SPEECH  IN  WHICH  A  WORD  OR   PHRASE  THAT  ORDINARILY  DESIGNATES  ONE   THING  IS  USED  TO  DESIGNATE  ANOTHER,   THUS  MAKING  AN  IMPLICIT  COMPARISON”  
  6. 6. “THE  POWER  OF  METAPHORS  IS  IN  THE  WAY  THAT   THEY  CHANGE  THE  SUBJECT  BY  BRINGING  NEW   THINKING  AND  IDEAS,  EXTENDING  AND  CHANGING   THE  WAY  THAT  A  PERSON  THINKS  ABOUT   SOMETHING.”  
  7. 7. MulCple  Metaphors  for  Learning  by  Gary  Woodill     In  “Learning  and  organiza3ons:  towards  cross-­‐metaphor  conversa3ons”   “EACH  METAPHOR  GIVES  US  SOME  INSIGHT,   AND  TAKEN  TOGETHER  THEY  SHOW  WHAT  A   COMPLEX  CONCEPT  LEARNING  REALLY  IS.  NO   ONE  METAPHOR  IS  “CORRECT”,  BUT  EACH   REPRESENTS  A  DIFFERENT  UNDERSTANDING.”  
  8. 8. BUT  WE  HAVE  ALL  THESE  ISSUES  IN   THE  SOFTWARE  BUSINESS  ….  
  9. 9. DEADLINES   STAFFING  CHALLENGES   COLLABORATING   EVOLVING   IN  GROUPS   REQUIREMENTS   DELIVERING  A   BUDGETS   DESIGN     COMPELLING  PRODUCT   CONSTRAINTS   INDIVIDUAL  CAPABILITY   FIXED  DATES   UNCLEAR  SPECIFICATIONS   NEW  FEATURE  REQUESTS   VALIDATING  THAT  IT  ALL  WORKS  
  10. 10. WHAT  MAKES  A  PRODUCT   COMPELLING?  
  11. 11. 05:00 GMT Monday May 24 th 2010
  12. 12. features  of  jazz  improvisaDon   •  ProvocaDve  competence:  Deliberate  efforts  to   interrupt  habit  paRerns     •  Embracing  errors  as  a  source  of  learning     •  Shared  orientaDon  toward  minimal  structures  that   allow  maximum  flexibility     •  Distributed  task:  conDnual  negoDaDon  and  dialogue   toward  dynamic  synchronizaDon     •  Reliance  on  retrospecCve  sense-­‐making     •  "Hanging  out":  Membership  in  a  community  of   pracCce     •  Taking  turns  soloing  and  supporDng   “Crea3vity  and  Improvisa3on  in  Jazz  and  Organiza3ons:  Implica3ons  for  Organiza3onal   Learning”  -­‐  Frank  J.  Barrec   "OrganizaCon  Science"  /  Vol  9,  No.5.  September-­‐October  1998  
  13. 13. Arhul  Making  –  Ch.  1:  What’s  really  different  about  knowledge  work   ARTFUL  MAKING  PROPOSES  A   FRAMEWORK,  AN  “ENABLING   METAPHOR”,  FOR  DOING  AND   MANAGING  KNOWLEDGE  WORK.  
  14. 14. Arhul  Making  –  Ch.  1:  What’s  really  different  about  knowledge  work   AS  BUSINESS  BECOMES  MORE   DEPENDENT  ON  KNOWLEDGE  TO   CREATE  VALUE,  WORK  BECOMES  MORE   LIKE  ART.  
  15. 15. An  industrial  making  process   Concept  generaDon   Product  planning   Product  engineering   Process  engineering   ProducDon  process   Product  
  16. 16. Generate  Product   Talk  with   Repeat   customer   about  product   Expose   customer  to   product   Arhul  Making   ARTFUL  MAKING  IS  ITERATIVE  NOT   SEQUENTIAL  
  17. 17. 4  QUALITIES  OF  ARTFUL  MAKING  
  18. 18. A  method  of  control  that  accepts  wide   variaDon  within  known  parameters.   Release  contrasts  with  Restraint,  the   usual  method  of  industrial  control.   RELEASE  
  19. 19. The  quality  exhibited  by  conversaDon,  in  language   and  behaviour,  during  which  each  party,  released   from  vanity,  inhibiDon,  and  preconcepDons,  treats   the  contribuDons  of  other  parDes  as  material  to   make  with,  not  as  posiDons  to  argue  with,  so  that   new  and  unpredictable  ideas  emerge.   COLLABORATION  
  20. 20. The  quality  exhibited  by  the  work  of  a  group   dedicated  to  a  collaboraDon  in  which   individual  members  relinquish  sovereignty   over  their  work  and  thus  create  something   none  could  have  made  alone:  a  whole  greater   than  the  sum  of  its  parts.   ENSEMBLE  
  21. 21. The  quality  exhibited  by  a  producDon  while  it   is  playing  for  an  audience;  or  the  quality   exhibited  by  interacDon  among  members  of  a   business  group,  and  ulDmately  between  the   group  and  the  customer.   PLAY  
  22. 22. So[ware  Development   Play  Making   IteraDve  Cycle   Product  build  and  test   Rehearsal   Distributed,  independent,   Individual  developers  at  work   Individual  actors  preparing   simultaneous  invenDon   on  design  or  source  code   between  runs   Unifying  acDon   A  product  build   A  rehearsal  run   A  director  who  facilitates   The  Scrum  Master  or  project   The  director   coherent  chaos   manager   Forum  for  conversaDon   MeeDngs,  technology-­‐based   The  rehearsal  room   collaboraDve  forums,  Daily   Standup,  IteraDon  Review,   Pair  Programming,     RetrospecDves,  …   Way  of  senng  structure   Code  holds  structure   Actors  enact  structure   External  characterisDcs  of  Arhul  Making  in  Agile  So-ware   Development  and  Play  Making  (slightly  modified)  
  23. 23. The  Power  of  Your  Metaphors  –  Enrique  MonDel   TAKE  CONTROL  OF  YOUR  METAPHORS  NOW   AND  CREATE  A  NEW  WORLD  OF  POSSIBILITY,   RICHNESS,  WONDER,  JOY  AND  FULFILLMENT.   "LIFE  IS  PAINTING  A  PICTURE,  NOT  DOING  A   SUM."  -­‐  OLIVER  WENDELL  HOLMES,  JR.  

×