Pair Programming Benefits and Rules
Pair programming is one of the more successfull technique from the agile movement. However it may require a cultural change in traditional software shops. Paying attention to explain the benefits and giving some guidance will help:
General benefits:
For more in-depth knowledge of cost and benefits read:
Pair Programming Illuminated - by Laurie Williams, Robert Kessler
General benefits:
- Produces better code coverage. By switching pairs, developers understand more of the system.
- Minimizes dependencies upon personnel.
- Results in a more evenly paced, sustainable development rhythm.
- Can produce solutions more rapidly.
- Moves all team members to a higher level of skills and system understanding.
- Helps build a true team.
- Reduces risk
- Shorter learning curve for new hires
- Can be used as interviewing criteria ("can we work with this guy?")
- Problems are far less hidden
- Helps ensure adherence to standards
- Cross-pollination/resource fluidity.
- Awareness of other parts of the system
- Resume building
- Decreases time spent in review meetings
- Continuous education. Learn new things every day from even the most junior programmers.
- Provides the ability to move between teams.
- More rapid learning as a new hire.
- all production code must be developed by a pair.
- it's not one person doing all the work and another watching.
- switch keyboards several times an hour. The person without the keyboard should be thinking about the bigger picture and should be providing strategic direction.
- don't pair more than 75% of your work day. Make sure you take breaks! Get up and walk around for a few minutes at least once an hour.
- switch pairs frequently, at least once a day.
For more in-depth knowledge of cost and benefits read:
Pair Programming Illuminated - by Laurie Williams, Robert Kessler