SlideShare une entreprise Scribd logo
1  sur  14
PairProgramming
Apracticalguide
11/5/2016 – Giuseppe Sorrentino
Objective
Present pair programming as agile practice
◦ Definition and Advantages
◦ Roles and Duties
Provide clear and slick guidelines to improve pair programming within the pod
◦ Restarting, Planning and Action
◦ Tips and Tricks
PAIR PROGRAMMING – A PRACTICAL GUIDE 2
Definition
PAIR PROGRAMMING – A PRACTICAL GUIDE 3
“Pair programming isa dialog between two people trying to…understand how to program better.”4
Itintegrateswell intoanagileenvironment because itallows:1
• to produce better software by continuous inspection ofcode;
• to foster face-to-face communication.
Evidence 1
PAIR PROGRAMMING – A PRACTICAL GUIDE 4
Two programmers together vs. Twoprogrammers alone
Two programmers together work more thantwice asfastand thinkof more thantwice asmanysolution toa
problem astwo working together.
Five experienced programmers individually vs. five couple of experienced programmers
Groups completed the task40% more quicklyandeffectivelyby producing better algotithmsandcode inless
time.
Roles
PAIR PROGRAMMING – A PRACTICAL GUIDE 6
Duties
◦ Active role on the keyboard/mouse
◦ Focuses on the code at hand:
◦ Syntax
◦ Semantics
◦ Algorithm
◦ Verbalise his thoughts
◦ Concentrates to pass the next test
Driver
◦ No active role on the keyboard mouse
◦ Continually reviews the work
◦ Catches incidental mistakes
◦ Anything which needs further verification
◦ Overall code design
◦ Focuses on a strategic level
◦ Checks the consistency of the code being written with existent code
◦ Tracks if other changes are needed in different area of the code
base
◦ Suggest design and algorithm enhancements
Navigator
They switch often (from 10 to 20 minutes) only by swiping the keyboard
ActivityTime
7
Findthequestions
PAIR PROGRAMMING – A PRACTICAL GUIDE 8
Example
◦ In this case is better a multiple if structure or a switch
case?
◦ Which the most explicative name for this variable?
Driver
◦ How will this fit with the rest of the code?
◦ Will this implementation require changes elsewhere?
◦ Could we design this program better?
Navigator
Restarting, Planning and Action2
PAIR PROGRAMMING – A PRACTICAL GUIDE 9
Research recognized three main phases:
• Restarting: when a couple is stuck
• Planning: when a couple is deciding on their next actions
• Action: when a couple is actively performing a task
Guideline to drive these phases are in the notes.
https://www.youtube.com/watch?v=ONnYCT_LJio
Tips and Tricks1,2,3,4
PAIR PROGRAMMING – A PRACTICAL GUIDE 10
• Kill any distractor (browser, chats, notifications, etc.)
• Use an editor both are familiar with
• A good pairing time is four hours
• Do not pair to execute systematic and repetitive tasks
• Avoid to form always the same couples
• Check that your partner is active
• Healthy debate and avoid excess ego
• Use an appropriate workspace layout (switch keyboard)
ActivityTime
11
Plusanddelta
PAIR PROGRAMMING – A PRACTICAL GUIDE 12
• Code quality
• Speed
• Learning
• Familiarization
Pair Programming Balance
Conclusion
References
PAIR PROGRAMMING – A PRACTICAL GUIDE 13
1. L. A. Williams and R. R. Kessler, “All I really need to know about pair programming I learned in kindergarten,”
Communications of the ACM, vol. 43, no. 5, pp. 108–114, 2000.
2. M. Zarb, J. Hughes, and J. Richards, “Evaluating industry-inspired pair programming communication guidelines
with undergraduate students,” in Proceedings of the 45th ACM technical symposium on Computer science
education, 2014, pp. 361–366.
3. L. Williams, R. R. Kessler, W. Cunningham, and R. Jeffries, “Strengthening the case for pair programming,” IEEE
software, vol. 17, no. 4, pp. 19–25, 2000.
4. M. Kircher, P. Jain, A. Corsaro, and D. Levine, “Distributed extreme programming,” Extreme Programming and
Flexible Processes in Software Engineering, Italy, pp. 66–71, 2001.
Thankyou!

Contenu connexe

Tendances

Software Development Practices Patterns: from Pair to Mob Programming
Software Development Practices Patterns: from Pair to Mob ProgrammingSoftware Development Practices Patterns: from Pair to Mob Programming
Software Development Practices Patterns: from Pair to Mob ProgrammingHerez Moise Kattan
 
