SlideShare a Scribd company logo
Franz Zieris 
zieris@inf.fu-berlin.de 
Lutz Prechelt 
prechelt@inf.fu-berlin.de 
On Knowledge Transfer Skill in Pair Programming 
1
Pair Programming 
“Ted & Ian” by Lisamarie Babik. Licensed under Creative Commons Attribution 2.0 
https://www.flickr.com/photos/a2gemma/552208117 2
Pair Programming 
“Ted & Ian” by Lisamarie Babik. Licensed under Creative Commons Attribution 2.0 
https://www.flickr.com/photos/a2gemma/552208117 2
What is Pair Programming? 
1. Definition? 
• 
Little practical advice: 
– 
e.g. how to “work with one mind” while having different responsibilities? 
2. Advantages? (higher productivity, better design, fewer defects, strong mutual learning, …) 
• 
Empirical evidence is either lacking or shows wide variation 
• 
Possible reason: Tacit assumption in pair programming research 
“Stick together two good and communicative programmers, and their pair programming session will be successful. There is no such as thing as a relevant PP skill beyond this.” 
We doubt this to be true. 3
What is Pair Programming? 
• 
We do not know how to do PP ‘right’. 
– 
We do not know what it meansto do PP at all. 
• 
Our research group’s aim: understand how PP actually works 
 
Describe PP skill in form ofbehavioral patterns / anti-patterns 
4
Data & Analysis Method 
• 
In vivo: full-length recordings of professional developers 
– 
Screencast, Webcam, Audio 
• 
Pool of 40+ sessions 
– 
selected 4 sessions for this study 
• 
Grounded Theory Methodologyfor analysis 
5
Why consider Knowledge Transfer? 
Three typical scenarios for pair programming 
1. 
Introducing new team member 
Senior team member→New guy 
2. 
Hand over a software module 
Author→New maintainer 
3. 
Working in critical regions in the source code 
Developer↔Developer 
6
Knowledge Transfer in PP 
• 
Knowledge Transfer: expected, valuable(side-)effectof pair programming. 
• 
Research Question: 
What mechanisms underlie knowledge transfer during pair programming and which of these work well or not so well? 
7
Knowledge transfer example 
• 
Let’s meet Aliceand Bob: 
– 
Aliceauthored audio news file processing module 
– 
Bobwants to understand it 
• 
They work together regularly and we consider them to be a very good pair. 
• 
This is the beginning of their session. 
8
Example 
For now, I could tell you what this 
plugin does overall. 
Yep. 
It starts checking how the file its size still changes. It looks until the file does not get bigger anymore, then it’s apparently ready. And then it’s fetched and handed over to processing. 
… 
In what time window are you looking? 
How the plugin polls a remote system for new files (~ 1 min) 
9
Example 
In what time window 
are you looking? 
I start looking two minutes after the hour, because then it’s guaranteed that news files exist ifany exist. 
OK 
I monitor this file as long as needed until it’s ready. That’s up to seven minutes, depending on the source. 
Hmya, but mh, the time window for the change? 
Yes, right, that is, er, time window for the change is 
variable, depends on how the news go. I can’t know that. They always start a new file. When the news are over, a new file is created. I never actually have more than the news. 
10
Example 
Yeah, well, until up to five 
before the hour. 
I really take my time. 
Yes, no, I mean ’cause you said you look for so long, er, until the size stops changing, right? Then you need to plan for a time window in which a change couldhappen. 
<*laughs*> No I really mean the size now, the size of the time window, I mean (.) you wait for 10 seconds, then after 10 seconds you decide: In those 10 seconds nothing has changed, so the file appears to be ready. 
Ahhh, that’s what you mean. No, 30 seconds. 
30 seconds, that’s what I wanted. 
That’s 30 seconds long the time window. Now I got you. 
11
Lessons learned so far 
• 
Knowledge transfer can be quite difficult. 
• 
But eventually the two developers managed to clarify the issue: 
– 
Bobkept asking until he finally got the information he wanted. 
– 
Aliceanswered each of these questions as best as she could. 
• 
We are looking for recurring patternsin such behavior. 
12
Central Concepts: Topic & Target Content 
13
Mode of Knowledge Transfer 
Push Mode 
Pull Mode 
Propellor 
Propellor 
14
Episode: Same Topic & Mode 
Push Episode  
15
Let’s revisit the example 
• 
Topic: Size of polling interval 
• 
Target Content: ”30 Seconds” 
• 
Alice: Supplier 
• 
Bob: Customer, Propellor 
• 
Mode: Pull 
• 
Bob changed the way he asked. 
Pull 
16
Bob’s forms of “asking” 
1. 
Direct Question 
2. 
Stating Known Facts 
3. 
Simple Step 
4. 
Proposition 
17
Bob’s forms of “asking” 
1. 
Direct Question 
2. 
Stating Known Facts 
3. 
Simple Step 
4. 
Proposition 
Prototypical form 
Narrow down partner’s attention 
Lead partner’s thinking towards particular spot 
Reduce possibility to give irrelevant information to zero 
17
Bob’s forms of “asking” 
0.Finding 
1. 
Direct Question 
2. 
Stating Known Facts 
3. 
Simple Step 
4. 
Proposition 
Locating area of 
interest 
Prototypical form 
Narrow down partner’s attention 
Lead partner’s thinking towards particular spot 
Reduce possibility to give irrelevant information to zero 
Difficulty 
17
The “Clarification Cascade” 
Observations: 
• 
Stages may be omitted or repeated, but the order seems to be fixed. 
• 
Each stage can trigger the Supplier to understand the Topic and deliver the Target Content. 
• 
Iterative: Supplier can spot false assumptions. 
Difficulty 
18
Chooseone&Keep itsimple 
• 
Understanding a Topic is necessary, but not sufficient 
• 
Also: Need to choose oneTopic at a time and keep it simple. 
Detect that multiple Topics are discussed 
postpone one 
Detect complex Topic 
take time to think and split it 
See article for 
full examples. 
19
Focusing&Propellorship 
Startinga new Topic is easy, finishingis hard 
 
