SlideShare a Scribd company logo
pair
programming
twitter : @JonJagger
email : jon@jaggersoft.com
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
productivity
in 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 Williams
Robert Kessler
Ward Cunningham
Ron 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 evaluators
Switch by Chip and Dan Heath
feedback
programmers admit to
working harder and
smarter on programs
because they do not want
to let their partner down
Pair Programming Illuminated
energy
risk
pairing helps reduce
truck/bus number
(aka the lottery number)
interruptions
pairs are very
resistant to
interruptions
interviewing
teamwork 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
courage
courage 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 Majority
Solomon Asch
Psychological Monographs, 1956.
7 confederates
1 subject
https://en.wikipedia.org/wiki/Asch_conformity_experiments
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 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 Majority
Solomon Asch
Psychological Monographs, 1956.
presence of 1 true confederate
decreased subjects conformity to the
incorrect answer
by 75%
thanks for listening
twitter : @JonJagger
email : jon@jaggersoft.com
blog : http://jonjagger.blogspot.co.uk/
charity : http://cyber-dojo.org
n
1969 1990 2004
NorDevCon 2016 pair programming

More Related Content

What's hot

What We've Learned From Building Basie
What We've Learned From Building BasieWhat We've Learned From Building Basie
What We've Learned From Building Basie
Greg Wilson
 
10x programmers - What lies beneath
10x programmers - What lies beneath10x programmers - What lies beneath
10x programmers - What lies beneath
Hrishikesh Karekar
 
GeneralAssemb.ly Summer Program: Tech from the Ground Up
GeneralAssemb.ly Summer Program: Tech from the Ground UpGeneralAssemb.ly Summer Program: Tech from the Ground Up
GeneralAssemb.ly Summer Program: Tech from the Ground UpDaniel Doubrovkine
 
Big guns for small guys (reloaded)
Big guns for small guys (reloaded)Big guns for small guys (reloaded)
Big guns for small guys (reloaded)
Jorge López-Lago
 
Fine tune and deploy Hugging Face NLP models
Fine tune and deploy Hugging Face NLP modelsFine tune and deploy Hugging Face NLP models
Fine tune and deploy Hugging Face NLP models
OVHcloud
 
30% faster coder on-boarding when you have a code cookbook
30% faster coder on-boarding when you have a code cookbook30% faster coder on-boarding when you have a code cookbook
30% faster coder on-boarding when you have a code cookbook
Gabriel Paunescu 🤖
 
Pair programming 2 > 1 + 1
Pair programming  2 > 1 + 1Pair programming  2 > 1 + 1
Pair programming 2 > 1 + 1
Neha Batra
 
Less Process, more Guidance with a Team Playbook
Less Process, more Guidance with a Team PlaybookLess Process, more Guidance with a Team Playbook
Less Process, more Guidance with a Team Playbook
Sven Peters
 

What's hot (9)

What We've Learned From Building Basie
What We've Learned From Building BasieWhat We've Learned From Building Basie
What We've Learned From Building Basie
 
10x programmers - What lies beneath
10x programmers - What lies beneath10x programmers - What lies beneath
10x programmers - What lies beneath
 
GeneralAssemb.ly Summer Program: Tech from the Ground Up
GeneralAssemb.ly Summer Program: Tech from the Ground UpGeneralAssemb.ly Summer Program: Tech from the Ground Up
GeneralAssemb.ly Summer Program: Tech from the Ground Up
 
Big guns for small guys (reloaded)
Big guns for small guys (reloaded)Big guns for small guys (reloaded)
Big guns for small guys (reloaded)
 
Fine tune and deploy Hugging Face NLP models
Fine tune and deploy Hugging Face NLP modelsFine tune and deploy Hugging Face NLP models
Fine tune and deploy Hugging Face NLP models
 
HackYale 0-60 in Startup Tech
HackYale 0-60 in Startup TechHackYale 0-60 in Startup Tech
HackYale 0-60 in Startup Tech
 
30% faster coder on-boarding when you have a code cookbook
30% faster coder on-boarding when you have a code cookbook30% faster coder on-boarding when you have a code cookbook
30% faster coder on-boarding when you have a code cookbook
 
Pair programming 2 > 1 + 1
Pair programming  2 > 1 + 1Pair programming  2 > 1 + 1
Pair programming 2 > 1 + 1
 
Less Process, more Guidance with a Team Playbook
Less Process, more Guidance with a Team PlaybookLess Process, more Guidance with a Team Playbook
Less Process, more Guidance with a Team Playbook
 

