This repository has been archived by the owner on Sep 30, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 4
/
2020-03-10_pair-programming.Rmd
82 lines (45 loc) · 1.75 KB
/
2020-03-10_pair-programming.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
# 2020-03-10: Pair programming
## Driver - navigator
<img src="https://martinfowler.com/articles/on-pair-programming/driver_navigator.png" align="center" width = 750 />
## Overview
* > benefits are not immediately obvious
* > not as simple as "two people working at a single computer"
* > feels uncomfortable
* > vital for collaborative teamwork and high quality software
-- https://martinfowler.com/articles/on-pair-programming.html
## Ping pong style
<img src="https://martinfowler.com/articles/on-pair-programming/ping_pong.png" align="center" width = 750 />
## Strong-Style Pairing
The rule:
> For an idea to go from your head into the computer it MUST go through someone else's hands.
Particularly useful for knowledge transfer
## Discuss: Benefits (5')
<img src="https://martinfowler.com/articles/on-pair-programming/benefits_overview.jpg" align="center" width = 750 />
## Discuss: Challenges (5')
* Pairing can be exhausting
* Intense collaboration can be hard
* Interruptions by meetings
* Different skill levels
* Power Dynamics
* Pairing with lots of Unknowns
* No time for yourself
* Rotations lead to context switching
* Pairing requires vulnerability
* Convincing managers and co-workers
## To pair or not to pair
* Boring Tasks
* Need space to figure things out
## Problems with code review vs. pairing
* not looking too closely at the code.
* avoid rework for something that we invested in.
* disruptive to switch context
## Why bother?
It takes:
* Concentration and focus (suitable style),
* task organization (find problem, solution, and plan),
* time management (e.g. pomodoro),
* communication,
* giving and receiving feedback,
* empathy,
* vulnerability
Work on getting better at it, you will end up with a more resilient team.