Higher cost pair programming - are paying off

Extreme programming (XP) is one of the most important approaches of modern programming techniques, looking for new ways to bring projects to a successful conclusion quickly and error-free as possible. Among the techniques of extreme programming, pair programming (pair programming) stands out particularly.

In this approach, two programmers edit a joint project on an equal footing. The two partners act as pilot and Navigator on board an aircraft: A programmer writes the actual code, while his colleague constantly controls the rate and has an eye on it, that all processes in the cockpit are properly respected. According to the principle "Four eyes see more" potential problems will be detected earlier and eliminated thanks to the combined expertise of two programmers in the team.

Two equal programmers of course also twice as much cost as an individual developer. Therefore the customer the legitimate question arises: "Worth pair programming the cost?" Getting hands-on experience with pair programming, as well as studies of recognized faculties, such as the Karlsruhe Institute of technology, speak for that. However, there are some important characteristics of this method note which we hereafter will go.

Firstly, to select the suitable candidates for the joint work of the available programmers. Interpersonal tensions can lead to a serious handicap of the workflow. Also the partner regarding their capabilities, should be roughly at eye level. A too much performance difference between the two candidates, the pair programming is very well suited to build know how the schächeren programmer.

Time schedule

Also a certain period should be planned, during which the programmers get together and find a common approach. In the long run work in pair programming is however significantly faster, as in the individual work. At the same time, programming pairs reach higher quality standards and write more efficient code. This increased performance is due to the mutual control of the developer. Soloists tend to especially under time pressure to make changes to unfavorable digits of the code or to overlook minor errors. Pair programmers, however, motivate each other, put a clean code and can provide assistance to each other at any time. A large market pressures with a correspondingly high order situation, in other words the pair programming with a team pays off definitely. Their speed - at a low error rate - relativises the higher costs. In weak times without major order printing, individual development makes may be financially more sense.

Quality improvement through pair programming

However, in terms of the quality of written programs, has the pair programming in any case the edge. She unfolded their usefulness particularly in combination with modern philosophies such as test-driven development. There, tests usually before the relevant part of the system are written to create the conditions, which should meet the finished program. A later trial falls away as far as possible after completion of the software, as already during the development of corrections can be made permanent. This aim is a comprehensive automation of these tests. These are then on button within a very short time. A pair of experienced programmers can complement excellently in this method: A partner writes the code, while his colleague takes care of continuous testing. The test-driven development requires a clean, efficient code. And the pair programming, this is the case, than with individual programmers usually rather. In the long term is to so much more economically, this kind of development of capable teams do it.

Communication and sharing of knowledge are essential in programming. The direct cooperation of two programmers enormously accelerates the exchange of knowledge. Also, the partners are jointly developed, tried and tested ways of working and be strengthened as well as individual programmers. To maximize this effect, it is advisable to make several two-person teams and to change their occupation by regular rotation. In this way, all employees benefit from the resulting swarm competence also in larger programming departments. The risk that two programmers sitting together on the computer and only one of them actually works, is also reduced. Because once several partner rotations have occurred, will emerge, which colleagues due to her performance as well as their knowledge best fit together.

Motivated employees

More fun at work and improved motivation are more pleasant side effects of pair programming. Team spirit and cohesion be strengthened because every developer knows that his colleagues in doubt for him there are. And always motivated staff are invaluable, even if two of them each a project share.

Finally, it remains to say that the pair programming is worth also in economic terms. Conditions are enough capable developer on the team, which character get along and are at a comparable level of performance. The high-quality and fast produced programs provide high profits in times of great demand. The frugal-minded customer, we say: "Yes, pair programming worth the higher cost."