Pair Programming Secret #6. Manners
Manners in the workplace seem to have gone the way of chivalry, yet good etiquette is a crucial part of human interaction. Programmers often forget this because they don't have to thank their shell script for searching through a log file, nor do they have to ask their laptop to politely launch their favorite IDE. However, when pairing, good manners are expected and poor manners are not easily forgiven.
I find it useful to start off a new pairing session by setting a few simple ground rules. If you prefer to formalize these ground rules you can work with your team to create a set of team ground rules for pairing. Whichever way you go, just remember that it is necessary to have a shared understanding of how you will work together as a pair before starting, to avoid confusion and hurt feelings. You might be surprised to learn the actions that distract or bother your co-workers.
By working to improve your manners I think you will find that you will have more enjoyable pairing sessions and will become one of the most sought after people to pair with on the team.
Pair Programming Secret #7. Hygiene
This should really go without saying. Unfortunately, I have to say it because too many people ignore the use of basic hygiene in the office. It's better that you hear it in the context of an article than suffer the embarrassment that poor hygiene could cause later. So consider this a quick "Health Class for Pair Programmers."
Of course, you should shower every morning, brush your teeth and use deodorant. Throughout the day you need to be mindful of your breath and consider brushing, following up snacks and meals with a mint or breath freshening gum. If you smoke, you should always wash your hands and freshen your breath before returning to your workspace. If you cough or sneeze, be sure to cover your mouth using the inside of your elbow as a shield and sound muffler. Always keep hand sanitizer nearby to keep your hands clean and sanitary throughout the day.
In addition, if you work in a bullpen or Agile room, it's important to remember to clean up after yourself. It's not fair to the pair that will come behind you to have to clean up before they can start working.
Toward Pair Programming Perfection
Hopefully, you will find these seven secrets helpful for your next pairing session. I have probably violated every principle of every secret in this article and this is part of what has made it possible for me to compile these secrets. But thanks to my years of experience and with help from my teammates and coaches, I have gained a level of self awareness that now allows me to make the necessary adjustments to become a more effective pair programmer in the workplace.
By no means have I completed this journey, but I am a better pair programmer today than I was yesterday. It is for this reason that I define success, not as the attainment of a static goal, but rather as the continual attainment of small goals on a path toward perfection, and with the full awareness that my journey as a pair programmer will end well before achieving perfection.
Did I leave out any important traits for successful pair programming? If so, tell me about them in the comments below.
Further Reading on Pair Programming
If you'd like to read a bit more about this subject, check out these links