Pair Programming and XP Values


Published on

Published in: Technology
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Pair Programming and XP Values

  1. 1. Pair Programming and XP Values ShriKant Vashishtha
  2. 2. Values = Roots of what we like or don’t like
  3. 3. Practices and Values• Practices are evidences of values• Practices implemented in most effective way possible, shows that I value “values”.
  4. 4. Pair Programming – What is it? • Better work together more quickly than either could alone. • The driver types – focus on tactics - writing clean code • The navigator - focuses on strategy - how the code fits into the overall design, refactoring, tests etc. • They switch every few hours to share perspectives and knowledge. • Knowledge sharing within the team is good and the team knows the total code base better.
  5. 5. How to do it?• Pair on everything you need to maintain• Switch partners when you need a fresh perspective• Pair with different people throughout the day• Sit comfortably• Switch driver and navigator roles frequently• Collaborate and converse!
  6. 6. How to do it?• Have design discussions and agree upon as a pair what’s intended to be done.• Agree on one tiny goal at a time• Rely on your partner, support your partner.• Talk a lot• Switch roles often• Write unit test first• Pay attention – don’t check your email, facebook etc• The person who knows less about the system or language should do most of the driving, to ensure that the novice stays engaged. You learn more through your fingers than through your eyes.• Ping-pong pairing
  7. 7. Pairing Anti-patterns• No breaks• No pair-switching• No pairing core hours• Not communicating enough• Not listening to other solutions• Grabbing the keyboard away• Silent partner• Listening to partner, but ignoring feedback, as if they are an annoying popup in your IDE.• Egos and personality conflicts
  8. 8. Force - Improve Velocity, Team!
  9. 9. Shouldn’t we rather focus on effectiveness more?
  10. 10. Effectiveness demands Simplicity = eliminate wasted complexity
  11. 11. Value - Simplicity
  12. 12. Force – Different Schools of Thoughts
  13. 13. Value - Respect
  14. 14. Troubles in pairing?• I’m faster on my own• Can’t pair with that guy, he’s getting on my nerves• Pair programming is too tiring• We’ve split up the work and we’ll get it done faster if we use two keyboards• There’s too much background noise• I’m just slowing her down
  15. 15. Pairing Styles
  16. 16. Style 1: The Commander and The Backseat Driver
  17. 17. Style 1: The Commander and The Backseat Driver
  18. 18. Style 2: The Rally
  19. 19. Style 3: The Tour
  20. 20. Style 4: Disconnected Pair or The Sleeping Navigator
  21. 21. Other Values in XP
  22. 22. Communication – Electronic vs face-to-face
  23. 23. Facts around Communication
  24. 24. Value - Feedback
  25. 25. Will wait till retrospective ;). Really???
  26. 26. Feedback and Continuous Integration Do painful things more frequently
  27. 27. Questions