Viewers also liked

1 tutoria expo tic ple (1)
1 tutoria expo tic ple (1)1 tutoria expo tic ple (1)
1 tutoria expo tic ple (1)
Tativelandia123
 
Wann soll ich mocken?
Wann soll ich mocken?Wann soll ich mocken?
Wann soll ich mocken?
David Völkel
 
Diapo chap 5 mobilité_sociale_2015
Diapo chap 5 mobilité_sociale_2015Diapo chap 5 mobilité_sociale_2015
Diapo chap 5 mobilité_sociale_2015
Philippe Watrelot
 
Dbase (interaktif-command)
Dbase (interaktif-command)Dbase (interaktif-command)
Dbase (interaktif-command)Resti Audyanti
 
Fiche SCoT 1 - Présentation
Fiche SCoT 1 - PrésentationFiche SCoT 1 - Présentation
Fiche SCoT 1 - Présentation
SCoT-LHPCE
 
Le numerique comme milieu d'organisation des savoirs et objet d'étude
Le numerique comme milieu d'organisation des savoirs et objet d'étudeLe numerique comme milieu d'organisation des savoirs et objet d'étude
Le numerique comme milieu d'organisation des savoirs et objet d'étude
Elie ALLOUCHE
 
Igniting Audience Measurement at Time Warner Cable
Igniting Audience Measurement at Time Warner CableIgniting Audience Measurement at Time Warner Cable
Igniting Audience Measurement at Time Warner Cable
Tim Case
 
cours
courscours
cours
houizot
 
Apple - Steve Jobs
Apple - Steve Jobs Apple - Steve Jobs
Apple - Steve Jobs
adeel990
 
2015: Post Stroke Fatigue - Why Live With It?-Giap
2015: Post Stroke Fatigue - Why Live With It?-Giap2015: Post Stroke Fatigue - Why Live With It?-Giap
2015: Post Stroke Fatigue - Why Live With It?-Giap
SDGWEP
 
2016: Geriatric Nephrology - Beben
2016: Geriatric Nephrology - Beben2016: Geriatric Nephrology - Beben
2016: Geriatric Nephrology - Beben
SDGWEP
 
2016: Falls in Older Adults Risk Assessment and Interventions-Shumaker
2016: Falls in Older Adults Risk Assessment and Interventions-Shumaker2016: Falls in Older Adults Risk Assessment and Interventions-Shumaker
2016: Falls in Older Adults Risk Assessment and Interventions-Shumaker
SDGWEP
 
Autism: The Challenges and Opportunities
Autism: The Challenges and OpportunitiesAutism: The Challenges and Opportunities
Autism: The Challenges and Opportunities
mckenln
 
NHS 5YFV Vanguards-Birju Bartoli presentation
NHS 5YFV Vanguards-Birju Bartoli presentationNHS 5YFV Vanguards-Birju Bartoli presentation
NHS 5YFV Vanguards-Birju Bartoli presentation
mckenln
 
Claire Taylor & Amardeep Gill- The Future of Local Government
Claire Taylor & Amardeep Gill- The Future of Local GovernmentClaire Taylor & Amardeep Gill- The Future of Local Government
Claire Taylor & Amardeep Gill- The Future of Local Government
mckenln
 
Presentation seminaire 10:05 ppt au laboratoire I3M
Presentation seminaire 10:05 ppt au laboratoire  I3MPresentation seminaire 10:05 ppt au laboratoire  I3M
Presentation seminaire 10:05 ppt au laboratoire I3M
Jamal L. TRAORE
 
Creative, Digital and Design Business Briefing - August 2016
Creative, Digital and Design Business Briefing - August 2016Creative, Digital and Design Business Briefing - August 2016
Creative, Digital and Design Business Briefing - August 2016
The Knowledge Transfer Network Creative, Digital & Design
 

Viewers also liked (17)

1 tutoria expo tic ple (1)
1 tutoria expo tic ple (1)1 tutoria expo tic ple (1)
1 tutoria expo tic ple (1)
 
Wann soll ich mocken?
Wann soll ich mocken?Wann soll ich mocken?
Wann soll ich mocken?
 
Diapo chap 5 mobilité_sociale_2015
Diapo chap 5 mobilité_sociale_2015Diapo chap 5 mobilité_sociale_2015
Diapo chap 5 mobilité_sociale_2015
 
