SlideShare a Scribd company logo
1 of 30
PAIR PROGRAMMING
BY SANDEEP P R
ABOUT ME
 STARTED MY CAREER IN 2003 IN .NET ESPECIALLY ASP.NET
TECHNOLOGIES
 WORKING WITH INDECOMM FOR NEARLY 4 YEARS
 ASP.NET, JAVASCRIPT (OOPS), EXTJS, ASP.NET MVC, ASP.NET
WEBAPI ETC.
 FAN OF DESIGN PATTERNS
 BDD (BEHAVIOR DRIVEN DEVELOPMENT) AND TDD (TEST
DRIVEN DEVELOPMENT)
 AGILE (SRUM AND EXTREME PROGRAMMING [XP])
 OTHER
PAIR PROGRAMMING
AGENDA
 WHAT IS PAIR PROGRAMMING?
 PARTICIPANTS IN PAIR PROGRAMMING
 PAIRING VARIATIONS
 MYTHS
 GUIDELINES
 ADVANTAGES
 PROBLEMS
 TIT BITS
 QUESTIONS
WHO IS A PROGRAMMER?
“LONELY MACHO
WARRIORS, BATTLING
AGAINST A SEA OF BITS
AND BYTES.”Professor Matthias Felleisen
WHEN THINGS GO RIGHT?
WE ARE CHILDISHLY
DELIGHTED WITH WHAT
WE HAVE CREATED
WHEN THINGS GO WRONG?
“BANG-YOUR-HEAD-AGAINST-
THE-WALL”
“A TECHNIQUE THAT CAN RADICALLY
INCREASE THE NUMBER OF TIME THINGS
GO RIGHT AND DECREASE THE NUMBER
OF TIMES THINGS GO WRONG”
THIS IS NOT PAIR PROGRAMMING
PAIR PROGRAMMING
WIKI DEFINITION
PAIR PROGRAMMING IS AN AGILE
SOFTWARE DEVELOPMENT TECHNIQUE
IN WHICH TWO PROGRAMMERS WORK
TOGETHER AT ONE WORKSTATION.
ONE, THE DRIVER, WRITES CODE WHILE
THE OTHER, THE OBSERVER, REVIEWS
EACH LINE OF CODE AS IT IS TYPED IN.
THE TWO PROGRAMMERS SWITCH
ROLES FREQUENTLY.
WHAT PAIR PROGRAMMING MEANS?
 PAIR DESIGN
 PAIR DEBUGGING
 PAIR TESTING
 PAIR CODING
DRIVER
 FOCUSES ON THE CODE
AT HAND
 SYNTAX
 SEMANTICS
 ALGORITHM
OBSERVER
 POINTER OR NAVIGATOR
 KEEPS AN EYE ON TACTICAL AND STRATEGIC ERRORS
 TACTICAL ERROR: TYPOS, SYNTACTICAL ERRORS, CALLING THE
WRONG METHOD ETC
 STRATEGIC ERROR: IMPLEMENTATION IS MEETING THE GOAL OR
NOT
 SANITY TESTING THE CODE
 THINKING THROUGH PROBLEMS
 WHERE TO GO NEXT
 KEEP THE DRIVER ON COURSE
PAIRING VARIATIONS
 EXPERT-EXPERT
 EXPERT-NOVICE
 NOVICE-NOVICE
EXPERT-EXPERT PAIRING
 TO SOLVE COMPLEX PROBLEMS
 CAN GIVE GREAT RESULTS
 LESS TIME SPEND ON EXPLAINING
THINGS
 NO NEW WAYS TO SOLVE THE
PROBLEMS
 UNLIKELY TO QUESTION ESTABLISHED
PRACTICES
 EXPERTS HAVE BIG EGO, “DO IT MY WAY
EXPERT-NOVICE
 FOR MENTORING A NOVICE
 GETTING EASY JOB DONE
 CAN HAVE NEW SOLUTION TO A
PROBLEM
 NEW PEOPLE CAN HELP OUT
ALMOST IMMEDIATELY
 EXPERT HAS TO TAKE OFF “I
KNOW EVERYTHING” MASK
 CREATE CONDUCIVE