Xp(Xtreme Programming) presentation
Xp(Xtreme Programming) presentationXp(Xtreme Programming) presentation
Xp(Xtreme Programming) presentationMuaazZubairi
 
Practices of agile developers
Practices of agile developersPractices of agile developers
Practices of agile developersDUONG Trong Tan
 
Coderetreat - Practice to Master Your Crafts
Coderetreat - Practice to Master Your CraftsCoderetreat - Practice to Master Your Crafts
Coderetreat - Practice to Master Your CraftsLemi Orhan Ergin
 
Going extreme-with-extreme-programming
Going extreme-with-extreme-programmingGoing extreme-with-extreme-programming
Going extreme-with-extreme-programmingMichael Green
 
Global Day of Coderetreat'14 - Istanbul Event
Global Day of Coderetreat'14 - Istanbul EventGlobal Day of Coderetreat'14 - Istanbul Event
Global Day of Coderetreat'14 - Istanbul EventLemi Orhan Ergin
 
Extreme programming - a quick and agile overview !
Extreme programming - a quick and agile overview !Extreme programming - a quick and agile overview !
Extreme programming - a quick and agile overview !Vinit Kumar Singh
 
XP Explained
XP ExplainedXP Explained
XP Explainedvineet
 
Best practices for agile design
Best practices for agile designBest practices for agile design
Best practices for agile designIgor Moochnick
 
extreme Programming
extreme Programmingextreme Programming
extreme ProgrammingBilal Shah
 
Software Craftsmanship - It's an Imperative
Software Craftsmanship - It's an ImperativeSoftware Craftsmanship - It's an Imperative
Software Craftsmanship - It's an ImperativeFadi Stephan
 
Arch factory - Agile Design: Best Practices
Arch factory - Agile Design: Best PracticesArch factory - Agile Design: Best Practices
Arch factory - Agile Design: Best PracticesIgor Moochnick
 
Microsoft + Agile (light)
Microsoft + Agile (light)Microsoft + Agile (light)
Microsoft + Agile (light)Andrea Tino
 
Extreme Programming (XP) for Dummies
Extreme Programming (XP) for DummiesExtreme Programming (XP) for Dummies
Extreme Programming (XP) for DummiesJon McNestrie
 
Extreme programming
Extreme programmingExtreme programming
Extreme programmingaaina_katyal
 
Advice on how to get started — and ahead — in a career in DevOps
Advice on how to get started — and ahead — in a career in DevOpsAdvice on how to get started — and ahead — in a career in DevOps
Advice on how to get started — and ahead — in a career in DevOpsPuppet
 
Why pay two developers to do the work of one?
Why pay two developers to do the work of one?Why pay two developers to do the work of one?
Why pay two developers to do the work of one?📈 Paige Watson
 
Difference between traditional and agile software development
Difference between traditional and agile software developmentDifference between traditional and agile software development
Difference between traditional and agile software developmentDeepaThirumurugan
 

Tendances (20)

Software Development Practices Patterns: from Pair to Mob Programming
Software Development Practices Patterns: from Pair to Mob ProgrammingSoftware Development Practices Patterns: from Pair to Mob Programming
Software Development Practices Patterns: from Pair to Mob Programming
 
Xtreme Programming
Xtreme ProgrammingXtreme Programming
Xtreme Programming
 
Xp(Xtreme Programming) presentation
Xp(Xtreme Programming) presentationXp(Xtreme Programming) presentation
Xp(Xtreme Programming) presentation
 
Practices of agile developers
Practices of agile developersPractices of agile developers
Practices of agile developers
 
Coderetreat - Practice to Master Your Crafts
Coderetreat - Practice to Master Your CraftsCoderetreat - Practice to Master Your Crafts
Coderetreat - Practice to Master Your Crafts
 
Going extreme-with-extreme-programming
Going extreme-with-extreme-programmingGoing extreme-with-extreme-programming
Going extreme-with-extreme-programming
 
Global Day of Coderetreat'14 - Istanbul Event
Global Day of Coderetreat'14 - Istanbul EventGlobal Day of Coderetreat'14 - Istanbul Event
Global Day of Coderetreat'14 - Istanbul Event
 
Extreme programming - a quick and agile overview !
Extreme programming - a quick and agile overview !Extreme programming - a quick and agile overview !
Extreme programming - a quick and agile overview !
 