Dbase (interaktif-command)
Dbase (interaktif-command)Dbase (interaktif-command)
Dbase (interaktif-command)
 
Fiche SCoT 1 - Présentation
Fiche SCoT 1 - PrésentationFiche SCoT 1 - Présentation
Fiche SCoT 1 - Présentation
 
Le numerique comme milieu d'organisation des savoirs et objet d'étude
Le numerique comme milieu d'organisation des savoirs et objet d'étudeLe numerique comme milieu d'organisation des savoirs et objet d'étude
Le numerique comme milieu d'organisation des savoirs et objet d'étude
 
Igniting Audience Measurement at Time Warner Cable
Igniting Audience Measurement at Time Warner CableIgniting Audience Measurement at Time Warner Cable
Igniting Audience Measurement at Time Warner Cable
 
cours
courscours
cours
 
Apple - Steve Jobs
Apple - Steve Jobs Apple - Steve Jobs
Apple - Steve Jobs
 
2015: Post Stroke Fatigue - Why Live With It?-Giap
2015: Post Stroke Fatigue - Why Live With It?-Giap2015: Post Stroke Fatigue - Why Live With It?-Giap
2015: Post Stroke Fatigue - Why Live With It?-Giap
 
2016: Geriatric Nephrology - Beben
2016: Geriatric Nephrology - Beben2016: Geriatric Nephrology - Beben
2016: Geriatric Nephrology - Beben
 
2016: Falls in Older Adults Risk Assessment and Interventions-Shumaker
2016: Falls in Older Adults Risk Assessment and Interventions-Shumaker2016: Falls in Older Adults Risk Assessment and Interventions-Shumaker
2016: Falls in Older Adults Risk Assessment and Interventions-Shumaker
 
Autism: The Challenges and Opportunities
Autism: The Challenges and OpportunitiesAutism: The Challenges and Opportunities
Autism: The Challenges and Opportunities
 
NHS 5YFV Vanguards-Birju Bartoli presentation
NHS 5YFV Vanguards-Birju Bartoli presentationNHS 5YFV Vanguards-Birju Bartoli presentation
NHS 5YFV Vanguards-Birju Bartoli presentation
 
Claire Taylor & Amardeep Gill- The Future of Local Government
Claire Taylor & Amardeep Gill- The Future of Local GovernmentClaire Taylor & Amardeep Gill- The Future of Local Government
Claire Taylor & Amardeep Gill- The Future of Local Government
 
Presentation seminaire 10:05 ppt au laboratoire I3M
Presentation seminaire 10:05 ppt au laboratoire  I3MPresentation seminaire 10:05 ppt au laboratoire  I3M
Presentation seminaire 10:05 ppt au laboratoire I3M
 
Creative, Digital and Design Business Briefing - August 2016
Creative, Digital and Design Business Briefing - August 2016Creative, Digital and Design Business Briefing - August 2016
Creative, Digital and Design Business Briefing - August 2016
 

Similar to NorDevCon 2016 pair programming

All I Really Need To Know About Pair Programming I Learned In Kindergarten
All I Really Need To Know About Pair Programming I Learned In KindergartenAll I Really Need To Know About Pair Programming I Learned In Kindergarten
All I Really Need To Know About Pair Programming I Learned In KindergartenFred Lee
 
Journal Article Critique “From Common To Uncommon...
Journal Article Critique “From Common To Uncommon...Journal Article Critique “From Common To Uncommon...
Journal Article Critique “From Common To Uncommon...
Beth Hall
 
Pair Programming in Theory and Practice By Garrick West
Pair Programming in Theory and Practice By Garrick WestPair Programming in Theory and Practice By Garrick West
Pair Programming in Theory and Practice By Garrick West
XP Conference India
 
Gadgets, Games and Gizmos for Learning: Teach on the Beach
Gadgets, Games and Gizmos for Learning: Teach on the BeachGadgets, Games and Gizmos for Learning: Teach on the Beach
Gadgets, Games and Gizmos for Learning: Teach on the Beach
Karl Kapp
 
Presentation Learning Tree
Presentation Learning TreePresentation Learning Tree
Presentation Learning Tree
Karl Kapp
 
Cets 2015 glenn path to mastery serious games
Cets 2015 glenn path to mastery serious gamesCets 2015 glenn path to mastery serious games
Cets 2015 glenn path to mastery serious games
Chicago eLearning & Technology Showcase
 
