Introducing Pairing to developers and teamsTopic: Developers
Last week we discussed why we love pair programming at Esendex, this week in our blog series on Pair Programming we’ll discuss how pairing can be introduced to a developer or a team of developers.
Pairing can be intimidating
Introducing pairing is challenging. The very idea of pairing – having someone sitting next to you, scrutinising your choices – can be intimidating to a lot of developers. This is completely understandable.
The answer to this is simply to ask them to be open-minded, and give it a try. Once they’ve paired for a day or two and found their feet with it, they will see that the pairing arrangement is about working together to create better code, not criticizing each other’s abilities.
Be open with your team about what you’re trying to achieve by introducing pairing, talk about its benefits and present it as what it is, an opportunity to learn from one another and write better code. Have a frank and open discussion, allowing people’s concerns to be aired and discussed.
Ideally you have people in your team with experience of pairing, they can induct others into the practise, demonstrate its value and establish good patterns of pairing behaviour, but if not, have those with the most enthusiasm for pairing bring the team on board.
Start with a few pairs and expand out gradually, as people try it and experience the benefits it will sell itself.
Things to recognise
If you’re in a team that’s looking at introducing pairing, or even if you’re already pairing, there are a few things that are worth understanding in order to get the most benefit from working in this way:
- Pairing doesn’t work for all tasks but it does work for more tasks than you’d think. Is the task creative? Is it particularly challenging? Will the task take longer than a day? Will the organisation benefit from more than one person knowing the details? If the answer to any of these questions is yes, as is the case with most tasks in software development, then it’ll definitely benefit from pairing.
- Developers at all levels can benefit. From the senior expert who knows that legacy backend system like the back of his hand, to the wide-eyed newbie fresh out of Uni, all developers can benefit from pairing on a task. A new developer will quickly gain familiarity with the myriad systems and processes, as well as picking up the standards and practices of the team. A senior developer will benefit from the fresh perspective of a new pair of eyes.
- Each pairing is unique. Each combination of individuals in a pairing arrangement, with their own skillsets, personality traits and preconceptions, is different to the next. Different pairings are more effective in facing different kinds of challenges, and require handling in different ways.
What challenges have you met introducing pairing to your organisation? Let us know, we’ve probably met them too.
Next week, in the final part in our series on pair programming, we talk about how experience and culture play a key role in effective pair programming.