Pair programming: Good, bad and uglyPresentation Transcript
Why Pair? Better code Knowledge transfer / sharing Better morale – fun! Higher productivity Improve communication, learning and cooperation
What is good pairing? Drawing out a solution to focus the mind Communicating – talk a lot Being patient and courteous Encouraging and mentoring
Good Driving Focus on the task Complete the code Syntax Trust the navigator
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?
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!
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
Dreyfus Model Novice Advanced Beginner Competent Proficient Expert
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