SlideShare uma empresa Scribd logo
1 de 39
Baixar para ler offline
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

Mais conteúdo relacionado

Mais procurados

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 BasieGreg Wilson
 
10x programmers - What lies beneath
10x programmers - What lies beneath10x programmers - What lies beneath
10x programmers - What lies beneathHrishikesh 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 modelsOVHcloud
 
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 cookbookGabriel Paunescu 🤖
 
Pair programming 2 > 1 + 1
Pair programming  2 > 1 + 1Pair programming  2 > 1 + 1
Pair programming 2 > 1 + 1Neha 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 PlaybookSven Peters
 

Mais procurados (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
 

Destaque

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_2015Philippe 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ésentationSCoT-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'étudeElie 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 CableTim Case
 
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?-GiapSDGWEP
 
2016: Geriatric Nephrology - Beben
2016: Geriatric Nephrology - Beben2016: Geriatric Nephrology - Beben
2016: Geriatric Nephrology - BebenSDGWEP
 
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-ShumakerSDGWEP
 
Autism: The Challenges and Opportunities
Autism: The Challenges and OpportunitiesAutism: The Challenges and Opportunities
Autism: The Challenges and Opportunitiesmckenln
 
NHS 5YFV Vanguards-Birju Bartoli presentation
NHS 5YFV Vanguards-Birju Bartoli presentationNHS 5YFV Vanguards-Birju Bartoli presentation
NHS 5YFV Vanguards-Birju Bartoli presentationmckenln
 
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 Governmentmckenln
 
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 I3MJamal L. TRAORE
 

Destaque (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
 

Semelhante a 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 WestXP 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 BeachKarl Kapp
 
Presentation Learning Tree
Presentation Learning TreePresentation Learning Tree
Presentation Learning TreeKarl Kapp
 
August 18, 2015 Presentation
 August 18, 2015 Presentation August 18, 2015 Presentation
August 18, 2015 PresentationDennis Glenn, MFA
 
Presentation11 091715
Presentation11 091715Presentation11 091715
Presentation11 091715Dennis C King
 
Instructional Gaming
Instructional GamingInstructional Gaming
Instructional GamingKarl 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.pdfkisgstin23
 
The 4th New Science
The 4th New ScienceThe 4th New Science
The 4th New Sciencegrplunkett
 
Liberating Structures for Knowledge Sharing
Liberating Structures for Knowledge SharingLiberating Structures for Knowledge Sharing
Liberating Structures for Knowledge SharingNancy Wright White
 
The And The Crimes
The And The CrimesThe And The Crimes
The And The CrimesLucy 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 #cscw2015Alberto Bacchelli
 
Busting Learning Myths: Fact of Fishy
Busting Learning Myths: Fact of FishyBusting Learning Myths: Fact of Fishy
Busting Learning Myths: Fact of FishyKarl Kapp
 
Skip Cole, USIP, techatstate
Skip Cole, USIP, techatstateSkip Cole, USIP, techatstate
Skip Cole, USIP, techatstatetechatstate
 
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 LearningKarl 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 EducationKarl 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
 

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

Mais de Jon Jagger

Design and Evolution of cyber-dojo
Design and Evolution of cyber-dojoDesign and Evolution of cyber-dojo
Design and Evolution of cyber-dojoJon Jagger
 
Oslo Day of Docker Opening Keynote
Oslo Day of Docker Opening KeynoteOslo Day of Docker Opening Keynote
Oslo Day of Docker Opening KeynoteJon 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 practiceJon Jagger
 
Atlantec - tdd lessons
Atlantec - tdd lessonsAtlantec - tdd lessons
Atlantec - tdd lessonsJon Jagger
 
lessons from testing
lessons from testinglessons from testing
lessons from testingJon Jagger
 
Lessons from Testing
Lessons from TestingLessons from Testing
Lessons from TestingJon 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-youJon 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 developmentJon Jagger
 
Systems Thinking
Systems ThinkingSystems Thinking
Systems ThinkingJon Jagger
 
An Agile A to Z
An Agile A to ZAn Agile A to Z
An Agile A to ZJon Jagger
 

Mais de 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
 

Último

Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendArshad QA
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 

Último (20)

Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and Backend
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 

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