XP Explained
XP ExplainedXP Explained
XP Explained
 
Best practices for agile design
Best practices for agile designBest practices for agile design
Best practices for agile design
 
extreme Programming
extreme Programmingextreme Programming
extreme Programming
 
Software Craftsmanship - It's an Imperative
Software Craftsmanship - It's an ImperativeSoftware Craftsmanship - It's an Imperative
Software Craftsmanship - It's an Imperative
 
Arch factory - Agile Design: Best Practices
Arch factory - Agile Design: Best PracticesArch factory - Agile Design: Best Practices
Arch factory - Agile Design: Best Practices
 
Microsoft + Agile (light)
Microsoft + Agile (light)Microsoft + Agile (light)
Microsoft + Agile (light)
 
Extreme Programming (XP) for Dummies
Extreme Programming (XP) for DummiesExtreme Programming (XP) for Dummies
Extreme Programming (XP) for Dummies
 
Extreme programming
Extreme programmingExtreme programming
Extreme programming
 
Put to the Test
Put to the TestPut to the Test
Put to the Test
 
Advice on how to get started — and ahead — in a career in DevOps
Advice on how to get started — and ahead — in a career in DevOpsAdvice on how to get started — and ahead — in a career in DevOps
Advice on how to get started — and ahead — in a career in DevOps
 
Why pay two developers to do the work of one?
Why pay two developers to do the work of one?Why pay two developers to do the work of one?
Why pay two developers to do the work of one?
 
Difference between traditional and agile software development
Difference between traditional and agile software developmentDifference between traditional and agile software development
Difference between traditional and agile software development
 

En vedette

Barriers ACRL Immersion Program Track
Barriers   ACRL Immersion Program TrackBarriers   ACRL Immersion Program Track
Barriers ACRL Immersion Program Trackguestd77b50
 
Remote Pair Programming (Agile India)
Remote Pair Programming (Agile India)Remote Pair Programming (Agile India)
Remote Pair Programming (Agile India)Johannes Brodwall
 
"Where's the data?" The role of metadata in enabling the transformation to a ...
"Where's the data?" The role of metadata in enabling the transformation to a ..."Where's the data?" The role of metadata in enabling the transformation to a ...
"Where's the data?" The role of metadata in enabling the transformation to a ...Roland Bullivant
 
Agile Transformation and The Metrics Drama : Presented by Deepak Gururaja
Agile Transformation and The Metrics Drama : Presented by Deepak GururajaAgile Transformation and The Metrics Drama : Presented by Deepak Gururaja
Agile Transformation and The Metrics Drama : Presented by Deepak GururajaoGuild .
 
LS 708 Agile Tools for Everyone
LS 708 Agile Tools for EveryoneLS 708 Agile Tools for Everyone
LS 708 Agile Tools for EveryoneDon Bolen
 
Backlog Blunders
Backlog BlundersBacklog Blunders
Backlog BlundersJoe Combs
 
Agile Tool Selection
Agile Tool SelectionAgile Tool Selection
Agile Tool SelectionChad Holdorf
 
Keeping Product Backlog Healthy
Keeping Product Backlog HealthyKeeping Product Backlog Healthy
Keeping Product Backlog HealthyDhaval Panchal
 
Agile & ALM tools
Agile & ALM toolsAgile & ALM tools
Agile & ALM toolsLarry Cai
 
Scrum and Test-driven development
Scrum and Test-driven developmentScrum and Test-driven development
Scrum and Test-driven developmenttoteb5
 
Agile Test Driven Development
Agile Test Driven DevelopmentAgile Test Driven Development
Agile Test Driven DevelopmentViraf Karai
 
Unleashed Power Behind The Myths: Pair Programming (CraftSummit15)
Unleashed Power Behind The Myths: Pair Programming (CraftSummit15)Unleashed Power Behind The Myths: Pair Programming (CraftSummit15)
Unleashed Power Behind The Myths: Pair Programming (CraftSummit15)Lemi Orhan Ergin
 
The Story Mapping Game (1st Conf, Melbourne, Australia, 3rd March 2017)
The Story Mapping Game (1st Conf, Melbourne, Australia, 3rd March 2017)The Story Mapping Game (1st Conf, Melbourne, Australia, 3rd March 2017)
The Story Mapping Game (1st Conf, Melbourne, Australia, 3rd March 2017)Victoria Schiffer
 
Test-Driven Development (TDD)
Test-Driven Development (TDD)Test-Driven Development (TDD)
Test-Driven Development (TDD)Brian Rasmussen
 
