Pair Programming
What is Pair programming?
What is Pair programming?
Pair programming is an agile software development technique
in which two programmers work as a pair together on one
workstation. One, the driver, writes code while the other, the
observer, pointer or navigator, reviews each line of code as it is
being typed
Why should we do Pair programming?
- Learning 💪
- Satisfaction 😁
- Team Building and Communication ⇈
- No frustration 😜
- Problem solving 💡
- Other...
When should we do Pair programming?
- Architecture
- Code reviews
- Find/fix bugs 🐛
- Explain problem or code structure
- Find edge cases
- Other...
How should we do Pair programming?
How should we do Pair programming?
Two roles: Driver
- Writing the code
- Explaining each part of code
How should we do Pair programming?
Two roles: Navigator
- Correcting, clarifying, observing
- Keeps a big picture
- Watches, alerts, and asks questions
How should we do Pair programming?
Two roles: Switch Roles
- each 25-45 minutes
How should we do Pair programming?
Communicate:
- asking about everything 📕
- make sure both of you understand the concept 🐢
- visual aids for communication📈
- use real life analogies and metaphors 💁
- listen, really listen👂
- no joking - be involved 😆
- try not to disturb your partner 😠
How should we do Pair programming?
Take breaks:
- a lot of information 💆
- fresh mind => new ideas 💡
- each 30-60 min ⏰
How should we do Pair programming?
Be respectful and patient:
- everyone has something to offer
- be gentle with your pair and most importantly with yourself
How should we do Pair programming?
Be prepared:
- your partner’s time is also important
- clean (shower, clean teeth, gum )
How should we do Pair programming?
Have fun:
How shouldn’t we do Pair programming?
How shouldn’t we do Pair programming?
- DON’T be a boss🙅
- DON’T be intimidated 👐
- DON’T be quiet 💤
- DON’T rush it ↑
- DON’T be afraid to ask for help ❓
- DON’T hug the keyboard ⌨
- DON’T get competitive 💙
How to inform a client about Pair programming?
- Quality
- Fewer defects
- Design quality
- Continuous Reviews
How to inform a client about Pair programming?
- Satisfaction
- Learning
- Team building
- Team communication
How to inform a client about Pair programming?
- Problem solving
- Learning
- Project Management
Remote Pair programming
- Share screen
- Share code (github) - to switch role
- Share notes
Extreme Pair programming
Visuality standards
- Share problems about your pair programming
- Be Driver and Navigator
- Feel comfortable with your team member
- Learn from the other person
- Do it as often as possible
Summary
Despite the reluctance and
preconceptions, pair programming is well
worth the investment and it should be a
part of a software engineer’s normal daily
practice.
FA
Q
How long have you been doing Pair
Programming?
FA
Q
Did you have one partner?
FA
Q
Do you prefer being a Driver to a
Navigator?
FA
Q
Do you think one is more difficult than the
other?
FA
Q
Who assigns the partner? ( PM, Team
leader? )
FA
Q
Do you have any advice?
Q&A

Pair programming- Mariusz Kozieł

  • 1.
  • 2.
    What is Pairprogramming?
  • 3.
    What is Pairprogramming? Pair programming is an agile software development technique in which two programmers work as a pair together on one workstation. One, the driver, writes code while the other, the observer, pointer or navigator, reviews each line of code as it is being typed
  • 4.
    Why should wedo Pair programming? - Learning 💪 - Satisfaction 😁 - Team Building and Communication ⇈ - No frustration 😜 - Problem solving 💡 - Other...
  • 5.
    When should wedo Pair programming? - Architecture - Code reviews - Find/fix bugs 🐛 - Explain problem or code structure - Find edge cases - Other...
  • 6.
    How should wedo Pair programming?
  • 7.
    How should wedo Pair programming? Two roles: Driver - Writing the code - Explaining each part of code
  • 8.
    How should wedo Pair programming? Two roles: Navigator - Correcting, clarifying, observing - Keeps a big picture - Watches, alerts, and asks questions
  • 9.
    How should wedo Pair programming? Two roles: Switch Roles - each 25-45 minutes
  • 10.
    How should wedo Pair programming? Communicate: - asking about everything 📕 - make sure both of you understand the concept 🐢 - visual aids for communication📈 - use real life analogies and metaphors 💁 - listen, really listen👂 - no joking - be involved 😆 - try not to disturb your partner 😠
  • 11.
    How should wedo Pair programming? Take breaks: - a lot of information 💆 - fresh mind => new ideas 💡 - each 30-60 min ⏰
  • 12.
    How should wedo Pair programming? Be respectful and patient: - everyone has something to offer - be gentle with your pair and most importantly with yourself
  • 13.
    How should wedo Pair programming? Be prepared: - your partner’s time is also important - clean (shower, clean teeth, gum )
  • 14.
    How should wedo Pair programming? Have fun:
  • 15.
    How shouldn’t wedo Pair programming?
  • 16.
    How shouldn’t wedo Pair programming? - DON’T be a boss🙅 - DON’T be intimidated 👐 - DON’T be quiet 💤 - DON’T rush it ↑ - DON’T be afraid to ask for help ❓ - DON’T hug the keyboard ⌨ - DON’T get competitive 💙
  • 17.
    How to informa client about Pair programming? - Quality - Fewer defects - Design quality - Continuous Reviews
  • 18.
    How to informa client about Pair programming? - Satisfaction - Learning - Team building - Team communication
  • 19.
    How to informa client about Pair programming? - Problem solving - Learning - Project Management
  • 20.
    Remote Pair programming -Share screen - Share code (github) - to switch role - Share notes
  • 21.
  • 22.
    Visuality standards - Shareproblems about your pair programming - Be Driver and Navigator - Feel comfortable with your team member - Learn from the other person - Do it as often as possible
  • 23.
    Summary Despite the reluctanceand preconceptions, pair programming is well worth the investment and it should be a part of a software engineer’s normal daily practice.
  • 24.
    FA Q How long haveyou been doing Pair Programming?
  • 25.
    FA Q Did you haveone partner?
  • 26.
    FA Q Do you preferbeing a Driver to a Navigator?
  • 27.
    FA Q Do you thinkone is more difficult than the other?
  • 28.
    FA Q Who assigns thepartner? ( PM, Team leader? )
  • 29.
    FA Q Do you haveany advice?
  • 30.