The role of personality, task complexity, experience, and communication skills on the effectiveness of pair programming — Pair programming is a common practice in Agile teams. Although it has been around for a long time (Coplien, 1995), it was popularized by Kent Beck as part of Extreme Programming (XP) (Beck & Andres, 2004). In its formal form, two developers work together at a single workstation on a…