Essentials of Agile User Story Mapping at Twitter
Essentials of Agile User Story Mapping at TwitterEssentials of Agile User Story Mapping at Twitter
Essentials of Agile User Story Mapping at TwitterAtlassian
 

En vedette (20)

Barriers ACRL Immersion Program Track
Barriers   ACRL Immersion Program TrackBarriers   ACRL Immersion Program Track
Barriers ACRL Immersion Program Track
 
Remote Pair Programming (Agile India)
Remote Pair Programming (Agile India)Remote Pair Programming (Agile India)
Remote Pair Programming (Agile India)
 
"Where's the data?" The role of metadata in enabling the transformation to a ...
"Where's the data?" The role of metadata in enabling the transformation to a ..."Where's the data?" The role of metadata in enabling the transformation to a ...
"Where's the data?" The role of metadata in enabling the transformation to a ...
 
Agile/Lean Induction
Agile/Lean InductionAgile/Lean Induction
Agile/Lean Induction
 
Agile Transformation and The Metrics Drama : Presented by Deepak Gururaja
Agile Transformation and The Metrics Drama : Presented by Deepak GururajaAgile Transformation and The Metrics Drama : Presented by Deepak Gururaja
Agile Transformation and The Metrics Drama : Presented by Deepak Gururaja
 
Agile tools
Agile toolsAgile tools
Agile tools
 
LS 708 Agile Tools for Everyone
LS 708 Agile Tools for EveryoneLS 708 Agile Tools for Everyone
LS 708 Agile Tools for Everyone
 
Backlog Blunders
Backlog BlundersBacklog Blunders
Backlog Blunders
 
Agile Tool Selection
Agile Tool SelectionAgile Tool Selection
Agile Tool Selection
 
Agile Engineering Practices
Agile Engineering PracticesAgile Engineering Practices
Agile Engineering Practices
 
Keeping Product Backlog Healthy
Keeping Product Backlog HealthyKeeping Product Backlog Healthy
Keeping Product Backlog Healthy
 
Agile ALM Tool Comparison
Agile ALM Tool ComparisonAgile ALM Tool Comparison
Agile ALM Tool Comparison
 
Agile & ALM tools
Agile & ALM toolsAgile & ALM tools
Agile & ALM tools
 
Scrum and Test-driven development
Scrum and Test-driven developmentScrum and Test-driven development
Scrum and Test-driven development
 
Agile Test Driven Development
Agile Test Driven DevelopmentAgile Test Driven Development
Agile Test Driven Development
 
Unleashed Power Behind The Myths: Pair Programming (CraftSummit15)
Unleashed Power Behind The Myths: Pair Programming (CraftSummit15)Unleashed Power Behind The Myths: Pair Programming (CraftSummit15)
Unleashed Power Behind The Myths: Pair Programming (CraftSummit15)
 
The Story Mapping Game (1st Conf, Melbourne, Australia, 3rd March 2017)
The Story Mapping Game (1st Conf, Melbourne, Australia, 3rd March 2017)The Story Mapping Game (1st Conf, Melbourne, Australia, 3rd March 2017)
The Story Mapping Game (1st Conf, Melbourne, Australia, 3rd March 2017)
 
Test-Driven Development (TDD)
Test-Driven Development (TDD)Test-Driven Development (TDD)
Test-Driven Development (TDD)
 
TDD - Agile
TDD - Agile TDD - Agile
TDD - Agile
 
Essentials of Agile User Story Mapping at Twitter
Essentials of Agile User Story Mapping at TwitterEssentials of Agile User Story Mapping at Twitter
Essentials of Agile User Story Mapping at Twitter
 

Similaire à Pair Programming - a pratical guide

Pair Programming - Everything you need to know
Pair Programming - Everything you need to knowPair Programming - Everything you need to know
Pair Programming - Everything you need to knowKristina Suchan
 
Rapid usability testing
Rapid usability testingRapid usability testing
Rapid usability testinglisarex
 
unit-1 agile development.pptx
unit-1 agile development.pptxunit-1 agile development.pptx
unit-1 agile development.pptxDhruvSuthar24
 
Extreme programming
Extreme programmingExtreme programming
Extreme programmingAYUSH JAIN
 
It Takes Two - A Case Study in Pair Programming
It Takes Two - A Case Study in Pair ProgrammingIt Takes Two - A Case Study in Pair Programming
It Takes Two - A Case Study in Pair ProgrammingAndy Melichar
 