ENVIRONMENT
NOVICE-NOVICE
 MOSTLY HAPPENS IN
COLLEGES
 MENTOR HAS BE ASSIGNED
 EASY WAY TO LEARN THINGS
 PAIRS ARE MORE LIKELY TO ASK
QUESTION THAN INDIVIDUAL
MYTHS
 IT WILL DOUBLE THE WORKLOAD WITH TWO DOING THE WORK ONE
CAN DO
 I’LL NEVER GET TO WORK ALONE. I COULDN’T STAND THAT!
 IT WILL WORK WELL ONLY WITH THE RIGHT PARTNER
 PAIR PROGRAMMING IS GOOD FOR TRAINING. BUT, ONCE YOU
KNOW WHAT YOU’RE DOING, IT IS A WASTE OF TIME
 I’LL NEVER GET CREDIT FOR DOING ANYTHING. I’LL HAVE TO
SHARE ALL THE RECOGNITION WITH MY PARTNER
 THE ONLY TIME I EVER GET ANY REAL WORK DONE IS WHEN I’M
ALONE. NOW, I’LL NEVER GET ANYTHING
DONE! PAIR PROGRAMMING WOULD DRIVE ME CRAZY
GUIDELINES
 MIN OF 17INCH MONITOR AND
COMFORTABLE SEATING
 TALK A LOT
 NO POINTING ON THE SCREEN WITH
FINGER (NAVIGATOR)
 PAIR ROTATION
 GIVE THE DRIVER NANO SECONDS TO FIND
AND CORRECT HIS/HER OWN MISTAKES
 INTRA AND INTERPAIR COMMUNICATION
 DEVELOPMENT ENVIRONMENT
GUIDELINES CONTD…
 MAKE USE OF TDD
 PRACTICE ACTIVE LISTENING
 NOISE CONSIDERATION
 IF YOU PARTNER IS NOT LISTENING, JUST WALK AWAY
 IF YOU DON’T UNDERSTAND WHAT YOUR PARTNER IS DOING,
THEN STOP AND ASK. STILL YOU DON’T UNDERSTAND , ASK
AGAIN, ASK AGAIN ASK AGAIN….
 TAKE ENOUGH SHOWER; EAT LOTS OF BREATH MINTS
ADVANTAGES
 INSTANT CODE REVIEW
 KNOWLEDGE SHARE
 REDUCES THE TRAINING COST
 EXCELLENT TOOL TO BREAK COMMUNICATION BARRIERS
BETWEEN TEAMMATES
With Pair Programming Without Pair Programming
Assimilation Time (work days) 18 40
Mentoring Time (%) 26 36
Training Effort (work days) 15 37
PROBLEMS, PROBLEMS AND LOT MORE PROBLEMS
 DEPENDENCY
 SCHEDULING
 THE EVER POPULAR EXPERT
 COLOCATION
 NOISE AND FACILITY CONSIDERATION
 CONCENTRATION
 DISAGREEMENT
 OVERCONFIDENCE
 RUSHING
 SKILL IMBALANCE
 SIMPLY NOT FOR EVERYONE