Detect lose threads and tie them up 
e.g. return to a former Topic by summarizingone’s current understanding of it 
Avoidhaving two Propellors: 
• 
Switching between two Episodes is possible, but misunderstandings will arise most likely. 
Well-oiled routines of “You-go-first” behavior 
See article for 
full examples. 
20
Summary 
What mechanisms underlie knowledge transfer during pair programming and which of these work well or not so well? 
• 
Rough sketch (researcher’s perspective): 
– 
Both developers perceive a knowledge need: must not pursue both needs at once 
– 
Propellor needs to recognize complicated Topics to be split up 
– 
Topicitself is difficult to communicate: clarify in stages (Clarification Cascade). 
– 
Do not lose sight of the Topic until it is resolved (unless for good reasons). 
• 
Sounds simple? 
– 
Difficult enough, some pairs are much more efficient part of PP skill 
• 
Practitioner’s perspective: open 
– 
How to teach? Even teachable? 
21
Future work 
• 
ProduceMode 
– 
No Supplier, pair creates TargetContent 
– 
Pioneering Production vs. Co-Production(one vs. two Propellors) 
• 
The Episode infrastructureof a session 
Main Topic, 
paused for Sub-Topics 
New Topics (colors) 
preclude main Topic’s conclusion 
22
Enough with Push … 
23
… time for Pull! 
24
Thank you! 
https://bitbucket.org/spooning 
25
Used Images 
https://web.archive.org/web/20080509191418/http://www.cenqua.com/pairon/ 
https://www.flickr.com/photos/a2gemma/552208117 
http://www.iconarchive.com/show/icons8-metro-style-icons-by-visualpharm/Debug-Bug-icon.html http://www.iconarchive.com/show/oxygen-icons-by-oxygen-icons.org/Status-battery-charging-icon.html 
http://www.iconarchive.com/show/or-icons-by-iconleak/light-bulb-icon.html http://www.iconfinder.com/icondetails/1432/128/abc_chalkboard_edutainment_learn_package_school_icon 
http://www.iconarchive.com/show/oxygen-icons-by-oxygen-icons.org/Categories-system-help-icon.htmlhttp://www.iconarchive.com/show/vista-people-icons-by-icons-land/Person-Male-Light-icon.htmlhttps://www.iconfinder.com/icons/44978/man_test_tester_user_icon 
26

More Related Content

PDF
Binary crosswords
PDF
Dancing for a product release
DOCX
FMP: Proposal
PPTX
Going Pro
PPTX
It's Time to Train!
PPTX
How to start developing iOS apps
PPTX
SAD01 - An Introduction to Systems Analysis and Design
PDF
Agile engineering practices – a short overview
Binary crosswords
Dancing for a product release
FMP: Proposal
Going Pro
It's Time to Train!
How to start developing iOS apps
SAD01 - An Introduction to Systems Analysis and Design
Agile engineering practices – a short overview

Similar to 33 - On Knowledge Transfer Skill in Pair Programming (20)

