“Pair programming is a software development practice in which two programmers work together at one work station” http://en.wikipedia.org/wiki/Pair_programming.
I’ve worked with pair programming at just 1 company for 9 months, the results were both good and bad.
During the time when you are pairing you share your computer with another person. You also share your virtual life details, such as:
- organization: how you organize your documents, projects, music, etc.
- choice: which applications you use and how you use it, like: themes, hotkeys and configurations.
- skills: typing velocity, how much you know about the application that you’re developing.
Off course, when these pairs get along with each other sharing information becomes productive.
The one billion dollar question is: “What happens when the pair does not get along?”
If both people aren’t open to learning with from the experience, the day by day can become difficult.
Pair programming doesn’t work when one party feels the result could be better if the work was done alone. In this case, pair programming is an intrusive and negative experience.
Some people doesn’t understand this situation. To make it easier to understand I usually like to compare pair programming to driving a car and having someone beside you.
First case: Going by a known path.
Imagine you’re going to a party, you’re driving your car and you know the way to go there. Beside you is someone, a friend or just an acquaintance.
If you have some doubt how to get the place or make some mistake this person can help you, suggest a better way or street.
When you arrive in the party you’ve learned something or at least both of you have had a great time together.
Second case: Learning new path.
Now, imagine you’re going to another party. Beside you is another friend or acquaintance.
During the way you ask for some help. That person helps you as best as possible.
When you arrive in the party you’ve learned a good path and both had a great experience.
Third case: The beginning of the end.
Now, imagine you’re going to a party, doesn’t matter if you know how to get there. Beside you have someone again.
You are driving but now this person prefers to do the driving. If you make some mistake that person says “It would be better if I was driving.” or “If I was driving it wouldn’t have happened.”. What would you do?
Probably both of you arrive at the party in a bad mood and will try to avoid sharing the same the car again.
Maybe if you were in the car a debate would start. But, during pair programming you’re in a company and some words wouldn’t and shouldn’t be said.
Think about it, before sharing your computer with someone.
It’s better to both if you enjoy it.
PS: Thank you Desi for reviewing this post. I’m a english learner and Desi have been helping me.
PS1: To read in portuguese click here.