TIT BITS
MICROSOFT RESEARCH BY ANDREW BEGEL & NACHIAPPAN
NAGAPPAN
MICROSOFT RESEARCH BY ANDREW BEGEL & NACHIAPPAN NAGAPPAN
CONT…
ALISTAIR COCKBURN & LAURIE WILLIAMS
THE COSTS AND BENEFITS OF PAIR PROGRAMMING
ALISTAIR COCKBURN & LAURIE WILLIAMS
CONCLUSION
• SUPPORT FROM TEAM/MENTOR/LEADER/COACH AND OF
COURSE FROM THE MANGER
• 20YEARS OF DATA FOR BENEFITS OF REVIEW
• PROGRAMMERS AVOID REVIEW LIKE PLAGUE
• PROGRAMMERS ARE STRONG BELIEVERS THAT THEY CAN
ACHIEVE MORE BY GOING SOLO
• COLLECT AND DISSEMINATE INFORMATION/METRICS TO THE
TEAM
• MANAGEMENT BY WALKING AROUND
RESEARCH LINKS
• HTTP://RESEARCH.MICROSOFT.COM/PUBS/75108/ESEM-BEGEL-
2008.PDF
• HTTP://WWW.CS.POMONA.EDU/CLASSES/CS121/SUPP/WILLIAMS_PR
PGM.PDF
• HTTP://WWW.SOBERIT.HUT.FI/~JVANHANE/PUBS/LICTHESIS_VANHAN
EN.PDF
• HTTP://CITESEERX.IST.PSU.EDU/VIEWDOC/DOWNLOAD?DOI=10.1.1.2
58.7427&REP=REP1&TYPE=PDF
• HTTP://AGILE.VTT.FI/DOCS/PUBLICATIONS/2005/2005_MULTIPLE_CAS
E_STUDY_PAIR_PROGRAMMING.PDF
WAYS TO REACH ME
• SANDEEP.R@ACCELRYS.COM
• SANDEEP.R@INDECOMM.NET
• HTTPS://WWW.LINKEDIN.COM/IN/SANDEEPPR
• HTTPS://TWITTER.COM/SNDPPR
Questions???

More Related Content

Similar to Pair programming

Prototyping approach and platforms
Prototyping approach and platforms Prototyping approach and platforms
Prototyping approach and platforms Filippo Scorza
 
Strategies for Complex Skill Development
Strategies for Complex Skill DevelopmentStrategies for Complex Skill Development
Strategies for Complex Skill DevelopmentJulie Dirksen
 
Next Level Collaboration: The Future of Content and Design by Rebekah Cancino...
Next Level Collaboration: The Future of Content and Design by Rebekah Cancino...Next Level Collaboration: The Future of Content and Design by Rebekah Cancino...
Next Level Collaboration: The Future of Content and Design by Rebekah Cancino...Blend Interactive
 
Design Thinking - NYU Ambition Conference
Design Thinking - NYU Ambition ConferenceDesign Thinking - NYU Ambition Conference
Design Thinking - NYU Ambition ConferenceJeff Wenzinger
 
Copy of CRISPR_TEMPLATE, ahkhfakjfkahrabaf.pptx
Copy of CRISPR_TEMPLATE, ahkhfakjfkahrabaf.pptxCopy of CRISPR_TEMPLATE, ahkhfakjfkahrabaf.pptx
Copy of CRISPR_TEMPLATE, ahkhfakjfkahrabaf.pptxHarshVardhan588
 
Ready to be a Design Thinking Supa' Star?!
Ready to be a Design Thinking Supa' Star?!Ready to be a Design Thinking Supa' Star?!
Ready to be a Design Thinking Supa' Star?!Dr. Melissa Sassi
 
Instructional Design Today: What We Really Need to Know as Practitioners, Res...
Instructional Design Today: What We Really Need to Know as Practitioners, Res...Instructional Design Today: What We Really Need to Know as Practitioners, Res...
Instructional Design Today: What We Really Need to Know as Practitioners, Res...Karl Kapp
 
About Analysis and Design
About Analysis and DesignAbout Analysis and Design
About Analysis and DesignAlison Pope
 
Pausefest: Solve your own damn problem
Pausefest: Solve your own damn problemPausefest: Solve your own damn problem
Pausefest: Solve your own damn problemMike Ojo
 
Session 2 into to qualitative research intro
Session 2   into to qualitative research introSession 2   into to qualitative research intro
Session 2 into to qualitative research introAngela Ferrara
 
Emerging Skills for L&D to Enable the Future of Work
Emerging Skills for L&D to Enable the Future of WorkEmerging Skills for L&D to Enable the Future of Work
Emerging Skills for L&D to Enable the Future of Workarun pradhan
 
Blind faith and best practices mike behnke @localpcguy
Blind faith and best practices   mike behnke   @localpcguyBlind faith and best practices   mike behnke   @localpcguy
Blind faith and best practices mike behnke @localpcguyMike Behnke
 
Why Methods Trump Methodology
Why Methods Trump MethodologyWhy Methods Trump Methodology
Why Methods Trump MethodologyJess McMullin
 