PDF
Pair Programming in Theory and Practice By Garrick West
PDF
Demystifying pair programming, swarming and mob programming - Shrikant Vashis...
PDF
Introducing Pair Programming
PPTX
Pair programming
PDF
Pair programming
PDF
The Art Of Pair Programming
PDF
Unwritten Manual for Pair Programming
PPTX
Pair Programming - Be the best pair you can be.
PPT
Pair Programming and XP Values
PPTX
It Takes Two - A Case Study in Pair Programming
PDF
Pairing
PPTX
Pair Programming Styles
PDF
Software Development Practices Patterns: from Pair to Mob Programming
PDF
Pair programming 2 > 1 + 1
PDF
Pair programming anti patterns
PDF
The Care and Keeping of Your Junior Developer
PDF
20 Innovation Tools
ODP
(Remote) Pair Programming
PPTX
Pair Programming - a pratical guide
PPT
Pair Programming Presentation
Pair Programming in Theory and Practice By Garrick West
Demystifying pair programming, swarming and mob programming - Shrikant Vashis...
Introducing Pair Programming
Pair programming
Pair programming
The Art Of Pair Programming
Unwritten Manual for Pair Programming
Pair Programming - Be the best pair you can be.
Pair Programming and XP Values
It Takes Two - A Case Study in Pair Programming
Pairing
Pair Programming Styles
Software Development Practices Patterns: from Pair to Mob Programming
Pair programming 2 > 1 + 1
Pair programming anti patterns
The Care and Keeping of Your Junior Developer
20 Innovation Tools
(Remote) Pair Programming
Pair Programming - a pratical guide
Pair Programming Presentation
Ad

More from ESEM 2014 (20)

PDF
Keynote 2 - The 20% of software engineering practices that contribute to 80% ...
PDF
Keynote 1 - Engineering Software Analytics Studies
PPTX
222 - Design Pattern Decay: The Case for Class Grime
PDF
210 - Software Population Pyramids: The Current and the Future of OSS Develop...
PDF
169 - Bridging the Gap: SE Technology Transfer into Practice - Study Design a...
PDF
196 - Evaluation in Practice: Artifact-based Requirements Engineering and Sc...
PDF
42- Using Templates to Elicit Implied Security Requirements from Functional R...
PDF
166 - ISBSG variables most frequently used for software effort estimation: A ...
PDF
112 - The Role of Mentoring and Project Characteristics for Onboarding in Ope...
PDF
224 - Factors Impacting Rapid Releases: An Industrial Case Study
PPTX
215 Towards a Framework to Support Large Scale Sampling in Software Engineeri...
PPTX
214 - Sampling Improvement in Software Engineering Surveys
PDF
201 - Using Qualitative Metasummary to Synthesize Empirical Findings in Liter...
PPTX
130 - Motivated software engineers are engaged and focused, while satisfied o...
PDF
178 - A replicated study on duplicate detection: Using Apache Lucene to searc...
PDF
124 - Impact of Developer Reputation on Code Review Outcomes in OSS Projects:...
PDF
18 - Impact of Process Conformance on the Effects of Test-driven Development
PPTX
65 - An Empirical Simulation-based Study of Real-Time Speech Translation for ...
PPTX
52 - The Impact of Test Ownership and Team Structure on the Reliability and E...
PDF
167 - Productivity for proof engineering
Keynote 2 - The 20% of software engineering practices that contribute to 80% ...
Keynote 1 - Engineering Software Analytics Studies
222 - Design Pattern Decay: The Case for Class Grime
210 - Software Population Pyramids: The Current and the Future of OSS Develop...
169 - Bridging the Gap: SE Technology Transfer into Practice - Study Design a...
196 - Evaluation in Practice: Artifact-based Requirements Engineering and Sc...
42- Using Templates to Elicit Implied Security Requirements from Functional R...
166 - ISBSG variables most frequently used for software effort estimation: A ...
112 - The Role of Mentoring and Project Characteristics for Onboarding in Ope...
224 - Factors Impacting Rapid Releases: An Industrial Case Study
215 Towards a Framework to Support Large Scale Sampling in Software Engineeri...
214 - Sampling Improvement in Software Engineering Surveys
201 - Using Qualitative Metasummary to Synthesize Empirical Findings in Liter...
130 - Motivated software engineers are engaged and focused, while satisfied o...
178 - A replicated study on duplicate detection: Using Apache Lucene to searc...
124 - Impact of Developer Reputation on Code Review Outcomes in OSS Projects:...
18 - Impact of Process Conformance on the Effects of Test-driven Development
65 - An Empirical Simulation-based Study of Real-Time Speech Translation for ...
52 - The Impact of Test Ownership and Team Structure on the Reliability and E...
167 - Productivity for proof engineering
Ad

