Table of Links
Abstract and I. Introduction
II. Related Work
A. On the Existence of Pair Programming Skill
B. On the Elements of Pair Programming Skill
III. Research Method
A. Research Goal and Data Collection
B. Qualitative Research Approach
C. Our Notions of ‘Good’ and ‘Bad’
IV. Results
A. Two Elements of Pair Programming Skill
B. Anti-Pattern: Getting Lost in the Weeds
C. Anti-Pattern: Losing the Partner
D. Anti-Pattern: Drowning the Partner
E. Doing the Right Thing and F. Further Elements of Pair Programming Skill
V. Discussion
VI. Summary and Future Work
VII. Data Availability and References
C. Anti-Pattern: Losing the Partner
Sometimes, one pair member is deeply engaged with the task at hand, trying to understand the code or developing a design idea, but does not pay much attention to her partner’s state of mind who then may or may not understand what the colleague is doing. Such behavior may be expedient in the short-term if, say, a defect is found sooner than later, but it reduces the Togetherness of the pair which may result in (a) the partner being less knowledgeable later or (b) missing a learning opportunity (as discussed in [14, Sec. 6.4.3]).
Example 2: Session CA1 (19:00–21:00). Developer C1 already started implementing a new form when C2 joins. They want to make the form interactive such that one checkbox deactivates multiple input fields (called “panels” and “components” below). C2 appears to see problems with their approach but neither explains them to C1 nor reacts to C1’s questions:
C2: “The problem is, it doesn’t fit with getComponents [scrolls through file]”
C1: “Why doesn’t it fit?”
C2: “I think so. I could be wrong. [continues scrolling]”
C1: “We only need to get the individual component from the panel, right? Is that complicated?”
C2: “[ignoring C1] Ah, I just see it has a getContent.”
C1: “[reading from screen] A PanelBuilder. Can we possibly get the other panels from there?”
C2: “[ignoring C1, continues scrolling] I’m not sure whether this all will work.”
C1: “Can we deactivate a JPanel on its own?”
C2: “[ignoring C1, continues scrolling] OK, I’d say—Shall we simply try to implement the methods?”
C1: “Yeah, sure.”
Although the pair appears to have reached an agreement (“Shall we?”—“Yeah, sure.”), C2 has been Losing his Partner during the above two minutes; there is no way in which C1 could have properly assessed the proposal he agreed to, given that every question he asked was ignored. Similar behavior of C2 occurs multiple times in session CA1.
Authors:
(1) Franz Zieris, Institut fur Informatik, Freie Universitat, Berlin Berlin, Germany ([email protected]);
(2) Lutz Prechelt, Institut fur Informatik. Freie Universitat Berlin, Berlin, Germany ([email protected]).