The 2009 ppig.org conference was in Limerick, Ireland. They had a contest: "Best Limerick in a presentation" My presentation was on day 2. I sat all night, making Limericks, until I had each slide of my presentation summarized by a Limerick. It won the contest. This is it. (Some of the Limericks are tough to pronounce, but in their way they all work.) Types of Cooperation Episodes in Side-by-Side Programming – Lutz Prechelt 2 / 19

What is Side-by-Side Programming (SbS)? In other words: Two people working together, two computers, oh, and they never move far apart, "To help is an art.", so they do now-and-then, not forever. Types of Cooperation Episodes in Side-by-Side Programming – Lutz Prechelt 5 / 19

Why are we interested in SbS? • Pair Programming (PP) has many potential advantages: • productivity, quality, learning, focus, broader ownership, satisfaction, etc. • and some potential disadvantages: • may be too intense to use it always (at least for some people) • is boring and wasting for simple tasks • Side-by-side programming attempts to get most benefits of PP while avoiding its drawbacks • suggested by Alistair Cockburn: Crystal Clear, Addison-Wesley, 2004. Types of Cooperation Episodes in Side-by-Side Programming – Lutz Prechelt 6 / 19

Why are we interested in SbS? In other words: Pair Programming is fine for quality, learning, and time, but it can be boring or overly soring, so try Side-by-side 5 til 9. Types of Cooperation Episodes in Side-by-Side Programming – Lutz Prechelt 7 / 19

Related work 1 In other words: Researchers expect SbS more efficient than PP (an excess!) And what do they gather when they start to measure? It is, by far! And no less! Types of Cooperation Episodes in Side-by-Side Programming – Lutz Prechelt 9 / 19

Research motivation In other words: We want to describe what they do when people pair up as a crew. Want to see what goes well and what goes to hell, to advise, to make promises true. Types of Cooperation Episodes in Side-by-Side Programming – Lutz Prechelt 11 / 19

Research question • When and why and for what purpose do side-by-side programmers cooperate directly? • I.e., when/why do they use pair mode as opposed to solo mode? (Our results focus on the purpose) Types of Cooperation Episodes in Side-by-Side Programming – Lutz Prechelt 12 / 19

Research question In other words: When and why, for what end do Side-by-Side partners bend their attention aside for helping their bride and hear "Thank you, that was heaven-sent!" Types of Cooperation Episodes in Side-by-Side Programming – Lutz Prechelt 13 / 19

Study setup: Recordings of SbS sessions • 4-day workshop on Java web development • packed full with technical content: Hibernate, Spring, Tapestry • 10 participants (senior students), working in teams of two • daily practice sessions, leading to a small application • Setup and tasks were such that teams practiced SbS • without ever being taught or told to • We recorded the last session of each of three teams as follows • • • • 2x desktop video 2x webcam-on-top-of-monitor video 2x audio each session had about 2.5 hours length • 7.5 hours overall  very much for a Grounded Theory analysis • Participants then answered a postmortem questionnaire Types of Cooperation Episodes in Side-by-Side Programming – Lutz Prechelt 14 / 19

Study setup: Recordings of SbS sessions In other words: After 4 days of web-program workshop our three teams did one more task in pair-hop A 7-hour ode in 6-channel mode we recorded. That's too much, so do crop, CROP! Types of Cooperation Episodes in Side-by-Side Programming – Lutz Prechelt 15 / 19

Combined data source for analysis For each session, we combined all 6 channels into a single 2560-pixel-wide video Types of Cooperation Episodes in Side-by-Side Programming – Lutz Prechelt 16 / 19

Combined data source for analysis In other words: There are some slides that are really hard to put in a Limerick Format This is one of these so please stay at ease if it is not quite as informative and as well-structured as the others Types of Cooperation Episodes in Side-by-Side Programming – Lutz Prechelt 17 / 19

