Your SlideShare is downloading. ×
0
Pair Programming
Pair Programming
Pair Programming
Pair Programming
Pair Programming
Pair Programming
Pair Programming
Pair Programming
Pair Programming
Pair Programming
Pair Programming
Pair Programming
Pair Programming
Pair Programming
Pair Programming
Pair Programming
Pair Programming
Pair Programming
Pair Programming
Pair Programming
Pair Programming
Pair Programming
Pair Programming
Pair Programming
Pair Programming
Pair Programming
Pair Programming
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Pair Programming

246

Published on

Published in: Devices & Hardware
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
246
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. PAIRPROGRAMMINGNAME : JASLEEN ROLL NO:10509 (GROUP:C1)
  • 2. What is it? •“Two programmers work side-by-side at one computer, continuously collaborating on the same design, algorithm, code, and test.” •It allows two people to produce a higher quality of code than that produced by the summation of their individual efforts.
  • 3. How it works • Driver – Actively implements the program. – Actually types or writes down – Explains actions taken – Participates in brainstorming/planning • Navigator – Continuously observes the work of the driver to identify defects. – Thinks about the direction of the work.
  • 4. Driver Navigator
  • 5. Pair Programming• Driver and Navigator working together on one task• Roles changing often• Collective responsibility for outcome• Bringing together of multiple perspectives, experiences and abilities
  • 6. Why Pair ???• Higher quality code• Faster cycle time• Enhanced trust/teamwork• Knowledge transfer• Enhanced learning• More fun
  • 7. Higher Quality Code• Immediate reviews of all code written• Multiple perspectives on how code should work• People from different areas (UI/database, development/testing) working together – no (incorrect) assumptions• Each person learns from the other – increased skills
  • 8. Faster cycle time• Less temptation/ability to get distracted on non-work things• Less rework due to bad assumptions• Fewer defects slip through, so less rework for defect repair• Less interruption for pair• More communication
  • 9. Enhanced Trust/Teamwork• People in pairs get to know each other better than people working solo• Better understanding of people’s skills• Shared events = common ground
  • 10. Knowledge Transfer • Rotation of pairs means lots of combinations • Lots of combinations make knowledge transfer exponential • Fewer assumptions
  • 11. Enhanced Learning• Each member of a pair has ongoing opportunities to learn from their partner
  • 12. More Fun• Social interactions• Shared events• Studies show high numbers of people trying pair programming prefer it
  • 13. Why Pair Programming Works• Pair Pressure• Pair Negotiation• Pair Courage• Pair Reviews• Pair Debugging• Pair Learning• Pair Trust
  • 14. Pair Pressure• Each member doesn’t want to let the other down• Improved adherence to procedures and standards• Motivation to get a task done in a session while partner is available
  • 15. Pair Negotiation• Working together to get the best solution• Each pair member has – Own set of skills, abilities, outlook. – Shared goal of accomplishing task• Brainstorming (building on ideas of others)
  • 16. Pair Courage• Having a partner agree with a fix or a solution adds confidence to the solution• Two people expressing confusion are more confident to go get the help they need
  • 17. Pair Reviews• Members of pairs are immediately reviewing code as it is written• Two heads better than one
  • 18. Pair Debugging• Effective debugging technique is to explain problem to someone else• Talking about problem in a pair can lead to a solution becoming obvious
  • 19. Pair Learning• No two people are at exact same levels of knowledge on software development• Exposure to different approaches
  • 20. Enabling Pair Programming • Accessible workspace • Communication • Standards • Knowledge of people’s specialties • Pair rotation • Group appraisal • Smaller groups
  • 21. Workspace accessible to both • Display visible to both people • Side by side, not one in front of the other • Keyboard/mouse available to either person
  • 22. Expectation of communication • Ask to drive • Ask questions • Explain actions taken
  • 23. Standards • Standard tools reduce learning curve time in pairs • Coding standards assist in both members following the code being written and avoid disagreements on how to write something
  • 24. Knowledge of people’s specialties• Know who to pair with to achieve benefit in a given situation• If a task overlaps two areas (e.g., UI and database) pair one person from each area
  • 25. Pair Rotation• No given pair of programmers is the right pair for every situation• Rotation enables knowledge transfer
  • 26. Disadvantages to Pair Programming • Requires even number of developers • Scheduling • Experts/Skill Imbalances • Concentration • Disagreements • Overconfidence • Loss of personal development space • Not for everyone
  • 27. THANK YOU

×