Pair Programming at EsendexTopic: Developers
As a development team, we love pair programming because experience has shown us that it results in better decisions and more useful and reliable software.
What is Pair Programming?
Two programmers, one computer, one keyboard, one mouse – think pilot and co-pilot. One developer “drives” (writes the code) while the co-pilot is hands-off; observing, advising and considering the wider context of the code being written.
The pair constantly discuss their approach, and swap roles regularly
to ensure a balanced contribution.
It can be daunting, the idea of
sharing every bit of how you work with another developer but you’ll
quickly find that such worries are unfounded and the benefits are numerous.
We have found pair programming consistently brings us the following benefits:
- Fewer bugs. FAR fewer according to these studies.
- More energy and focus. It’s much harder to get distracted when there are two of you focusing on the task at hand. It’s exhausting at first, but the higher energy level soon becomes addictive.
- Articulation. The pairing dynamic requires us to articulate what is in our heads, which not only communicates our ideas for our co-pilot to validate, but also organises those ideas in our own minds.
- More ideas and opinions. Programming is creative! We’re not operating a machine on a production line; we’re creatively solving a problem. In other creative industries collaboration is the norm, so too it should be in software development.
- Shared domain knowledge. Pairing is a great way to share coding standards and approaches, reduce knowledge silos and thus ensures the team has a high bus factor.
We’d love to hear about your experiences of pair programming, if you have any comments or questions, please get in touch with us on Twitter.
Next in our series on Pair Programming we talk about how you can introduce pairing to developers and teams.