August 18, 2015 Presentation
 August 18, 2015 Presentation August 18, 2015 Presentation
August 18, 2015 Presentation
Dennis Glenn, MFA
 
Presentation11 091715
Presentation11 091715Presentation11 091715
Presentation11 091715
Dennis C King
 
Instructional Gaming
Instructional GamingInstructional Gaming
Instructional Gaming
Karl Kapp
 
The below test includes 10 questions, randomly selected from a large.pdf
The below test includes 10 questions, randomly selected from a large.pdfThe below test includes 10 questions, randomly selected from a large.pdf
The below test includes 10 questions, randomly selected from a large.pdf
kisgstin23
 
The 4th New Science
The 4th New ScienceThe 4th New Science
The 4th New Science
grplunkett
 
Liberating Structures for Knowledge Sharing
Liberating Structures for Knowledge SharingLiberating Structures for Knowledge Sharing
Liberating Structures for Knowledge Sharing
Nancy Wright White
 
The And The Crimes
The And The CrimesThe And The Crimes
The And The Crimes
Lucy Nader
 
Supporting Developers’ Coordination in The IDE #cscw2015
Supporting Developers’ Coordination in The IDE #cscw2015Supporting Developers’ Coordination in The IDE #cscw2015
Supporting Developers’ Coordination in The IDE #cscw2015
Alberto Bacchelli
 
Busting Learning Myths: Fact of Fishy
Busting Learning Myths: Fact of FishyBusting Learning Myths: Fact of Fishy
Busting Learning Myths: Fact of Fishy
Karl Kapp
 
Skip Cole, USIP, techatstate
Skip Cole, USIP, techatstateSkip Cole, USIP, techatstate
Skip Cole, USIP, techatstate
techatstate
 
The Business Case for Game Based Learning
The Business Case for Game Based LearningThe Business Case for Game Based Learning
The Business Case for Game Based Learning
Karl Kapp
 
NursingInnovations in Learning Technology and What it Means to Nursing Education
NursingInnovations in Learning Technology and What it Means to Nursing EducationNursingInnovations in Learning Technology and What it Means to Nursing Education
NursingInnovations in Learning Technology and What it Means to Nursing Education
Karl Kapp
 
Cognitive Computing for Tacit Knowledge1
Cognitive Computing for Tacit Knowledge1Cognitive Computing for Tacit Knowledge1
Cognitive Computing for Tacit Knowledge1Lucia Gradinariu
 
JDD2014: Game of Throneware, or how not to get killed when a developer become...
JDD2014: Game of Throneware, or how not to get killed when a developer become...JDD2014: Game of Throneware, or how not to get killed when a developer become...
JDD2014: Game of Throneware, or how not to get killed when a developer become...
PROIDEA
 

Similar to NorDevCon 2016 pair programming (20)

All I Really Need To Know About Pair Programming I Learned In Kindergarten
All I Really Need To Know About Pair Programming I Learned In KindergartenAll I Really Need To Know About Pair Programming I Learned In Kindergarten
All I Really Need To Know About Pair Programming I Learned In Kindergarten
 
Journal Article Critique “From Common To Uncommon...
Journal Article Critique “From Common To Uncommon...Journal Article Critique “From Common To Uncommon...
Journal Article Critique “From Common To Uncommon...
 
Pair Programming in Theory and Practice By Garrick West
Pair Programming in Theory and Practice By Garrick WestPair Programming in Theory and Practice By Garrick West
Pair Programming in Theory and Practice By Garrick West
 
Gadgets, Games and Gizmos for Learning: Teach on the Beach
Gadgets, Games and Gizmos for Learning: Teach on the BeachGadgets, Games and Gizmos for Learning: Teach on the Beach
Gadgets, Games and Gizmos for Learning: Teach on the Beach
 
Presentation Learning Tree
Presentation Learning TreePresentation Learning Tree
Presentation Learning Tree
 
Cets 2015 glenn path to mastery serious games
Cets 2015 glenn path to mastery serious gamesCets 2015 glenn path to mastery serious games
Cets 2015 glenn path to mastery serious games
 
August 18, 2015 Presentation
 August 18, 2015 Presentation August 18, 2015 Presentation
August 18, 2015 Presentation
 
Presentation11 091715
Presentation11 091715Presentation11 091715
Presentation11 091715
 
Instructional Gaming
Instructional GamingInstructional Gaming
Instructional Gaming
 
