Pair programming: Good, bad and ugly

1,389
-1

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,389
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
16
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • One workstation
    Driver –
    Concentrates on just coding
    Navigator –
    Reviews code
    Checks for errors
    Considers overall design
  • simpler design, reduce bugs, more maintainable
    – code base and coding, removes knowledge silo’slogin
  • Think about:
    Possible bugs
    Larger issues
    Ways to simplify the code
    Alternatives
    Are we doing the right thing?
    Wait until the driver has finished the piece of code to bring issues and design up
    Jot down any tasks to discuss when driver has finished typing
  • Studies have shown you can’t navigate (think about larger issues) whilst driving. Two roles exist so it isn’t about one getting a break while the other codes!
  • Pairing is hard!
  • If you are doing pairing right you will be very tired at the end of the day as you will have been very focused all day
  • Pair programming: Good, bad and ugly

    1. 1. Pairing
    2. 2. Why Pair? Better code Knowledge transfer / sharing Better morale – fun! Higher productivity Improve communication, learning and cooperation
    3. 3. The Good
    4. 4. What is good pairing? Drawing out a solution to focus the mind Communicating – talk a lot Being patient and courteous Encouraging and mentoring
    5. 5. Good Driving Focus on the task Complete the code Syntax Trust the navigator
    6. 6. Good Navigating Review the code Pay total attention Talk not show Think about the bigger picture Think about alternatives Are we doing the right thing?
    7. 7. The Bad
    8. 8. What is bad pairing? Anti - patterns Navigator dictating – backseat driving! Keyboard hog and keyboard snatching Mentally checking out No collaboration You can’t do both roles It’s not fun!
    9. 9. The Ugly
    10. 10. Clever code != clean code Complex code is not always clean code It can confuse your pair Steam training Belittling your pair – “Don’t you know that” Arrogant and egotistical
    11. 11. Dreyfus Model Novice Advanced Beginner Competent Proficient Expert
    12. 12. How to be good…  Define your task and agree on a solution  Rely on each other  Sync up frequently  Celebrate your success – High 5!  Switch roles regularly  Be courteous, respectful and understanding  Talk and listen  Don’t check your email/twitter/facebook etc  Have short regular 5 minute breaks
    13. 13. Remember… Pairing is sharing 
    14. 14. Questions? Sara Email: sara@sarastephens.com Blog: www.developerdame.com Twitter: @developerdame Rachel Email: rlaycock@thoughtworks.com Blog: www.rachellaycock.com Twitter: @rachellaycock
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×