Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

NorDevCon 2016 pair programming

508 views

Published on

Endnote presentation from NorDev conference 2016.

Published in: Software
  • Be the first to comment

  • Be the first to like this

NorDevCon 2016 pair programming

  1. 1. pair programming twitter : @JonJagger email : jon@jaggersoft.com blog : http://jonjagger.blogspot.co.uk/ charity : http://cyber-dojo.org n
  2. 2. a seldom questioned view of programming - a view which this book will spend a great deal of time questioning. That view is that programming is an individual activity... individual from... (see slide 4)
  3. 3. if egoless programming is used, everyone in the group will have the opportunity to examine the work of everyone else at some time, thereby tending to prevent the establishment of strong hierarchy. team from... (see slide 4)
  4. 4. 4 Written 1969 Published 1971 Silver Anniversary 1994 Golden Anniversary 2019 longest continuously in-print book on software development?
  5. 5. mob programming
  6. 6. we were doing incremental development as early as 1957... where the technique used was, as far as I can tell, indistinguishable from XP http://www.craiglarman.com/wiki/downloads/misc/history-of-iterative- larman-and-basili-ieee-computer.pdf Jerry Weinberg
  7. 7. we worked with punch cards and printouts... with a turnaround time of a week or so as we airfreighted decks of cards from New York to Los Angeles. personal email from Jerry
  8. 8. when do developers instinctively pair?
  9. 9. rubber-duck debugging https://en.wikipedia.org/wiki/Rubber_duck_debugging
  10. 10. silenttalking images are representative only
  11. 11. productivity in my experience, pair programming is more productive than dividing the work between two programmers and then integrating the results extreme Programming explained
  12. 12. pairs spent about 15% more time on the program than the individuals* the resulting code has about 15% fewer defects the pairs consistently implemented the same functionality in fewer lines of code most of the programmers enjoyed programming collaboratively http://collaboration.csc.ncsu.edu/laurie/Papers/ieeeSoftware.PDF strengthening the case for pair programming Laurie Williams Robert Kessler Ward Cunningham Ron Jeffries
  13. 13. an experiment by Temple University... Professor Nosek studied 15 full-time, experienced programmers working for 45 minutes on a challenging problem, important to their organization, in their own environment, and with their own equipment. Nosek, J. T. (1998). The Case for Collaborative Programming. Communications of the ACM. March 1998: 105-108.
  14. 14. five worked individually, ten worked collaboratively in five pairs. Conditions and materials used were the same for both ... groups. Nosek, J. T. (1998). The Case for Collaborative Programming. Communications of the ACM. March 1998: 105-108.
  15. 15. all the teams outperformed the individual programmers, enjoyed the problem-solving process more, and had greater confidence in their solutions... producing better algorithms and code in less time (40%) Results statistically significant using two-sided t-test.
  16. 16. if pairing increases productivity why is it rare?
  17. 17. pairing is rare because working alone is common!
  18. 18. "locking" occurs whenever a situation creates an environment favorable for maintaining that situation... locking occurs in all sorts of systems... especially... social Psychology of Computer Programming
  19. 19. ? individual assessments ? different keyboards ? different editors ? table design ? room layout ? number of computers ? tools ...
  20. 20. pair programming works for XP because it encourages communication XP is a communal software development discipline. communication
  21. 21. we are all lousy self evaluators Switch by Chip and Dan Heath feedback
  22. 22. programmers admit to working harder and smarter on programs because they do not want to let their partner down Pair Programming Illuminated energy
  23. 23. risk pairing helps reduce truck/bus number (aka the lottery number)
  24. 24. interruptions pairs are very resistant to interruptions
  25. 25. interviewing teamwork characteristics cannot be determined if you interview one at a time. The Deming Route to Quality
  26. 26. i felt it was unwise to allow players to practice by themselves. Always I wanted them to be interacting with their teammates. Wooden on Leadership interaction
  27. 27. the pair results were more consistent... the individuals varied more about the mean. consistency Pair Programming Illuminated
  28. 28. widespread use of pair programming involves a cultural shift in values of the organization - away from individual and toward team recognition and goals. Pair Programming Illuminated team
  29. 29. courage courage is the capacity to go ahead in spite of fear, or in spite of pain. M. Scott Peck
  30. 30. if people program solo they are more likely to make mistakes, more likely to overdesign, more likely to blow off the other practises, particularly under pressure extreme Programming explained quality
  31. 31. Studies of Independence and Submission to Group Pressure. A Minority of One Against a Unanimous Majority Solomon Asch Psychological Monographs, 1956.
  32. 32. 7 confederates 1 subject https://en.wikipedia.org/wiki/Asch_conformity_experiments
  33. 33. 18 trials in trial 1 and trial 2 the 7 confederates and the subject gave the obviously right answer in the remaining 16 trials the 7 confederates gave the same obviously wrong answer 12 times
  34. 34. 75% of subjects gave the incorrect answer in at least 1 trial the subject conformed to the incorrect answer in all 12 trials 36% of the time
  35. 35. Studies of Independence and Submission to Group Pressure. A Minority of Two Against a Majority Solomon Asch Psychological Monographs, 1956.
  36. 36. presence of 1 true confederate decreased subjects conformity to the incorrect answer by 75%
  37. 37. thanks for listening twitter : @JonJagger email : jon@jaggersoft.com blog : http://jonjagger.blogspot.co.uk/ charity : http://cyber-dojo.org n
  38. 38. 1969 1990 2004

×