Pair programming has already been noded above, but the decision making as to whether to adopt it fully depends on the wishes of the team. It is certainly not a cure-all and in fact puts constraints on facilities and the IT department (who have to only buy computers that can support dual monitors, for example). It can also affect staffing: odd numbered teams have difficulties every day. Here are various pros and cons regarding making the decision to adopt the above.
Pros and Cons of Pair Programming:
- Encourages developers to work together, giving different perspectives on a problem
- Results in effective knowledge transfer between team members, leading in reduced bus numbers, especially for critical tasks
- By its very nature, discourages web surfing and IM usage at work
- Encourages members of the team to check in their work to a central repository, so that one doesn't have to work on a specific computer because changes are not available to all developers at any time.
- Allows for some socialisation
- Allows people with different skill sets to synergize their results.
- Close Proximity/Keyboard sharing can transfer illnesses between team members, so the use of hand sanitizers, hand washing and a certain level of hygiene is mandatory
- If the two members in the pair are greatly mismatched in experience, one will slow down the other, resulting in a net LOSS of productivity
- Antisocial or difficult employees will affect the workplace to a far greater degree