Tuesday, November 22, 2011

The joy of a little pair programming

We have been working with Agile methodology for a year and a half, we do scrums, two-week sprint, some TDD, but until two weeks back we started trying pair programming.

I did not like the idea at the beginning since I got used to the fast movement I usually make at work. But I was willing to share with others in the team, so I did not deny it as well. Two weeks passed, it turned out to be quite positive:
  • We have a lot of discussions when we pair program.  The result is very obvious. Everybody on the team gets to the same page. Even if I do not read detail implementations, I have all the changes in my picture. Same to others. We did not have much design sessions before and there were no code reviews, now pair programming addresses those issues.
  • We learned more on TDD. When working solo, it is easy to bypass writing unit tests. We are working on UI framework, a lot of tests are hard to write. When working in group, we find it is a fun to share thoughts not just on design, but also on how to create tests. 
  • We learn "tricks" from each other. I use shortcuts a lot and this time I share many of them with other two developers. Same time I learned several from them.
Since each developer in the team has his own special responsibilities, we divide work into prototyping and implementation. Everyone is involved in the prototyping, but implementation may go to one single developer when others are busy with other tasks.

I think one reason it works well in our team is because each developer in the team is really good. Everybody is very close, either in programming skill or in analytical skill. When you have multiple bright brains think hard on the same issue, you can only increase the quality of the software!

No comments:

Post a Comment