30
PAIR PROGRAMMING BY SANDEEP P R

Pair programming

Embed Size (px)

Citation preview

  • 1.PAIR PROGRAMMING BY SANDEEP P R

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 3. PAIR PROGRAMMING 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 ILL NEVER GET TO WORK ALONE. I COULDNT STAND THAT! IT WILL WORK WELL ONLY WITH THE RIGHT PARTNER PAIR PROGRAMMING IS GOOD FOR TRAINING. BUT, ONCE YOU KNOW WHAT YOURE DOING, IT IS A WASTE OF TIME ILL NEVER GET CREDIT FOR DOING ANYTHING. ILL HAVE TO SHARE ALL THE RECOGNITION WITH MY PARTNER THE ONLY TIME I EVER GET ANY REAL WORK DONE IS WHEN IM ALONE. NOW, ILL 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 DONT UNDERSTAND WHAT YOUR PARTNER IS DOING, THEN STOP AND ASK. STILL YOU DONT 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 [email protected] [email protected] HTTPS://WWW.LINKEDIN.COM/IN/SANDEEPPR HTTPS://TWITTER.COM/SNDPPR 30. Questions???