2. 2
a seldom questioned view of
programming - a view which this
book will spend a great deal of
time questioning.
That view is that programming is
an individual activity...
17. 17
pairs spent about 15%
more time on the
program than the
individuals*
the resulting code
has about 15%
fewer defects
the pairs consistently
implemented the same
functionality in
fewer lines of code
most of the programmers
enjoyed programming
collaboratively
http://collaboration.csc.ncsu.edu/laurie/Papers/ieeeSoftware.PDF
strengthening
the case for
pair programming
Laurie Williams
Robert Kessler
Ward Cunningham
Ron Jeffries
18. 18
An experiment by Temple University Professor Nosek
studied 15 full-time, experienced programmers
working for 45 minutes on a challenging problem,
important to their organization, in their own
environment, and with their own equipment. Five
worked individually, ten worked collaboratively in
five pairs. Conditions and materials used were the
same for both the experimental (team) and control
(individual) groups.
Nosek, J. T. (1998). The Case for Collaborative Programming. Communications of the ACM. March 1998: 105-108.
19. 19
All the teams outperformed the individual
programmers, enjoyed the problem-solving
process more, and had greater confidence in
their solutions... producing better algorithms
and code in less time (40%)
Results statistically significant using two-sidedt-test.
22. 22
"locking" occurs
whenever a situation
creates an environment
favorable for
maintaining that
situation...
locking occurs in all
sorts of systems...
especially... social
23. 23
? different keyboards
? different editors
? table design
? room layout
? number of computers
? tools
? individual assessments
? languages
? expertise
24. 24
most people resist
transitioning to pair
programming – it involves
breaking old habits and
being more communicative
and collaborative than we’ve
been conditioned to be
25. 25
pairs spent about 15%
more time on the
program than the
individuals*
the resulting code
has about 15%
fewer defects
the pairs consistently
implemented the same
functionality in
fewer lines of code
most of the programmers
enjoyed programming
collaboratively
for the first assignment
pairs took 60% more
programmer hours to
complete the
assignment
*
36. 36
if people program solo they
are more likely to make
mistakes, more likely to
overdesign, more likely to
blow off the other practises,
particularly under pressure
39. 39
Studies of Independence and
Submission to Group Pressure.
A Minority of One
Against a Unanimous Majority
Solomon Asch
Psychological Monographs, 7, Series No. 416, 1956.
41. 41
18 trials
in trial 1 and trial 2 the
7 confederates and the subject
gave the obviously right answer
in the remaining 16 trials the
7 confederates gave the wrong
answer 12 times
42. 42
75% of subjects gave incorrect
answer in at least 1 trial
subject conformed to the
incorrect answer in all 12 trials
36% of the time
43. 43
variation
presence of 1 true confederate
decreased subjects conformity
to the incorrect answer
by 75%
45. 45
it is a well-known
psychological principle
that in order to
maximize the rate of
learning, the subject
must be fed back
information on how well
or poorly he is doing
53. 53
the requirement to
develop capability cannot
be met adequately by a
single person. We learn
much faster and much
better with the active
cooperation of others
65. 65
pairing and
practice
I felt it was unwise to allow
players to practice by
themselves. Always I wanted
them to be interacting with
their teammates.
71. 71
the pair results were also
more consistent, while
the individuals varied
more about the mean
pairing and
consistency
72. 72
pairing and
scaling
having more than nine members
requires too much coordination
Scrum Guide
having more than nine pairs
requires too much coordination
What about...
75. 75
if egoless programming is
used, everyone in the group
will have the opportunity to
examine the work of everyone
else at some time, thereby
tending to prevent the
establishment of strong
hierarchy
p72
76. 76
widespread use of pair
programming involves a
cultural shift in values of the
organization - away from
individual and toward team
recognition and goals
77. thanks for listening
twitter : @JonJagger
email : jon@jaggersoft.com
blog : http://jonjagger.blogspot.co.uk/
charity : http://cyber-dojo.org