Everything you wanted to know about PairProgramming but were afraid to ask

10,537 views

Published on

(Previously called PairProgramming is like sex)
I created this presentation to explain to IT students what is PairProgramming. The second part of my talk they had to PairProgram themselves.
(Hence the title: nobody can explain sex in a book or presentation, you have to do it, to know what it does to you.)

Published in: Education, Technology, Design
11 Comments
15 Likes
Statistics
Notes
  • the book version can be found on www.leanpub.com/pairprogrammingworkshop
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • On November 17 (2011) I am giving a workshop where this presentation is part of http://www.ilean.be/course/pp201111
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • @Yves: I see. I usually argue that TDD is and should be development. You could drive design from BDD which could be less fine grained than TDD (as in working at a higher level of abstraction).
    I also argue that the tests that one writes stems from some sort of requirement, constraint or expectation on the software. Design is one kind of constraint and therefore I don't see that tests can (or should) drive design. But this all comes down to what you put into the word 'design'.
    I'm not saying that you're wrong - these are the questions or arguments I usually put forward to get a discussion going in order to better understand what the other person actually means with TDDesign. :)
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • @Adolfo that is one of the reasons. There are more, like 'you can't learn it from a book.' what else?
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • @Frederik: originally TDD was called Test Driven Development. These days a lot of people (including me) say that TDD works because it is more a design technique then a development technique.
    That is why I call it Test Driven Design. Although you can do PP without TDD and viceversa, the two techniques support eachother. That is why usually when I talk about ne, I add a small part about the other, for if I have time to space.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total views
10,537
On SlideShare
0
From Embeds
0
Number of Embeds
5,221
Actions
Shares
0
Downloads
1
Comments
11
Likes
15
Embeds 0
No embeds

