Nothing strikes fear into management more than the suggestion of Paired Programming. They start envisioning multiple people sitting around one computer. One person is working while the other is eating popcorn and reading magazines. To be honest, I was once a ‘Pair Programmer denier’.
During a retrospective, a team brought up the idea of Pairing. They even brought a video: www.mobprogramming.com
As a good Scrum Master I had no choice but to allow the team to at least try pairing for several hours a day. I had every expectation that it would fail. After one iteration the experiment was not a complete failure, and the team requested another iteration to work out the kinks.
After the second iteration, we were hooked. Not only did pairing not fail, but our velocity began to increase, quality begin to improve, and the team started to spend even more time in pairs.
This blog post is a list of statistics that have I found that prove paired programming works, and my top 3 quick wins I received once I put paired programming into practice.
Paired Programming Benefit #1: Communication
This benefit seems simple: ‘The team starts to work closer together, and communication goes up”. However, the effects are more far reaching than that. The team learned how to talk to many different personalities and skill sets. They started to put our Emergenetics profiles into practice. The team began to look beyond the ‘title’ of each team member and they began to utilize each team member’s vast talents and experience. Our meetings per iteration decreased and our Retrospective and Demos became super-charged.
Paired Programming Benefit #2: Quality Improvements
Quality on many levels began to increase. The team’s documentation quality increased while the number of pages per document decreased. The number of bugs reported in production took a dramatic decrease while the amount of time needed for regression testing and hardening also decreased. Job satisfaction increased as team members began to learn new skills by working closely together.
Paired Programming Benefit #3: Self Organization
Planning sessions started to revolve around who would pair on stories. The team started to self-organize in ways that I had not seen before. The team started to ask questions like: “Who needs to learn this feature?”, “Who has experience…?”,”Who can assist with…?”. As the team began to understand the ‘big picture’ they began to provide input on release planning and backlog grooming. Their suggestions offered insight, innovation, and efficiency where there was none before.
What kind of experiences have you had with pairing? Positive or Negative?Talk to Us Today