Developing a software product has always been a team effort. A new software development technique where two programmers code on one workstation is gaining popularity.
Instead of coding alone in a dark room, pair programming helps in effective output through complex coding. The technique requires two people to work together to develop software at the same workstation. Roger Neel, Cofounder of an online project management software, Mavenlink is promoting this software development technique among programmers.
What is pair programming
The technique requires two programmers to focus on the same code, on the same workstation. Pairing new employees with experienced programmers can help in speeding up the development time. The team needs to start pairing from a very first line of code. According to Neel, Mavenlink first adopted the methodology in 2009 and it has been the best decision for the company.
Benefits of pair programming
The idea of pair programming is not just about pairing. On a team of 5-8, the pair rotation is a key to get the most out of pairing. Engineers need to change pairs every day or two. The context of switching can feel disruptive at first but for teams that push through the early pair, benefits are substantial.
The biggest benefits of pair programming much lower engineering ramp times. The companies feel that they can easily ramp an engineer into the code base and practice quicker by pairing, rotations and context sharing than in the traditional solo environment. Pair programming has also proven to be the most effective due to the less dependency that the project has on individual members of the team.
Pairing will affect which candidates are attracted to your culture. For some candidates, pairing is a filter out. It is important for founding members to set the culture right and ensure that pairing is not wasting anyone’s time. The day spent in paired programming can be more tiring as compared to solo programming. The companies need to be more mindful of not burning its employees on the pairing.
Surveys suggest that that pairing is the right tool for many projects, but not all the projects. Pairing should work in case of all projects irrespective of their level of complexity. However solo time is beneficial during quick explorations to find the complexity in the problem, reporting the findings back to the team during daily meetings.