No notes for slide
  • Write this down during 1 minute then share this with your neighbour
  • If during the course, you have questions, please write them on a post it.
  • Two guys working on the same taskBoth have the same target
  • One person executes, the other watches and gives directions
  • Two site or two people working as one team
  • "yep, dat is de drill. In de eerste plaats een veiligheidsmaatregel. Als je verongelukt, of er is een probleem met je persluchttoestel is er direct iemand op de hoogte. Ook handiger om aan de slang te sleuren of te overleggen."
  • The junior developer slows down the senior?The speed of your team is not about the fastests developer, it is about the slowest developerIf you speed up the slowest developer, you speed up the teamUse the
  • The junior developer slows down the senior?The speed of your team is not about the fastests developer, it is about the slowest developerIf you speed up the slowest developer, you speed up the teamUse the
  • Pairing experiment at University of Utah
  • How many people can YOU afford to loose
  • Write this down during 1 minute then share this with your neighbour
  • Everything you wanted to know about PairProgramming but were afraid to ask

    1. 1. www.PairCoaching.net Everything YOU wanted to know about PairProgramming but were afraid to ask... Yves Hanoulle PairCoaching.net
    2. 2. What is the succesfull outcome of this talk?
    3. 3. It’s a Topless talk...
    4. 4. Questions by Post-it 4
    5. 5. Aha Wall
    6. 6. Referee cards 6
    7. 7. You.About()  Who is a programmer?  Who is a manager?  Who has done PairProgramming?  Who likes pairing?
    8. 8. The goal is to enlarge your toolbox
    9. 9. PairProgramming what is it? What is this Russian thinking ?
    10. 10. Driver - Navigator
    11. 11. Experience
    12. 12. one team
    13. 13. Pair Programming
    14. 14. Isn’t it waste?
    15. 15. Why would two people do the job of one? I
    16. 16. Why would two people do the job of one? II
    17. 17. Why would two people do the job of one? III
    18. 18. Why would two people do the job of one? IV
    19. 19. Why would two people do the job of one? V
    20. 20. Why would two people do the job of one? VI
    21. 21. Why would two people do the job of one? VIII
    22. 22. Why would two people do the job of one? IX
    23. 23. Why would two people do the job of one? X
    24. 24. Why would two people do the job of one? XI
    25. 25. This is why two people do the job of one !!!
    26. 26. Won’t a junior developer slow down senior developer?
    27. 27. It’s about the speed of the team!
    28. 28. The power of the junior
    29. 29. The EGO of the senior
    30. 30. My cost will double I
    31. 31. My Costs will double II
    32. 32. My cost will double III “IBM reported spending about $250 million repairing and reinstalling fixes to 30,000 customer-reported problems. That is over $8,000 for each defect!” -“A Discipline for Software Engineering”, 1995, Humphrey, W.S.
    33. 33. Less distraction...
    34. 34. It’s Fun...
    35. 35. Let’s talk about the resistance
    36. 36. Small work area
    37. 37. Strong Code Ownership
    38. 38. Inconsistent workstation setup
    39. 39. People don’t care
    40. 40. Everyone settles into their own “Comfort Zone” over time
    41. 41. Hard and dangerous tasks
    42. 42. Boring tasks
    43. 43. New Team Member
    44. 44. New Framework
    45. 45. New Language
    46. 46. Need more experts
    47. 47. Have a higher Truck Number...
    48. 48. Knowledge Sharing Tacit knowledge Explicit Knowledge
    49. 49. Just Do IT
    50. 50. PingPong Programming
    51. 51. Keyboard and Mice Pairing
    52. 52. Pairing Station I
    53. 53. Pairing Station II  Promiscue pairing
    54. 54. Pairing Rotation
    55. 55. Distributed PairProgramming
    56. 56. Promiscue pairing
    57. 57. Side-By-Side programming
    58. 58. Screen Pairing
    59. 59. Pomodoro Technique
    60. 60. Ask for help
    61. 61. Rescue
    62. 62. Pairing Smells
    63. 63. Distracted Pair
    64. 64. No pair rotation
    65. 65. Manager decides the pair
    66. 66. Nobody talks about the elephant
    67. 67. Selective Pairing
    68. 68. Some people can’t do it
    69. 69. Some people can’t do it... III
    70. 70. Discussions are needed for GREAT results
    71. 71. Productivity Alone
    72. 72. Productivity Together
    73. 73. What is the succesfull outcome of this talk?
    74. 74. Pictures  Naresh Jain: http://www.slideshare.net/nashjain/pair-programming  Jurgen Appelo: http://www.noop.nl/2011/04/the-feedback-door.html  Vera Peeters personal collection  Dilbert : http://www.dilbert.com/  British Monarchy http://www.flickr.com/photos/britishmonarchy/  Jan Tielens: http://www.flickr.com/photos/JanTielens  Picture Bill Gates: http://www.labnol.org/internet/favorites/13-year-old-bill-gates- with-paul-allen/330/  One-Agency: http://www.one-agency.be/jobs  Pomodoro: http://www.pomodorotechnique.com/  Drupal Image: http://www.zabisco.com/  B Marick & C Haines: http://www.exampler.com/blog/2008/12/10/screen-pairing/  Yves Hanoulle & Els Ryssen http://www.flickr.com/photos/yveshanoulle/  Lots of picture already years on my drive. If you recognise one, please tell me and I add credentials.
    75. 75. Url’s  http://www.slideshare.net/nashjain/pair-programming  http://nat.truemesh.com/stairmaster.html#  http://www.mitchlacey.com/docs/XR4PromiscuousPairingandBeginnersMind.pdf  http://collaboration.csc.ncsu.edu/laurie/Papers/Kindergarten.PDF  http://www.britannica.com/bps/additionalcontent/18/34706583/Pair-Programming-as-a-Modern- Method-of-Teaching-Computer-Science  http://www.pomodorotechnique.com/  The Core Protocols http://alturl.com/b9fn  The Costs and Benefits of Pair Programming (Laurie Williams & Alistair Cockburn)  Strengthening the Case for Pair-Programming (- Laurie Williams, Robert R. Kessler, Ward Cunningham & Ron Jeffries)  On the Economic Feasibility of Pair Programming (Hakan Erdogmus & Laurie Williams )  http://www.netobjectives.com/ap/download/pairing.pdf  http://salfreudenberg.wordpress.com/2013/06/08/pair-programming-and-expertise/  http://salfreudenberg.wordpress.com/2013/06/15/pair-programming-uptake-and-peripheral- awareness/  http://altabel.wordpress.com/2013/05/24/pair-programming-pluses-and-minuses-bonuses-and- anti-patterns/
    76. 76. History  Version 4: Created for a mini conference for students  Version 8: adapted for internal PairProgramming training  Version 11: Uploaded a new version to be used for public training  Version 15: Added extra material  Version 20: renamed the presentation + removed content
    77. 77. I give Free Lifetime support on everything I do  Blog, slides, books, pictures : http://www.hanoulle.be  Social Media @YvesHanoulle  Linkedin: http://www.linkedin.com/in/YvesHanoulle  Mobile: +32 476 43 38 32  Skype: YvesHanoulle  Free life time:  My life not yours
    78. 78. Me.About() Creative Collaboration Agent in EMEA. Partner of Els Ryssen Father of Joppe 2002, Bent 2004, Geike 2007 @YvesHanoulle
    79. 79. PairCoaching.net the way to leading greatness Thank you !!

    ×