Pair Training (hands-on Exercises)

One of the key XP (Extreme Programming) Practices is that of Pair Programming � two programmers working side-by-side at one computer collaborating on the same design, algorithm, code or test. The XP advocates state that higher quality products are produced faster, inspite of what appears at first sight to be an overtly redundant, wasteful use of programming resources.

The interesting thing that I have found is that when I teach SCM training courses with hands-on exercises (where people work through exercises against a pre-prepared repository), I usually get much better feedback and results if those present do the exercises in pairs.

Benefits

The advantages that I see are:

  • a higher level of “hubbub” in the room – an indication of information exchange and reinforcement, resulting from more discussions both within and between pairs
  • greater willingness to ask questions of the trainer
  • faster progress through the exercises

My feeling is that pairing gets over a variety of inhibitors. It is quite easy when doing exercises to get stuck thinking you ought to know the answer (usually in the materials presented in the last session), and people work away for quite long periods without progressing. More importantly from a trainer’s point of view, people are often somewhat reluctant to ask questions and thus show that they have a problem (this tendency can vary significantly between different nationalities).

There are other factors at work:

  • if there is an active internet connection available on the machines then individuals are more likely to surf the net or check their emails than a pair
  • a pairing of more/less experience people brings greater knowledge transfer

Disadvantages

Some people find it inhibiting to work in a pair. They have a certain learning style and this doesn’t mesh well with their potential partner. Also, levels of experience can vary quite widely, leading to boredom and less learning for the more advanced person (though usually with benefits for the less advanced).

Some people prefer to be able to take detours and investigate functionality on their own, and are inhibited from doing this in a pair (which is a shame).

Applicability

Pair exercises work extremely well for in-house courses where all those present work for the same company. They usually know each other and are able to pair up easily and quickly.

Not surprisingly, I do not find it so applicable with public courses where only 1 or 2 people per company are present, and the level of preparation and relevant prior knowledge and experience can vary significantly among those attending.

http://www.robertcowham.com/blog/wp-content/plugins/sociofluid/images/digg_48.png http://www.robertcowham.com/blog/wp-content/plugins/sociofluid/images/reddit_48.png http://www.robertcowham.com/blog/wp-content/plugins/sociofluid/images/stumbleupon_48.png http://www.robertcowham.com/blog/wp-content/plugins/sociofluid/images/technorati_48.png
blog comments powered by Disqus