Pair Programming

In XP, developers always work in pairs. They take turns at the keyboard, writing code, while other developer is watching over, checking for errors and keeping the bigger picture in mind. Intuitively, this might seem to be an inefficient (as in "half as efficient") use of resources, but studies have shown that pair programming yields overall productivity gains.1 This is largely because bugs introduced into code are reduced by 50%, greatly reducing the cost of testing and late stage debugging.

References

1. Agility counts, The Economist, Sep. 20, 2001