Pair programming is a practice used in eXtreme Programming in which two programmers work together at one computer.
PairDraw is a simulation of pair programming, designed to give programmers and managers (and whoever else is curious) a feel for what pair programming is like, before they actually try it.
We use PairDraw in the eXtreme Programming Workshop and you can use it to help introduce pair programming to people in your organization.
|Solo Drawing||Pair Drawing|
It's easy to conduct this simulation. Someone must play the role of facilitator (preferably someone who has pair programming experience). Schedule 20-30 minutes with a group of participants and make sure you have an even number of participants for pairing. Professional simulation designers suggest spending one-third of your time doing a simulation and two-thirds debriefing it.
You will need a ream of blank white paper, and one color marker pen for every participant. It is best to use a good selection of colored markers, so each participant can have a unique color. Before beginning, let each participant choose a marker and give each participant 2 pieces of blank white paper.
Now, tell the participants they have 2 minutes to draw two faces: 1 face on one white sheet and another face on another white sheet. Everyone will draw these faces by themselves using their own marker.
As soon as everyone has completed this task (or when 2 minutes is up), ask everyone to form pairs. It helps if participants pair with people they aren't best friends with, but you can let participants decide with whom to pair.
Once the pairs have formed, have each pair find a comfortable place where they will be able to draw together. Each pair should have 2 different color markers: So if Jon and Jane pair, they can't both have blue markers. Pairs should use colors that are different in hue (not green and light green) so that it will easy to see which participant contributed what to each drawing.
Give each pair 2 sheets of blank white paper (or you can have them all work on a white board) and ask them to PairDraw a human face (one face per sheet of paper).
When every pair has completed drawing 2 human faces, the entire group can assemble for the debrief.
Simulation designers often say the simulation is the excuse for the debrief. Before starting your debrief of PairDraw, have everyone place their solo drawings in front of them and their pair drawings in the center of the table. Here are some examples of solo and pair drawings made by participants in the eXtreme Programming Workshop (solo drawings on the left, pair drawings on the right):
Before you begin the debrief, it's good to have everyone see all of the faces that have been drawn. You can simply assemble them on the floor or on a table.
The facilitator now starts the debrief. Below are a few ways I've learned to conduct this debrief:
- One Question The facilitator asks all participants one single question: "What was that like for you?" The facilitator then records what people say (usually on a white board or flip chart). This is a simple and effective way to debrief this exercise.
- Many Questions This style of debrief is more of a dialogue and is also effective. The facilitator asks lots of questions (see below) to understand how people felt about various things during the simulation. Good questions to ask include:
- How did you feel when you were drawing solo vs. drawing in a pair?
- What do you notice is the same or different about the solo and pair drawings?
- Which of the drawing are more artistic or more original - the solo or pair drawings?
- Did you find yourself concentrating more or less during pairing?
- Was it more fun to draw alone or in a pair?
- What did you like and what didn't you like about drawing alone or in a pair?
- What was it like not knowing what your pair would draw next?
- Did you find yourself mirroring your pair? (For example, your pair draws an ear and than you draw an ear).
- Do you think that people get better at pairing over time?
- How do you think the simulation differs from real-world pair programming?
- Who is that weird looking guy with the horns?
After the debrief, the facilitator can invite people to take home their drawings and encourage participants to lead others through the PairDraw simulation. Of course, after doing PairDraw, it is nice to try some real pair programming.
For research, diagrams, experience reports, and tips and tricks about pair programming, check out some of these links below.
Here are a few variations of PairDraw:
- XP-Style On an eXtreme Programming project, programmers change pairs all of the time. You can simulate this in PairDraw by letting one pair draw one face, then form new pairs to draw a new face, and so on. Add initials to each drawing to keep straight on who drew what.
- Houses Instead of, or in addition to human faces, pairs can also try their hand at drawing houses.
- Tell us about your variation on this simulation.
PairDraw was created by Joshua Kerievsky after he was inspired in Alain Rostain's fantastic workshop, Improv-It: 30 Interactive Learning Activities that Unleash the Genius of Groups.
We'd love to read your feedback about this simulation in the comments below.