The below test includes 10 questions, randomly selected from a large.pdf
The below test includes 10 questions, randomly selected from a large.pdfThe below test includes 10 questions, randomly selected from a large.pdf
The below test includes 10 questions, randomly selected from a large.pdf
 
The 4th New Science
The 4th New ScienceThe 4th New Science
The 4th New Science
 
Liberating Structures for Knowledge Sharing
Liberating Structures for Knowledge SharingLiberating Structures for Knowledge Sharing
Liberating Structures for Knowledge Sharing
 
The And The Crimes
The And The CrimesThe And The Crimes
The And The Crimes
 
Supporting Developers’ Coordination in The IDE #cscw2015
Supporting Developers’ Coordination in The IDE #cscw2015Supporting Developers’ Coordination in The IDE #cscw2015
Supporting Developers’ Coordination in The IDE #cscw2015
 
Busting Learning Myths: Fact of Fishy
Busting Learning Myths: Fact of FishyBusting Learning Myths: Fact of Fishy
Busting Learning Myths: Fact of Fishy
 
Skip Cole, USIP, techatstate
Skip Cole, USIP, techatstateSkip Cole, USIP, techatstate
Skip Cole, USIP, techatstate
 
The Business Case for Game Based Learning
The Business Case for Game Based LearningThe Business Case for Game Based Learning
The Business Case for Game Based Learning
 
NursingInnovations in Learning Technology and What it Means to Nursing Education
NursingInnovations in Learning Technology and What it Means to Nursing EducationNursingInnovations in Learning Technology and What it Means to Nursing Education
NursingInnovations in Learning Technology and What it Means to Nursing Education
 
Cognitive Computing for Tacit Knowledge1
Cognitive Computing for Tacit Knowledge1Cognitive Computing for Tacit Knowledge1
Cognitive Computing for Tacit Knowledge1
 
JDD2014: Game of Throneware, or how not to get killed when a developer become...
JDD2014: Game of Throneware, or how not to get killed when a developer become...JDD2014: Game of Throneware, or how not to get killed when a developer become...
JDD2014: Game of Throneware, or how not to get killed when a developer become...
 

More from Jon Jagger

Design and Evolution of cyber-dojo
Design and Evolution of cyber-dojoDesign and Evolution of cyber-dojo
Design and Evolution of cyber-dojo
Jon Jagger
 
Oslo Day of Docker Opening Keynote
Oslo Day of Docker Opening KeynoteOslo Day of Docker Opening Keynote
Oslo Day of Docker Opening Keynote
Jon Jagger
 
Cyber-dojo: How to perform deliberate practice
Cyber-dojo: How to perform deliberate practiceCyber-dojo: How to perform deliberate practice
Cyber-dojo: How to perform deliberate practice
Jon Jagger
 
Atlantec - tdd lessons
Atlantec - tdd lessonsAtlantec - tdd lessons
Atlantec - tdd lessons
Jon Jagger
 
lessons from testing
lessons from testinglessons from testing
lessons from testing
Jon Jagger
 
Lessons from Testing
Lessons from TestingLessons from Testing
Lessons from Testing
Jon Jagger
 
Systems thinking
Systems thinkingSystems thinking
Systems thinkingJon Jagger
 
Kanban Push-me Pull-you
Kanban Push-me Pull-youKanban Push-me Pull-you
Kanban Push-me Pull-you
Jon Jagger
 
Larry and Jen do Roman Numerals in C++
Larry and Jen do Roman Numerals in C++Larry and Jen do Roman Numerals in C++
Larry and Jen do Roman Numerals in C++
Jon Jagger
 
Some stuff about C++ and development
Some stuff about C++ and developmentSome stuff about C++ and development
Some stuff about C++ and development
Jon Jagger
 
Systems Thinking
Systems ThinkingSystems Thinking
Systems Thinking
Jon Jagger
 
An Agile A to Z
An Agile A to ZAn Agile A to Z
An Agile A to Z
Jon Jagger
 

More from Jon Jagger (12)

Design and Evolution of cyber-dojo
Design and Evolution of cyber-dojoDesign and Evolution of cyber-dojo
Design and Evolution of cyber-dojo
 
Oslo Day of Docker Opening Keynote
Oslo Day of Docker Opening KeynoteOslo Day of Docker Opening Keynote
Oslo Day of Docker Opening Keynote
 
Cyber-dojo: How to perform deliberate practice
Cyber-dojo: How to perform deliberate practiceCyber-dojo: How to perform deliberate practice
Cyber-dojo: How to perform deliberate practice
 
