Download presentation
Presentation is loading. Please wait.
Published byGabriel Cross Modified over 9 years ago
1
2009 Pearson Education, Inc. All rights reserved. 1 Pair Programming Most slides courtesy of Ms. Stephany Coffman-Wolph Some slides with minor modification by Dr. L. Lilien (even without explicit message). Slides added by L.Lilien are © 2006-2014 Leszek T. Lilien. Permision to use for non-commercial purposes slides added by L.Lilien’s will be gladly granted upon a written (e.g., emailed) request.
2
2009 Pearson Education, Inc. All rights reserved. Pair Programming Pair Programming = Two People, One Computer – A mechanism for real-time problem solving and real-time quality assurance – Helps developers to focus on the problem at hand Two people work together at one computer to create code – Not simply dividing up the project… … and working on them independently – The “pair” should be in the same room - Or in this day and age, communicating in real-time - E.g., via Video Chat, Shared Desktop, etc. 2
3
2009 Pearson Education, Inc. All rights reserved. Tasks for Driver and Navigator One person is a driver – Controls the keyboard and mouse - types the actual code – Leads the conversation and discussions through the process One person is a navigator – P ays attention to the driver – Monitors code and design – Makes relevant suggestions, – Corrects errors - Stop holes in logic, provide debugging assistance, etc. Communication between driver and navigator is the most important part of Pair Programming! – Without good communication, Pair Programming teams are ineffective Switch the roles throughout the entire project – Nobody should always be the driver or navigator 3
4
2009 Pearson Education, Inc. All rights reserved. Things to Avoid Things you should avoid: Interrupting every time your partner starts doing something in a way other than how you'd do it Once you wrestle the keyboard away, deleting your partner's last edit immediately Then doing what you were thinking of instead If your partner objects, ignoring it and talking over it Speaking non-stop, so your partner never has a moment of silence in which to speak, read code, or have a thought For further (humorous) reading: http://www.c2.com/cgi/wiki?HowToPissOffYourPair 4
5
2009 Pearson Education, Inc. All rights reserved. But I Like Working By Myself… Things to think about: – Writing software is a team activity - Large software is extremely rarely written by one person alone – You can learn from your partner’s feedback - To benefit from both your successful and less successful activities, techniques and habits – Pair programming studies have shown: - Pair programmers have greater productivity than solo programmers (most studies show double productivity) - Pair programming significantly improves design correctness - Pair programmers’ code has overall higher correctness - Pair programming decreases overall time required 5
6
2009 Pearson Education, Inc. All rights reserved. ++READ LATER++ More Benefits of Pair Programming Studies have shown the following benefits: – Better brainstorms – Better and higher quality code – Increased morale – Increased teamwork – Enhanced learning – Increased courage – Better and more effective debugging – Increased knowledge – Better time management 6
7
2009 Pearson Education, Inc. All rights reserved. ++READ LATER++ Selecting your partner… Suggestions: – Find a partner that is in your lecture and/or your lab - Makes things a little easier… – Find a partner who’s schedule can work with your schedule - Start by comparing schedules, if both of you only have 1 hour that you can meet up - this really will not work – Make sure you and your partner can easily meet in the same location - Schedule your first meeting to be very soon after the assignment comes out – Exchange contact information (names, email, phone numbers, etc) when you agree to be partners – Start your assignment early! - Things go smoother if you are not starting at 2 am the day before it is due…(trust me on this one) 7
8
2009 Pearson Education, Inc. All rights reserved. ++READ LATER++ How to they “pick” partners in “real” world? Alternatives: – People paired by managers - Mixing novice programmers with experts - Mixing “new” programmers with “older” programmers – People select their partners themselves – People pick tasks they want to work on, and the pairs result from task selections - Pair forming is especially easy if a large project is broken into very small tasks - People pair with lots of partners throughout the project 8
9
2009 Pearson Education, Inc. All rights reserved. ++READ LATER++ Can I… … work on the project without my partner? – Track down an error in between meetings, read the specs, ask the instructor clarification questions, think through the logic/design - yes – You should wait to do major design/coding only when you and your partner can meet … not have a partner? – It is a requirement for CS1120. (Sorry) – If you feel you have a special case - see me … change partners between assignment 6 and 7? – Absolutely … come to you if I am having problems with my partner? – Absolutely 9
10
2009 Pearson Education, Inc. All rights reserved. Good Reading Material on Pair Programming “All I Really Need to Know about Pair Programming I Learned In Kindergarten” – http://collaboration.csc.ncsu.edu/laurie/Papers/Kindergarten.PDF “Software Reviews and Pair Programming” – http://agile.csc.ncsu.edu/SEMaterials/ReviewsandPairProgramm ing.pdf http://agile.csc.ncsu.edu/SEMaterials/ReviewsandPairProgramm ing.pdf Many more – you can google it up 10
11
2009 Pearson Education, Inc. All rights reserved. In-class Pair Programming Exercise Get problem from our class web page 11
12
2009 Pearson Education, Inc. All rights reserved. 12 The End
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.