Recently uploaded (20)

PPTX
ai tools demonstartion for schools and inter college
PDF
System and Network Administraation Chapter 3
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PPT
Introduction Database Management System for Course Database
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PDF
System and Network Administration Chapter 2
PPTX
CHAPTER 2 - PM Management and IT Context
PDF
Nekopoi APK 2025 free lastest update
PDF
wealthsignaloriginal-com-DS-text-... (1).pdf
PDF
Designing Intelligence for the Shop Floor.pdf
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PPTX
L1 - Introduction to python Backend.pptx
PDF
medical staffing services at VALiNTRY
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
ai tools demonstartion for schools and inter college
System and Network Administraation Chapter 3
2025 Textile ERP Trends: SAP, Odoo & Oracle
Introduction Database Management System for Course Database
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
Odoo Companies in India – Driving Business Transformation.pdf
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
System and Network Administration Chapter 2
CHAPTER 2 - PM Management and IT Context
Nekopoi APK 2025 free lastest update
wealthsignaloriginal-com-DS-text-... (1).pdf
Designing Intelligence for the Shop Floor.pdf
Navsoft: AI-Powered Business Solutions & Custom Software Development
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
L1 - Introduction to python Backend.pptx
medical staffing services at VALiNTRY
Which alternative to Crystal Reports is best for small or large businesses.pdf
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf

33 - On Knowledge Transfer Skill in Pair Programming

  • 1. Franz Zieris zieris@inf.fu-berlin.de Lutz Prechelt prechelt@inf.fu-berlin.de On Knowledge Transfer Skill in Pair Programming 1
  • 2. Pair Programming “Ted & Ian” by Lisamarie Babik. Licensed under Creative Commons Attribution 2.0 https://www.flickr.com/photos/a2gemma/552208117 2
  • 3. Pair Programming “Ted & Ian” by Lisamarie Babik. Licensed under Creative Commons Attribution 2.0 https://www.flickr.com/photos/a2gemma/552208117 2
  • 4. What is Pair Programming? 1. Definition? • Little practical advice: – e.g. how to “work with one mind” while having different responsibilities? 2. Advantages? (higher productivity, better design, fewer defects, strong mutual learning, …) • Empirical evidence is either lacking or shows wide variation • Possible reason: Tacit assumption in pair programming research “Stick together two good and communicative programmers, and their pair programming session will be successful. There is no such as thing as a relevant PP skill beyond this.” We doubt this to be true. 3
  • 5. What is Pair Programming? • We do not know how to do PP ‘right’. – We do not know what it meansto do PP at all. • Our research group’s aim: understand how PP actually works  Describe PP skill in form ofbehavioral patterns / anti-patterns 4
  • 6. Data & Analysis Method • In vivo: full-length recordings of professional developers – Screencast, Webcam, Audio • Pool of 40+ sessions – selected 4 sessions for this study • Grounded Theory Methodologyfor analysis 5
  • 7. Why consider Knowledge Transfer? Three typical scenarios for pair programming 1. Introducing new team member Senior team member→New guy 2. Hand over a software module Author→New maintainer 3. Working in critical regions in the source code Developer↔Developer 6
  • 8. Knowledge Transfer in PP • Knowledge Transfer: expected, valuable(side-)effectof pair programming. • Research Question: What mechanisms underlie knowledge transfer during pair programming and which of these work well or not so well? 7
  • 9. Knowledge transfer example • Let’s meet Aliceand Bob: – Aliceauthored audio news file processing module – Bobwants to understand it • They work together regularly and we consider them to be a very good pair. • This is the beginning of their session. 8
  • 10. Example For now, I could tell you what this plugin does overall. Yep. It starts checking how the file its size still changes. It looks until the file does not get bigger anymore, then it’s apparently ready. And then it’s fetched and handed over to processing. … In what time window are you looking? How the plugin polls a remote system for new files (~ 1 min) 9
  • 11. Example In what time window are you looking? I start looking two minutes after the hour, because then it’s guaranteed that news files exist ifany exist. OK I monitor this file as long as needed until it’s ready. That’s up to seven minutes, depending on the source. Hmya, but mh, the time window for the change? Yes, right, that is, er, time window for the change is variable, depends on how the news go. I can’t know that. They always start a new file. When the news are over, a new file is created. I never actually have more than the news. 10
  • 12. Example Yeah, well, until up to five before the hour. I really take my time. Yes, no, I mean ’cause you said you look for so long, er, until the size stops changing, right? Then you need to plan for a time window in which a change couldhappen. <*laughs*> No I really mean the size now, the size of the time window, I mean (.) you wait for 10 seconds, then after 10 seconds you decide: In those 10 seconds nothing has changed, so the file appears to be ready. Ahhh, that’s what you mean. No, 30 seconds. 30 seconds, that’s what I wanted. That’s 30 seconds long the time window. Now I got you. 11
  • 13. Lessons learned so far • Knowledge transfer can be quite difficult. • But eventually the two developers managed to clarify the issue: – Bobkept asking until he finally got the information he wanted. – Aliceanswered each of these questions as best as she could. • We are looking for recurring patternsin such behavior. 12
  • 14. Central Concepts: Topic & Target Content 13
  • 15. Mode of Knowledge Transfer Push Mode Pull Mode Propellor Propellor 14
  • 16. Episode: Same Topic & Mode Push Episode  15
  • 17. Let’s revisit the example • Topic: Size of polling interval • Target Content: ”30 Seconds” • Alice: Supplier • Bob: Customer, Propellor • Mode: Pull • Bob changed the way he asked. Pull 16
  • 18. Bob’s forms of “asking” 1. Direct Question 2. Stating Known Facts 3. Simple Step 4. Proposition 17
  • 19. Bob’s forms of “asking” 1. Direct Question 2. Stating Known Facts 3. Simple Step 4. Proposition Prototypical form Narrow down partner’s attention Lead partner’s thinking towards particular spot Reduce possibility to give irrelevant information to zero 17
  • 20. Bob’s forms of “asking” 0.Finding 1. Direct Question 2. Stating Known Facts 3. Simple Step 4. Proposition Locating area of interest Prototypical form Narrow down partner’s attention Lead partner’s thinking towards particular spot Reduce possibility to give irrelevant information to zero Difficulty 17
  • 21. The “Clarification Cascade” Observations: • Stages may be omitted or repeated, but the order seems to be fixed. • Each stage can trigger the Supplier to understand the Topic and deliver the Target Content. • Iterative: Supplier can spot false assumptions. Difficulty 18
  • 22. Chooseone&Keep itsimple • Understanding a Topic is necessary, but not sufficient • Also: Need to choose oneTopic at a time and keep it simple. Detect that multiple Topics are discussed postpone one Detect complex Topic take time to think and split it See article for full examples. 19
  • 23. Focusing&Propellorship Startinga new Topic is easy, finishingis hard  Detect lose threads and tie them up e.g. return to a former Topic by summarizingone’s current understanding of it Avoidhaving two Propellors: • Switching between two Episodes is possible, but misunderstandings will arise most likely. Well-oiled routines of “You-go-first” behavior See article for full examples. 20
  • 24. Summary What mechanisms underlie knowledge transfer during pair programming and which of these work well or not so well? • Rough sketch (researcher’s perspective): – Both developers perceive a knowledge need: must not pursue both needs at once – Propellor needs to recognize complicated Topics to be split up – Topicitself is difficult to communicate: clarify in stages (Clarification Cascade). – Do not lose sight of the Topic until it is resolved (unless for good reasons). • Sounds simple? – Difficult enough, some pairs are much more efficient part of PP skill • Practitioner’s perspective: open – How to teach? Even teachable? 21
  • 25. Future work • ProduceMode – No Supplier, pair creates TargetContent – Pioneering Production vs. Co-Production(one vs. two Propellors) • The Episode infrastructureof a session Main Topic, paused for Sub-Topics New Topics (colors) preclude main Topic’s conclusion 22
  • 27. … time for Pull! 24
  • 29. Used Images https://web.archive.org/web/20080509191418/http://www.cenqua.com/pairon/ https://www.flickr.com/photos/a2gemma/552208117 http://www.iconarchive.com/show/icons8-metro-style-icons-by-visualpharm/Debug-Bug-icon.html http://www.iconarchive.com/show/oxygen-icons-by-oxygen-icons.org/Status-battery-charging-icon.html http://www.iconarchive.com/show/or-icons-by-iconleak/light-bulb-icon.html http://www.iconfinder.com/icondetails/1432/128/abc_chalkboard_edutainment_learn_package_school_icon http://www.iconarchive.com/show/oxygen-icons-by-oxygen-icons.org/Categories-system-help-icon.htmlhttp://www.iconarchive.com/show/vista-people-icons-by-icons-land/Person-Male-Light-icon.htmlhttps://www.iconfinder.com/icons/44978/man_test_tester_user_icon 26