Atlantec - tdd lessons
Atlantec - tdd lessonsAtlantec - tdd lessons
Atlantec - tdd lessons
 
lessons from testing
lessons from testinglessons from testing
lessons from testing
 
Lessons from Testing
Lessons from TestingLessons from Testing
Lessons from Testing
 
Systems thinking
Systems thinkingSystems thinking
Systems thinking
 
Kanban Push-me Pull-you
Kanban Push-me Pull-youKanban Push-me Pull-you
Kanban Push-me Pull-you
 
Larry and Jen do Roman Numerals in C++
Larry and Jen do Roman Numerals in C++Larry and Jen do Roman Numerals in C++
Larry and Jen do Roman Numerals in C++
 
Some stuff about C++ and development
Some stuff about C++ and developmentSome stuff about C++ and development
Some stuff about C++ and development
 
Systems Thinking
Systems ThinkingSystems Thinking
Systems Thinking
 
An Agile A to Z
An Agile A to ZAn Agile A to Z
An Agile A to Z
 

Recently uploaded

Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
Globus
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
Globus
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
Globus
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
XfilesPro
 
Software Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdfSoftware Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdf
MayankTawar1
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Natan Silnitsky
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Shahin Sheidaei
 
Visitor Management System in India- Vizman.app
Visitor Management System in India- Vizman.appVisitor Management System in India- Vizman.app
Visitor Management System in India- Vizman.app
NaapbooksPrivateLimi
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus
 
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
XfilesPro
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
Globus
 
De mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FMEDe mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FME
Jelle | Nordend
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
IES VE
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
Georgi Kodinov
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
Globus
 
Corporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMSCorporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMS
Tendenci - The Open Source AMS (Association Management Software)
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
Tier1 app
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
Globus
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
Juraj Vysvader
 

Recently uploaded (20)

Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
 
Software Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdfSoftware Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdf
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
 
Visitor Management System in India- Vizman.app
Visitor Management System in India- Vizman.appVisitor Management System in India- Vizman.app
Visitor Management System in India- Vizman.app
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
 
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
 
De mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FMEDe mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FME
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
 
Corporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMSCorporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMS
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 

NorDevCon 2016 pair programming

  • 1. pair programming twitter : @JonJagger email : jon@jaggersoft.com blog : http://jonjagger.blogspot.co.uk/ charity : http://cyber-dojo.org n
  • 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... individual from... (see slide 4)
  • 3. 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. 4 Written 1969 Published 1971 Silver Anniversary 1994 Golden Anniversary 2019 longest continuously in-print book on software development?
  • 6. 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
  • 7. 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
  • 11. productivity in my experience, pair programming is more productive than dividing the work between two programmers and then integrating the results extreme Programming explained
  • 12. 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
  • 13. 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.
  • 14. 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.
  • 15. 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.
  • 17. pairing is rare because working alone is common!
  • 18. "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
  • 19. ? individual assessments ? different keyboards ? different editors ? table design ? room layout ? number of computers ? tools ...
  • 20. pair programming works for XP because it encourages communication XP is a communal software development discipline. communication
  • 21. we are all lousy self evaluators Switch by Chip and Dan Heath feedback
  • 22. programmers admit to working harder and smarter on programs because they do not want to let their partner down Pair Programming Illuminated energy
  • 23. risk pairing helps reduce truck/bus number (aka the lottery number)
  • 25. interviewing teamwork characteristics cannot be determined if you interview one at a time. The Deming Route to Quality
  • 26. 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
  • 27. the pair results were more consistent... the individuals varied more about the mean. consistency Pair Programming Illuminated
  • 28. 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
  • 29. courage courage is the capacity to go ahead in spite of fear, or in spite of pain. M. Scott Peck
  • 30. 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
  • 31. Studies of Independence and Submission to Group Pressure. A Minority of One Against a Unanimous Majority Solomon Asch Psychological Monographs, 1956.
  • 33. 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 same obviously wrong answer 12 times
  • 34. 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
  • 35. Studies of Independence and Submission to Group Pressure. A Minority of Two Against a Majority Solomon Asch Psychological Monographs, 1956.
  • 36. presence of 1 true confederate decreased subjects conformity to the incorrect answer by 75%
  • 37. thanks for listening twitter : @JonJagger email : jon@jaggersoft.com blog : http://jonjagger.blogspot.co.uk/ charity : http://cyber-dojo.org n