Franz Zieris
zieris@inf.fu-berlin.de
Lutz Prechelt
prechelt@inf.fu-berlin.de
Observations on Knowledge Transfer
- f Professional Software Developers
during Pair Programming
1
Observations on Knowledge Transfer of Professional Software - - PowerPoint PPT Presentation
Observations on Knowledge Transfer of Professional Software Developers during Pair Programming Franz Zieris Lutz Prechelt 1 zieris@inf.fu-berlin.de prechelt@inf.fu-berlin.de Typical pair programming scenarios 1. Solve a difficult problem
zieris@inf.fu-berlin.de
prechelt@inf.fu-berlin.de
1
2
knowledge knowledge
3
4
5
AA1 BA1 CA1 CA2 CB1 CA3 CA4 CA5 DA1 DA2 DA3 DA4 DA5 EA1 EA2 EA3 EA4 EA5 EA6 EA7 FA1 FA2 FA3 FA4 JA1 JA2 JA3 JA4 JA5 JA6 JA7 JA8 JA9 KA1 KA2 KA3 KA4 KA5 KA6 KA7 KA8* MA1 NA1 NA2 NA3 NA4 GA1 LA1 LB1LotR 1 LotR 2 LotR 3
49+ Sessions from 11 companies 13 Sessions selected Lord of the Rings I-III
6
450 Knowledge Transfer Episodes analyzed 13 Sessions selected
7
8
return objectHandle.fetchM; fetchMiniObject() CMMiniObject fetchMiniObject(boolean allowMicroObject)
Do the MicroObjects still exist?
Context: Java, with complex self-written framework Task: Get business object (“MiniObject”) from proxy object (“objectHandle”)
Bob Carl
9
return objectHandle.fetchMiniObject(true);
Do the MicroObjects still exist? Yes, they do. They do here, on your machine. On the working branch, however … true.
Context: Java, with complex self-written framework Task: Get business object (“MiniObject”) from proxy object (“objectHandle”)
Bob Carl
10
return objectHandle.fetchMiniObject(true);
Do the MicroObjects still exist? Yes, they do. They do here, on your machine. On the working branch, however … true. Internal Knowledge Need Pull Episode Target Content
Context: Java, with complex self-written framework Task: Get business object (“MiniObject”) from proxy object (“objectHandle”)
Bob Carl
Target Content: 0 Target Content: 0 Co-Produce Episode TC: ü Design Proposal TC: >0 External Knowledge Need Push Episode TC: >0 Internal Knowledge Need Talking Pioneer Episode TC: ü
RESYNC
Uh …
Exactly.
11
B C
Target Content: 0 Target Content: 0 Co-Produce Episode TC: ü Design Proposal TC: >0 External Knowledge Need Push Episode TC: >0 Internal Knowledge Need Talking Pioneer Episode TC: ü
RESYNC
Uh …
Exactly.
12
B C
Target Content: 0 Target Content: 0 Co-Produce Episode TC: ü Design Proposal TC: >0 External Knowledge Need Push Episode TC: >0 Internal Knowledge Need Talking Pioneer Episode TC: ü
RESYNC
Uh …
Exactly.
13
B C
Target Content: 0 Target Content: 0 Co-Produce Episode TC: ü Design Proposal TC: >0 External Knowledge Need Push Episode TC: >0 Internal Knowledge Need Talking Pioneer Episode TC: ü
RESYNC
Uh …
Exactly.
14
B C
Target Content: 0 Target Content: 0 Co-Produce Episode TC: ü Design Proposal TC: >0 External Knowledge Need Push Episode TC: >0 Internal Knowledge Need Talking Pioneer Episode TC: ü
RESYNC
Uh …
Exactly.
15
B C
Target Content: 0 Target Content: 0 Co-Produce Episode TC: ü Design Proposal TC: >0 External Knowledge Need Push Episode TC: >0 Internal Knowledge Need Talking Pioneer Episode TC: ü
RESYNC
Uh …
Exactly.
16
B C
Target Content: 0 Target Content: 0 Co-Produce Episode TC: ü Design Proposal TC: >0 External Knowledge Need Push Episode TC: >0 Internal Knowledge Need Talking Pioneer Episode TC: ü
RESYNC
Uh …
Exactly.
17
B C
Target Content: 0 Target Content: 0 Parallel Production Episode TC: TC:
Ah-ha! Ah.
40 min
Code Change Internal Knowledge Need
Uh?
Pull Episode TC: ü TC: ü
PARALLEL
18
D E
Target Content: 0 Target Content: 0 Parallel Production Episode TC: TC:
Ah-ha! Ah.
40 min
Code Change Internal Knowledge Need
Uh?
Pull Episode TC: ü TC: ü
PARALLEL
19
D E
Target Content: 0 Target Content: 0 Parallel Production Episode TC: TC:
Ah-ha! Ah.
40 min
Code Change Internal Knowledge Need
Uh?
Pull Episode TC: ü TC: ü
PARALLEL
20
D E
Target Content: 0 Target Content: 0 Parallel Production Episode TC: TC:
Ah-ha! Ah.
40 min
Code Change Internal Knowledge Need
Uh?
Pull Episode TC: ü TC: ü
PARALLEL
21
D E
Target Content: 0 Target Content: 0 Parallel Production Episode TC: TC:
Ah-ha! Ah.
40 min
Code Change Internal Knowledge Need
Uh?
Pull Episode TC: ü TC: ü
PARALLEL
22
D E
Researcher‘s perspective: E‘s confusion makes the effects of the Parallel Production Episode visible.
[1] Zieris & Prechelt, On Knowledge Transfer Skill in Pair Programming, in Proc. ESEM‘14
23
24
25
26
27
https://bitbucket.org/spooning
https://web.archive.org/web/20080509191418/http://www.cenqua.com/pairon/ https://www.flickr.com/photos/a2gemma/552208117 http://www.iconarchive.com/show/oxygen-icons-by-oxygen-icons.org/Categories-system-help-icon.html http://www.iconarchive.com/show/vista-people-icons-by-icons-land/Person-Male-Light-icon.html http://www.iconarchive.com/show/vista-people-icons-by-icons-land/Groups-Meeting-Light-icon.html http://www.iconarchive.com/show/xedia-icons-by-photoshopedia/My-Computer-icon.html http://www.iconarchive.com/show/nuoveXT-2-icons-by-saki/Devices-keyboard-icon.html
28