How to focus - design your new app in 60 minutes!
How to focus - design your new app in 60 minutes!How to focus - design your new app in 60 minutes!
How to focus - design your new app in 60 minutes!Zach Pousman
 
Vt Overview Iab Cpres 92011
Vt Overview Iab Cpres 92011Vt Overview Iab Cpres 92011
Vt Overview Iab Cpres 92011mark_allen
 
YOUNG 2016 Professione startupper: come fare del digitale la tua impresa
YOUNG 2016 Professione startupper: come fare del digitale la tua impresa YOUNG 2016 Professione startupper: come fare del digitale la tua impresa
YOUNG 2016 Professione startupper: come fare del digitale la tua impresa Andrea Vaccarella
 
Design Thinking Your Life
Design Thinking Your LifeDesign Thinking Your Life
Design Thinking Your LifeJochen Guertler
 

Similar to Pair programming (20)

Prototyping approach and platforms
Prototyping approach and platforms Prototyping approach and platforms
Prototyping approach and platforms
 
Strategies for Complex Skill Development
Strategies for Complex Skill DevelopmentStrategies for Complex Skill Development
Strategies for Complex Skill Development
 
Next Level Collaboration: The Future of Content and Design by Rebekah Cancino...
Next Level Collaboration: The Future of Content and Design by Rebekah Cancino...Next Level Collaboration: The Future of Content and Design by Rebekah Cancino...
Next Level Collaboration: The Future of Content and Design by Rebekah Cancino...
 
Design Thinking - NYU Ambition Conference
Design Thinking - NYU Ambition ConferenceDesign Thinking - NYU Ambition Conference
Design Thinking - NYU Ambition Conference
 
B D D Intro
B D D  IntroB D D  Intro
B D D Intro
 
Copy of CRISPR_TEMPLATE, ahkhfakjfkahrabaf.pptx
Copy of CRISPR_TEMPLATE, ahkhfakjfkahrabaf.pptxCopy of CRISPR_TEMPLATE, ahkhfakjfkahrabaf.pptx
Copy of CRISPR_TEMPLATE, ahkhfakjfkahrabaf.pptx
 
Design Sprints at Scale
Design Sprints at ScaleDesign Sprints at Scale
Design Sprints at Scale
 
Ready to be a Design Thinking Supa' Star?!
Ready to be a Design Thinking Supa' Star?!Ready to be a Design Thinking Supa' Star?!
Ready to be a Design Thinking Supa' Star?!
 
Instructional Design Today: What We Really Need to Know as Practitioners, Res...
Instructional Design Today: What We Really Need to Know as Practitioners, Res...Instructional Design Today: What We Really Need to Know as Practitioners, Res...
Instructional Design Today: What We Really Need to Know as Practitioners, Res...
 
About Analysis and Design
About Analysis and DesignAbout Analysis and Design
About Analysis and Design
 
Pausefest: Solve your own damn problem
Pausefest: Solve your own damn problemPausefest: Solve your own damn problem
Pausefest: Solve your own damn problem
 
Session 2 into to qualitative research intro
Session 2   into to qualitative research introSession 2   into to qualitative research intro
Session 2 into to qualitative research intro
 
Emerging Skills for L&D to Enable the Future of Work
Emerging Skills for L&D to Enable the Future of WorkEmerging Skills for L&D to Enable the Future of Work
Emerging Skills for L&D to Enable the Future of Work
 
Blind faith and best practices mike behnke @localpcguy
Blind faith and best practices   mike behnke   @localpcguyBlind faith and best practices   mike behnke   @localpcguy
Blind faith and best practices mike behnke @localpcguy
 
Why Methods Trump Methodology
Why Methods Trump MethodologyWhy Methods Trump Methodology
Why Methods Trump Methodology
 
How to focus - design your new app in 60 minutes!
How to focus - design your new app in 60 minutes!How to focus - design your new app in 60 minutes!
How to focus - design your new app in 60 minutes!
 
Vt Overview Iab Cpres 92011
Vt Overview Iab Cpres 92011Vt Overview Iab Cpres 92011
Vt Overview Iab Cpres 92011
 
