+ All Categories
Home > Software > NorDevCon 2016 pair programming

NorDevCon 2016 pair programming

Date post: 15-Jan-2017
Category:
Upload: jon-jagger
View: 257 times
Download: 0 times
Share this document with a friend
39
pair programming twitter : @JonJagger email : [email protected] blog : http://jonjagger.blogspot.co.uk/ charity : http://cyber-dojo.org \n
Transcript

pair programming

twitter : @JonJaggeremail : [email protected]

blog : http://jonjagger.blogspot.co.uk/charity : http://cyber-dojo.org

\n

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...

individual

from... (see slide 4)

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.

team

from... (see slide 4)

4

Written 1969

Published 1971

Silver Anniversary 1994

Golden Anniversary 2019

longest continuously in-print book on software

development?

mob programming

we were doing incremental development as early as 1957... where the technique used was, as far as I can tell, indistinguishable from XP

http://www.craiglarman.com/wiki/downloads/misc/history-of-iterative-larman-and-basili-ieee-computer.pdf

Jerry Weinberg

we worked with punch cards and printouts... with a

turnaround time of a week or so as we airfreighted decks of cards from New York to Los

Angeles.personal email from Jerry

when do developers instinctively pair?

rubber-duck debugging

https://en.wikipedia.org/wiki/Rubber_duck_debugging

silenttalking

images are representative only

productivityin my experience, pair programming is more productive than dividing the work between two programmers and then integrating the results

extreme Programming explained

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 WilliamsRobert Kessler

Ward CunninghamRon Jeffries

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.Nosek, J. T. (1998). The Case for Collaborative Programming. Communications of the ACM. March 1998: 105-108.

five worked individually, ten worked collaboratively in five pairs. Conditions and materials used were the same for both ... groups.

Nosek, J. T. (1998). The Case for Collaborative Programming. Communications of the ACM. March 1998: 105-108.

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-sided t-test.

if pairing increases productivity

why is it rare?

pairing is rare because working alone is common!

"locking" occurs whenever a situation creates an

environment favorable for maintaining that situation...

locking occurs in all sorts of systems... especially... social

Psychology of Computer Programming

? individual assessments ? different keyboards ? different editors ? table design ? room layout ? number of computers ? tools ...

pair programming works for XP because it encourages

communication

XP is a communal software development discipline.

communication

we are all lousy self evaluatorsSwitch by Chip and Dan Heath

feedback

programmers admit to working harder and

smarter on programs because they do not want

to let their partner downPair Programming Illuminated

energy

riskpairing helps reduce truck/bus number (aka the lottery number)

interruptionspairs are very

resistant to interruptions

interviewingteamwork characteristics cannot be determined if you interview one at a time.The Deming Route to Quality

i felt it was unwise to allow players to practice by

themselves. Always I wanted them to be interacting with their

teammates.Wooden on Leadership

interaction

the pair results were more consistent... the individuals varied more about the mean.

consistency

Pair Programming Illuminated

widespread use of pair programming involves a

cultural shift in values of the organization - away from

individual and toward team recognition and goals.

Pair Programming Illuminated

team

couragecourage is the capacity to go ahead in spite of fear, or in spite of pain.M. Scott Peck

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

extreme Programming explained

quality

Studies of Independence and Submission to Group Pressure. A Minority of One Against a Unanimous MajoritySolomon AschPsychological Monographs, 1956.

7 confederates 1 subject

https://en.wikipedia.org/wiki/Asch_conformity_experiments

18 trialsin 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 same

obviously wrong answer 12 times

75% of subjects gave the incorrect answer in at least 1 trial

the subject conformed to the incorrect answer in all 12 trials

36% of the time

Studies of Independence and Submission to Group Pressure. A Minority of Two Against a MajoritySolomon AschPsychological Monographs, 1956.

presence of 1 true confederate decreased subjects conformity to the

incorrect answer by 75%

thanks for listening

twitter : @JonJaggeremail : [email protected]

blog : http://jonjagger.blogspot.co.uk/charity : http://cyber-dojo.org

\n

1969 1990 2004


Recommended