SlideShare uma empresa Scribd logo
1 de 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???

Mais conteúdo relacionado

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

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

Último

Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 

Último (20)

Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 

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

Notas do Editor

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