What is DevOps?
What is DevOps?What is DevOps?
What is DevOps?
 
YOUNG 2016 Professione startupper: come fare del digitale la tua impresa
YOUNG 2016 Professione startupper: come fare del digitale la tua impresa YOUNG 2016 Professione startupper: come fare del digitale la tua impresa
YOUNG 2016 Professione startupper: come fare del digitale la tua impresa
 
Design Thinking Your Life
Design Thinking Your LifeDesign Thinking Your Life
Design Thinking Your Life
 

Recently uploaded

Connecting the Dots in Product Design at KAYAK
Connecting the Dots in Product Design at KAYAKConnecting the Dots in Product Design at KAYAK
Connecting the Dots in Product Design at KAYAKUXDXConf
 
Agentic RAG What it is its types applications and implementation.pdf
Agentic RAG What it is its types applications and implementation.pdfAgentic RAG What it is its types applications and implementation.pdf
Agentic RAG What it is its types applications and implementation.pdfChristopherTHyatt
 
Buy Epson EcoTank L3210 Colour Printer Online.pdf
Buy Epson EcoTank L3210 Colour Printer Online.pdfBuy Epson EcoTank L3210 Colour Printer Online.pdf
Buy Epson EcoTank L3210 Colour Printer Online.pdfEasyPrinterHelp
 
Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityOptimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityScyllaDB
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxDavid Michel
 
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfIntroduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfFIDO Alliance
 
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoTAnalytics
 
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfFIDO Alliance
 
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfThe Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfFIDO Alliance
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlPeter Udo Diehl
 
AI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekAI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekCzechDreamin
 
Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024Enterprise Knowledge
 
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptxWSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptxJennifer Lim
 
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...FIDO Alliance
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...CzechDreamin
 
AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101vincent683379
 
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfSimplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfFIDO Alliance
 
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdfLinux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdfFIDO Alliance
 
UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1DianaGray10
 
UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2DianaGray10
 

Recently uploaded (20)

Connecting the Dots in Product Design at KAYAK
Connecting the Dots in Product Design at KAYAKConnecting the Dots in Product Design at KAYAK
Connecting the Dots in Product Design at KAYAK
 
Agentic RAG What it is its types applications and implementation.pdf
Agentic RAG What it is its types applications and implementation.pdfAgentic RAG What it is its types applications and implementation.pdf
Agentic RAG What it is its types applications and implementation.pdf
 
Buy Epson EcoTank L3210 Colour Printer Online.pdf
Buy Epson EcoTank L3210 Colour Printer Online.pdfBuy Epson EcoTank L3210 Colour Printer Online.pdf
Buy Epson EcoTank L3210 Colour Printer Online.pdf
 
Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityOptimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through Observability
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
 
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfIntroduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
 
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024
 
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
 
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfThe Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
 
AI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekAI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří Karpíšek
 
Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024
 
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptxWSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
 
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
 
AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101
 
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfSimplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
 
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdfLinux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
 
UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1
 
UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2
 

