Everyone Needs a Friend Sometimes: Programming in Pairs


eXtreme Programming had made the practice of pair programming popular. The practice is not new ”programmers have been working in pairs for years . But XP adds discipline to the practice by defining how pair programmers work. [12]

[12] See Appendix C for details about eXtreme Programming.

An open question is whether programmers should pair up for all code they write. If you adhere strictly to the XP practices, every line of code is written by a pair of programmers. Chris and Gary believe in the value of pairing , but they aren't convinced of its necessity for all code. Programming is often a creative intellectual activity. At other times, it involves focused coding that is more detailed than creative. Some people are more creative when they reflect on the problem to be solved and others are more creative when they interact with others. We think most people need to work both independently and in pairs to maximize their creativity.

On our project, it was impossible to do all our work in pairs if we wanted to deliver a working product to Russell in a reasonable time. When you work on a distributed team, pair programming is often not feasible . Instead of abandoning the idea entirely, we followed our customary approach and adapted the practices to the way we chose to work.

Much of the PSP Tools code was developed individually by Chris or Gary. They coded their components for particular features, using previously defined interfaces or infrastructure code. Even though they weren't working together physically, they were almost always in communication because they used instant messaging software. They periodically met for pair programming or design sessions. These sessions allowed them to address the difficult problems they were encountering and then implement enough code together for them to continue individually until the next meeting. These focused sessions were invaluable and kept us from getting hung up on any single problem.

For small, distributed development teams , we think instant messaging software is a critical tool. Many organizations have adopted messaging software as a standard communication mechanism. There are many choices available and all provide similar capabilities. We recommend that you choose one that has a logging, or history, function. This gives you the ability to record all conversations with your teammates. Regardless of how well you communicate, you will forget the details of conversations. The history gives you a memory boost .



Software Development for Small Teams. A RUP-Centric Approach
Software Development for Small Teams: A RUP-Centric Approach (The Addison-Wesley Object Technology Series)
ISBN: 0321199502
EAN: 2147483647
Year: 2003
Pages: 112

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net