W7 Knowledge Check 5 1 American project managers have earned a r.docx
W7 Knowledge Check 5 1 American project managers have earned a r.docxW7 Knowledge Check 5 1 American project managers have earned a r.docx
W7 Knowledge Check 5 1 American project managers have earned a r.docxcelenarouzie
 
Agile - Pair-programming
Agile - Pair-programmingAgile - Pair-programming
Agile - Pair-programmingCarlosM80
 
Flavours of agile software engineering
Flavours of agile software engineeringFlavours of agile software engineering
Flavours of agile software engineeringZeeshan Masood S
 
Flavours of agile software engineering
Flavours of agile software engineeringFlavours of agile software engineering
Flavours of agile software engineeringZeeshan Masood S
 
Open Source Software Development Practices that Works
Open Source Software Development Practices that WorksOpen Source Software Development Practices that Works
Open Source Software Development Practices that WorksChoong Ping Teo
 
Pair Programming: overview and concepts
Pair Programming: overview and conceptsPair Programming: overview and concepts
Pair Programming: overview and conceptsLior Kirshner-Shalom
 
Teacher toolkit Pycon UK Sept 2018
Teacher toolkit Pycon UK Sept 2018Teacher toolkit Pycon UK Sept 2018
Teacher toolkit Pycon UK Sept 2018Sue Sentance
 
Test strategy
Test strategyTest strategy
Test strategyadarsh j
 
Analysis of the interaction between practices for introducing XP effectively
Analysis of the interaction between practices for introducing XP effectivelyAnalysis of the interaction between practices for introducing XP effectively
Analysis of the interaction between practices for introducing XP effectivelyMakoto SAKAI
 

Similaire à Pair Programming - a pratical guide (20)

Pair Programming - Everything you need to know
Pair Programming - Everything you need to knowPair Programming - Everything you need to know
Pair Programming - Everything you need to know
 
Rapid usability testing
Rapid usability testingRapid usability testing
Rapid usability testing
 
unit-1 agile development.pptx
unit-1 agile development.pptxunit-1 agile development.pptx
unit-1 agile development.pptx
 
Extreme programming
Extreme programmingExtreme programming
Extreme programming
 
U3 l4 using simple commands
U3 l4 using simple commandsU3 l4 using simple commands
U3 l4 using simple commands
 
It Takes Two - A Case Study in Pair Programming
It Takes Two - A Case Study in Pair ProgrammingIt Takes Two - A Case Study in Pair Programming
It Takes Two - A Case Study in Pair Programming
 
Pair Programming
Pair ProgrammingPair Programming
Pair Programming
 
Lecture 25
Lecture 25Lecture 25
Lecture 25
 
W7 Knowledge Check 5 1 American project managers have earned a r.docx
W7 Knowledge Check 5 1 American project managers have earned a r.docxW7 Knowledge Check 5 1 American project managers have earned a r.docx
W7 Knowledge Check 5 1 American project managers have earned a r.docx
 
Agile Project Management
Agile Project ManagementAgile Project Management
Agile Project Management
 
Agile - Pair-programming
Agile - Pair-programmingAgile - Pair-programming
Agile - Pair-programming
 
Flavours of agile software engineering
Flavours of agile software engineeringFlavours of agile software engineering
Flavours of agile software engineering
 
Flavours of agile software engineering
Flavours of agile software engineeringFlavours of agile software engineering
Flavours of agile software engineering
 
Open Source Software Development Practices that Works
Open Source Software Development Practices that WorksOpen Source Software Development Practices that Works
Open Source Software Development Practices that Works
 
Pair Programming: overview and concepts
Pair Programming: overview and conceptsPair Programming: overview and concepts
Pair Programming: overview and concepts
 
Teacher toolkit Pycon UK Sept 2018
Teacher toolkit Pycon UK Sept 2018Teacher toolkit Pycon UK Sept 2018
Teacher toolkit Pycon UK Sept 2018
 
Test strategy
Test strategyTest strategy
Test strategy
 
Analysis of the interaction between practices for introducing XP effectively
Analysis of the interaction between practices for introducing XP effectivelyAnalysis of the interaction between practices for introducing XP effectively
Analysis of the interaction between practices for introducing XP effectively
 
Agile Methodologies & Key Principles 2
Agile Methodologies & Key Principles 2Agile Methodologies & Key Principles 2
Agile Methodologies & Key Principles 2
 
Lect7
Lect7Lect7
Lect7
 

Dernier