Pair programming

  • 2. ABOUT ME  STARTED MY CAREER IN 2003 IN .NET ESPECIALLY ASP.NET TECHNOLOGIES  WORKING WITH INDECOMM FOR NEARLY 4 YEARS  ASP.NET, JAVASCRIPT (OOPS), EXTJS, ASP.NET MVC, ASP.NET WEBAPI ETC.  FAN OF DESIGN PATTERNS  BDD (BEHAVIOR DRIVEN DEVELOPMENT) AND TDD (TEST DRIVEN DEVELOPMENT)  AGILE (SRUM AND EXTREME PROGRAMMING [XP])  OTHER
  • 4. AGENDA  WHAT IS PAIR PROGRAMMING?  PARTICIPANTS IN PAIR PROGRAMMING  PAIRING VARIATIONS  MYTHS  GUIDELINES  ADVANTAGES  PROBLEMS  TIT BITS  QUESTIONS
  • 5. WHO IS A PROGRAMMER? “LONELY MACHO WARRIORS, BATTLING AGAINST A SEA OF BITS AND BYTES.”Professor Matthias Felleisen
  • 6. WHEN THINGS GO RIGHT? WE ARE CHILDISHLY DELIGHTED WITH WHAT WE HAVE CREATED
  • 7. WHEN THINGS GO WRONG? “BANG-YOUR-HEAD-AGAINST- THE-WALL”
  • 8. “A TECHNIQUE THAT CAN RADICALLY INCREASE THE NUMBER OF TIME THINGS GO RIGHT AND DECREASE THE NUMBER OF TIMES THINGS GO WRONG”
  • 9. THIS IS NOT PAIR PROGRAMMING
  • 10. PAIR PROGRAMMING WIKI DEFINITION PAIR PROGRAMMING IS AN AGILE SOFTWARE DEVELOPMENT TECHNIQUE IN WHICH TWO PROGRAMMERS WORK TOGETHER AT ONE WORKSTATION. ONE, THE DRIVER, WRITES CODE WHILE THE OTHER, THE OBSERVER, REVIEWS EACH LINE OF CODE AS IT IS TYPED IN. THE TWO PROGRAMMERS SWITCH ROLES FREQUENTLY.
  • 11. WHAT PAIR PROGRAMMING MEANS?  PAIR DESIGN  PAIR DEBUGGING  PAIR TESTING  PAIR CODING
  • 12. DRIVER  FOCUSES ON THE CODE AT HAND  SYNTAX  SEMANTICS  ALGORITHM
  • 13. OBSERVER  POINTER OR NAVIGATOR  KEEPS AN EYE ON TACTICAL AND STRATEGIC ERRORS  TACTICAL ERROR: TYPOS, SYNTACTICAL ERRORS, CALLING THE WRONG METHOD ETC  STRATEGIC ERROR: IMPLEMENTATION IS MEETING THE GOAL OR NOT  SANITY TESTING THE CODE  THINKING THROUGH PROBLEMS  WHERE TO GO NEXT  KEEP THE DRIVER ON COURSE
  • 14. PAIRING VARIATIONS  EXPERT-EXPERT  EXPERT-NOVICE  NOVICE-NOVICE
  • 15. EXPERT-EXPERT PAIRING  TO SOLVE COMPLEX PROBLEMS  CAN GIVE GREAT RESULTS  LESS TIME SPEND ON EXPLAINING THINGS  NO NEW WAYS TO SOLVE THE PROBLEMS  UNLIKELY TO QUESTION ESTABLISHED PRACTICES  EXPERTS HAVE BIG EGO, “DO IT MY WAY
  • 16. EXPERT-NOVICE  FOR MENTORING A NOVICE  GETTING EASY JOB DONE  CAN HAVE NEW SOLUTION TO A PROBLEM  NEW PEOPLE CAN HELP OUT ALMOST IMMEDIATELY  EXPERT HAS TO TAKE OFF “I KNOW EVERYTHING” MASK  CREATE CONDUCIVE ENVIRONMENT
  • 17. NOVICE-NOVICE  MOSTLY HAPPENS IN COLLEGES  MENTOR HAS BE ASSIGNED  EASY WAY TO LEARN THINGS  PAIRS ARE MORE LIKELY TO ASK QUESTION THAN INDIVIDUAL
  • 18. MYTHS  IT WILL DOUBLE THE WORKLOAD WITH TWO DOING THE WORK ONE CAN DO  I’LL NEVER GET TO WORK ALONE. I COULDN’T STAND THAT!  IT WILL WORK WELL ONLY WITH THE RIGHT PARTNER  PAIR PROGRAMMING IS GOOD FOR TRAINING. BUT, ONCE YOU KNOW WHAT YOU’RE DOING, IT IS A WASTE OF TIME  I’LL NEVER GET CREDIT FOR DOING ANYTHING. I’LL HAVE TO SHARE ALL THE RECOGNITION WITH MY PARTNER  THE ONLY TIME I EVER GET ANY REAL WORK DONE IS WHEN I’M ALONE. NOW, I’LL NEVER GET ANYTHING DONE! PAIR PROGRAMMING WOULD DRIVE ME CRAZY
  • 19. GUIDELINES  MIN OF 17INCH MONITOR AND COMFORTABLE SEATING  TALK A LOT  NO POINTING ON THE SCREEN WITH FINGER (NAVIGATOR)  PAIR ROTATION  GIVE THE DRIVER NANO SECONDS TO FIND AND CORRECT HIS/HER OWN MISTAKES  INTRA AND INTERPAIR COMMUNICATION  DEVELOPMENT ENVIRONMENT
  • 20. GUIDELINES CONTD…  MAKE USE OF TDD  PRACTICE ACTIVE LISTENING  NOISE CONSIDERATION  IF YOU PARTNER IS NOT LISTENING, JUST WALK AWAY  IF YOU DON’T UNDERSTAND WHAT YOUR PARTNER IS DOING, THEN STOP AND ASK. STILL YOU DON’T UNDERSTAND , ASK AGAIN, ASK AGAIN ASK AGAIN….  TAKE ENOUGH SHOWER; EAT LOTS OF BREATH MINTS
  • 21. ADVANTAGES  INSTANT CODE REVIEW  KNOWLEDGE SHARE  REDUCES THE TRAINING COST  EXCELLENT TOOL TO BREAK COMMUNICATION BARRIERS BETWEEN TEAMMATES With Pair Programming Without Pair Programming Assimilation Time (work days) 18 40 Mentoring Time (%) 26 36 Training Effort (work days) 15 37
  • 22. PROBLEMS, PROBLEMS AND LOT MORE PROBLEMS  DEPENDENCY  SCHEDULING  THE EVER POPULAR EXPERT  COLOCATION  NOISE AND FACILITY CONSIDERATION  CONCENTRATION  DISAGREEMENT  OVERCONFIDENCE  RUSHING  SKILL IMBALANCE  SIMPLY NOT FOR EVERYONE
  • 23. TIT BITS MICROSOFT RESEARCH BY ANDREW BEGEL & NACHIAPPAN NAGAPPAN
  • 24. MICROSOFT RESEARCH BY ANDREW BEGEL & NACHIAPPAN NAGAPPAN CONT…
  • 25. ALISTAIR COCKBURN & LAURIE WILLIAMS THE COSTS AND BENEFITS OF PAIR PROGRAMMING
  • 26. ALISTAIR COCKBURN & LAURIE WILLIAMS
  • 27. CONCLUSION • SUPPORT FROM TEAM/MENTOR/LEADER/COACH AND OF COURSE FROM THE MANGER • 20YEARS OF DATA FOR BENEFITS OF REVIEW • PROGRAMMERS AVOID REVIEW LIKE PLAGUE • PROGRAMMERS ARE STRONG BELIEVERS THAT THEY CAN ACHIEVE MORE BY GOING SOLO • COLLECT AND DISSEMINATE INFORMATION/METRICS TO THE TEAM • MANAGEMENT BY WALKING AROUND
  • 28. RESEARCH LINKS • HTTP://RESEARCH.MICROSOFT.COM/PUBS/75108/ESEM-BEGEL- 2008.PDF • HTTP://WWW.CS.POMONA.EDU/CLASSES/CS121/SUPP/WILLIAMS_PR PGM.PDF • HTTP://WWW.SOBERIT.HUT.FI/~JVANHANE/PUBS/LICTHESIS_VANHAN EN.PDF • HTTP://CITESEERX.IST.PSU.EDU/VIEWDOC/DOWNLOAD?DOI=10.1.1.2 58.7427&REP=REP1&TYPE=PDF • HTTP://AGILE.VTT.FI/DOCS/PUBLICATIONS/2005/2005_MULTIPLE_CAS E_STUDY_PAIR_PROGRAMMING.PDF
  • 29. WAYS TO REACH ME • SANDEEP.R@ACCELRYS.COM • SANDEEP.R@INDECOMM.NET • HTTPS://WWW.LINKEDIN.COM/IN/SANDEEPPR • HTTPS://TWITTER.COM/SNDPPR

Editor's Notes

  1. Get intro from everyoneName, team, technology.
  2. Alistair Cockburn (Humans and Technology, Dell RD)Laurie Williams (University of Utah Computer Science)