Pair Programming.

Slides:



Advertisements
Similar presentations
Pair Programming Testing 2, October 14, Administration  Project due Monday 2PM SHARP  Remember all parts of documentation (list of tests, project.
Advertisements

Pair Programming. XP Rule of Thumb “When something is difficult or painful, do it more often until it becomes easier.”
 2009 Pearson Education, Inc. All rights reserved. 1 Pair Programming Most slides courtesy of Ms. Stephany Coffman-Wolph Some slides with minor modification.
Chapter 5 Administrative Management © 2015 Cengage Learning. All Rights Reserved. Slide 1 5 High-Performance Teams – Key to Productivity Learning Outcomes.
November 11, 2016 Paula Settoon, Dean of Libraries
Effective Time Management
HOME MEDICAL CARE Deming's 14-Point Philosophy-Quality
Handout 2: Effective working relationships
Study Tips For A Great Education In Math.
Our thanks go to Professor Keith Topping
Sample Wiki Comments?.
Scottish Improvement Skills
Metacognition, Writing and Reading
Change Phases for Projects
Lesson 7: How Documentation Can Extend the Learning
WebQuest: Where you design your own Space Exploration Mission
TRIZ The Theory of Inventive Problem-Solving
Implementing the NHS KSF Action Planning and Surgery Session
The Learner Centered Classroom
Extreme Programming.
Lesson Design Study Leading Lesson Study.
Helping your child read at home
How to Study for Finals- What DOES It Look Like?
Alternative group process at large units using the «world cafe» method
make sure you have signed in to this training.
Aim To think about what bullying is and how to help yourself or others who are being bullied. To understand what Anti-Bullying Week is and its aims and.
Which of these statements is true?
Explain to the group of pupils that they have been given an important opportunity to lead this intervention in their schools. They are communication role.
LO Adding and subtracting with negative numbers RAG
The Idea Behind Group Work
Aim The aims of today's session is to think about what bullying is and how to help yourself or others who are being bullied. To understand what Anti-Bullying.
Background in Education + Football
1. Overview of revision: statistics and basic principles
Building a Loyal Customer Base
Integrating CSC into our Schedules
Effective Workplace Team Characteristics
Building Team Relationships
Using networks to be more effective
Global Challenge A bag for Julienne Lesson 3.
Get In Shape With EMS Training. INTRODUCTION Those that are thinking about making a change in their life might have thought about going through with EMS.
Negotiation Skills Template
10 KEY WAYS TO MOTIVATE INDIVIDUALS AND DEVELOP A WINNING TEAM
Undertaking effective Supervisions and Appraisals
Global Challenge A bag for Julienne Lesson 3.
Tonga Institute of Higher Education IT 141: Information Systems
Tips for Leading Effective Meetings
Tips for Leading Effective Meetings
Response to Instruction/Intervention (RtI) for Parents and Community
Time management.
Creating a Vision for a Caring School Community
Response to Instruction/Intervention (RtI) for Parents and Community
Two Paths Diverge in the Lectures
Human Resources Management: Module 3 Setting Performance Goals
Reinforcing Positive Behaviors At Home
Global Challenge A bag for Julienne Lesson 3.
Handout 5: Feedback and support
Cooperative Learning Concepts
Revision Techniques that work
Global Challenge A bag for Julienne Lesson 3.
Suggestions for developing trust:. 1
Global Challenge A bag for Julienne Lesson 3.
Lecturette 2: Planning Change
Global Challenge A bag for Julienne Lesson 3.
Global Challenge A bag for Julienne Lesson 3.
Global Challenge A bag for Julienne Lesson 3.
Warm-Up Nature gave us two ________, two ________ , and one __________ . How does this relate to selling? Eye’s, ears and one mouth!
Global Challenge A bag for Julienne Lesson 3.
Building Strong Partnerships
“Which Path Should I Take?”
Safety toolbox Johnnie Stanton-MECA
Presentation transcript:

Pair Programming

Pair Programming Pair programming is a method of programming in which two people work together at one keyboard. One person, "the driver", types at the keyboard. The other person, "the observer" (or "navigator") reviews each line of code as it is typed, checking for errors and thinking about the overall design.

Pair Programming Some benefits you can expect: better code (simpler design, fewer bugs, more maintainable), higher morale (more fun!), shared knowledge throughout your team (both specific knowledge of your codebase and general programming knowledge), better time management, higher productivity.

How to Pair Program Start with a reasonably well-defined task before you sit down. The task should be something you are confident that you can complete in an hour or two. You may find it helpful to outline what you plan to do before you begin to code.

How to Pair Program Agree on one tiny goal at a time. Something you can complete within a few minutes. Stating the problem in words to another person helps focus your mind and helps engage your partner's mind. It also ensures that you both know what you are working on right now.

How to Pair Program Rely on your partner, support your partner. When you're the driver, complete the current tiny goal as quickly as you can, ignoring larger issues. Trust the observer to be your safety net. When you're the observer, read the code that the driver is writing as he or she writes it. Your job is code review. You should pay total attention, aiming to let nothing get by you. Think about possible bugs, larger issues, and ways to simplify or improve the design. Bring up errors and code that you find unreadable right away. Wait until the current tiny goal is done to bring up larger issues and ideas for design improvement. Jot these later tasks down so the driver can stay focused on the present tiny task. 

How to Pair Program Talk a lot. Say what you are about to do: ask for an implementation idea, ask for a better way to solve the problem at hand, bring up alternative ideas, point out possible inputs that the code doesn't cover, suggest clearer names for variables and subroutines, suggest ways to implement the code in smaller steps, Etc.

How to Pair Program When you're the observer, don't dictate the code. The driver should be actively thinking about how to achieve the current task, not just typing passively. And as the observer, you should exploit the fact that you don't need to invent the small details; you can and should think at a higher level.

How to Pair Program Sync up frequently. As you are working together, you will find yourself getting out of sync: becoming unsure what your partner is doing, or becoming unclear about the current task. This is normal. When it happens, sync up again. The key to good pairing is to sync up very frequently—within seconds or a minute of noticing that you're out of sync. If you are spending five minutes (or more) out of sync, you might as well be coding solo, because it's the frequent re-syncing that creates the synergy of pairing.

How to Pair Program Switch roles often—at least every half hour. This keeps you both fully engaged, both of you in tune with the low-level details and the big picture. Also, driving full-blast can tire you out, and it's hard to maintain the vigilance required of the observer role for longer than half an hour. Switching roles recharges you.

Benefits Pair programming offers several important benefits that contribute to the quality of the product. The first is that both programmers are learning from each other and becoming more familiar with different aspects of the product. This is important for continual improvement and cross-training, but also helps expedite code defects as they arise during the build. The second benefit is that pair programming allows each developer to focus on his or her specific role; there is a lot less cognitive overload when a developer can concentrate on getting the code working while letting the pairing partner focus on things such as performance optimization or possible bugs. Finally, pairing can also build trust and encourage more regular communication between team members.