Data analysis: Grounded Theory • In a nutshell, Grounded Theory (GT) means • conceptualizing observations abductively (i.e. by bringing in spontaneous ideas) • validating and refining the concepts via constant comparison • and observing relationships in order to arrive at a theory • GT is known to be extremely time-consuming • With data as rich as ours, this is even worse • "drowning in observations" •  Use the Foundation Layer concepts as a starting point • developed from and for PP sessions • primarily concepts describing verbal interaction events • (presented at PPIG 2008) • Used as a set of candidate ideas (rather than prescriptively) •  compatible with the GT approach • (example will follow) Types of Cooperation Episodes in Side-by-Side Programming – Lutz Prechelt 18 / 19

Data analysis: Grounded Theory In other words: To form Grounded Theory takes long before your concepts grow strong. A Foundation Layer of concepts 's a player whose usage you will find not wrong. Types of Cooperation Episodes in Side-by-Side Programming – Lutz Prechelt 19 / 19

Analysis procedure (simplified) In other words: The episodes are easy to free. Conceptualize them with glee. In each difficult spot add a concept ad-hoc; then cluster – and check what you see. Types of Cooperation Episodes in Side-by-Side Programming – Lutz Prechelt 21 / 19

Example: Foundation Layer concepts and episode visualization In other words: Proposing the next steps to make then discussing what else is at stake back and forth til "agree" that's "Discuss Strategy", one of seven such types that you'll see. Oops. Types of Cooperation Episodes in Side-by-Side Programming – Lutz Prechelt 23 / 19

Cooperation episode types: Coordination issues In other words: Coordination means to agree what to do (short- or long-term), you see Or describe your work status as a "Partner, update us!" and that's all that we found there to be. Types of Cooperation Episodes in Side-by-Side Programming – Lutz Prechelt 29 / 19

Cooperation episode types: Technical issues In other words: In the technical realm you explain tools and libraries, new or arcane, or are helping detect 13 bugs, 1 defect the rest is like solo, the same. Types of Cooperation Episodes in Side-by-Side Programming – Lutz Prechelt 31 / 19

Cooperation episode types: Other Both coordination and technical at once: • Integrate work products • Partners put together pieces each has developed alone • Complex episodes, consisting of status check, decision, sync, test, and possibly debug • status check is an • decision is a • debug is a "Exchange product details" episode "Discuss step" episode "Debug work product" episode Other: • Make remark • One partner spontaneously comments the work of the other • possible only because of the "osmotic communication" in SbS • We only saw two instances: propose_step, explain_knowledge Types of Cooperation Episodes in Side-by-Side Programming – Lutz Prechelt 32 / 19

Cooperation episode types: Other In other words: When putting the pieces together, they flock like birds of a feather. When your partner is stark you may Make a Remark to improve his work results' tether. Types of Cooperation Episodes in Side-by-Side Programming – Lutz Prechelt 33 / 19

Duration and frequency of episode types In other words: You coordinate most of the times but that doesn't account for the dimes: Integrate quicker! That's the real picker! That's were solo work's paying its fines. Types of Cooperation Episodes in Side-by-Side Programming – Lutz Prechelt 35 / 19

Threats to validity In other words: That topic is really too serious to summarize it by delirious rhymes of some sort. So I will abort my Limerick here sound-research-erious. Types of Cooperation Episodes in Side-by-Side Programming – Lutz Prechelt 37 / 19

Thank you! In other words: I hope that the rhymses' meandering has not too much reduced understandering If it has: I am sorry, I'll jump onto a lorry leaving Limerick right now, regretendering. Are there still any questions? Types of Cooperation Episodes in Side-by-Side Programming – Lutz Prechelt 39 / 19

PONS - The free dictionary for foreign languages, German ...

These presentations are classified and categorized, so you will always find everything clearly laid out and in context.
You are watching GORDO OU ESQUELETICO presentation right now. We are staying up to date!