%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...masabamasaba
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareJim McKeeth
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Bert Jan Schrijver
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024VictoriaMetrics
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benonimasabamasaba
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfonteinmasabamasaba
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in sowetomasabamasaba
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrandmasabamasaba
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyviewmasabamasaba
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastPapp Krisztián
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...masabamasaba
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2
 
tonesoftg
tonesoftgtonesoftg
tonesoftglanshi9
 

Dernier (20)

%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security Program
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 

Pair Programming - a pratical guide

  • 2. Objective Present pair programming as agile practice ◦ Definition and Advantages ◦ Roles and Duties Provide clear and slick guidelines to improve pair programming within the pod ◦ Restarting, Planning and Action ◦ Tips and Tricks PAIR PROGRAMMING – A PRACTICAL GUIDE 2
  • 3. Definition PAIR PROGRAMMING – A PRACTICAL GUIDE 3 “Pair programming isa dialog between two people trying to…understand how to program better.”4 Itintegrateswell intoanagileenvironment because itallows:1 • to produce better software by continuous inspection ofcode; • to foster face-to-face communication.
  • 4. Evidence 1 PAIR PROGRAMMING – A PRACTICAL GUIDE 4 Two programmers together vs. Twoprogrammers alone Two programmers together work more thantwice asfastand thinkof more thantwice asmanysolution toa problem astwo working together. Five experienced programmers individually vs. five couple of experienced programmers Groups completed the task40% more quicklyandeffectivelyby producing better algotithmsandcode inless time.
  • 6. PAIR PROGRAMMING – A PRACTICAL GUIDE 6 Duties ◦ Active role on the keyboard/mouse ◦ Focuses on the code at hand: ◦ Syntax ◦ Semantics ◦ Algorithm ◦ Verbalise his thoughts ◦ Concentrates to pass the next test Driver ◦ No active role on the keyboard mouse ◦ Continually reviews the work ◦ Catches incidental mistakes ◦ Anything which needs further verification ◦ Overall code design ◦ Focuses on a strategic level ◦ Checks the consistency of the code being written with existent code ◦ Tracks if other changes are needed in different area of the code base ◦ Suggest design and algorithm enhancements Navigator They switch often (from 10 to 20 minutes) only by swiping the keyboard
  • 8. PAIR PROGRAMMING – A PRACTICAL GUIDE 8 Example ◦ In this case is better a multiple if structure or a switch case? ◦ Which the most explicative name for this variable? Driver ◦ How will this fit with the rest of the code? ◦ Will this implementation require changes elsewhere? ◦ Could we design this program better? Navigator
  • 9. Restarting, Planning and Action2 PAIR PROGRAMMING – A PRACTICAL GUIDE 9 Research recognized three main phases: • Restarting: when a couple is stuck • Planning: when a couple is deciding on their next actions • Action: when a couple is actively performing a task Guideline to drive these phases are in the notes. https://www.youtube.com/watch?v=ONnYCT_LJio
  • 10. Tips and Tricks1,2,3,4 PAIR PROGRAMMING – A PRACTICAL GUIDE 10 • Kill any distractor (browser, chats, notifications, etc.) • Use an editor both are familiar with • A good pairing time is four hours • Do not pair to execute systematic and repetitive tasks • Avoid to form always the same couples • Check that your partner is active • Healthy debate and avoid excess ego • Use an appropriate workspace layout (switch keyboard)
  • 12. PAIR PROGRAMMING – A PRACTICAL GUIDE 12 • Code quality • Speed • Learning • Familiarization Pair Programming Balance Conclusion
  • 13. References PAIR PROGRAMMING – A PRACTICAL GUIDE 13 1. L. A. Williams and R. R. Kessler, “All I really need to know about pair programming I learned in kindergarten,” Communications of the ACM, vol. 43, no. 5, pp. 108–114, 2000. 2. M. Zarb, J. Hughes, and J. Richards, “Evaluating industry-inspired pair programming communication guidelines with undergraduate students,” in Proceedings of the 45th ACM technical symposium on Computer science education, 2014, pp. 361–366. 3. L. Williams, R. R. Kessler, W. Cunningham, and R. Jeffries, “Strengthening the case for pair programming,” IEEE software, vol. 17, no. 4, pp. 19–25, 2000. 4. M. Kircher, P. Jain, A. Corsaro, and D. Levine, “Distributed extreme programming,” Extreme Programming and Flexible Processes in Software Engineering, Italy, pp. 66–71, 2001.