7. What is Pair Programming?
• code is produced by two people programming:
– on one task
– on one workstation
• Two keyboards (optional)
• Two mice (optional)
• Two monitors mirroring (ideally)
eXtreme Programming (XP)
Software development methodology
code is produced by two people programming:
on one task
on one workstation
Two keyboards (optional)
Two mice (optional)
Two monitors mirroring (ideally)
How should the driver and navigator seat?
Which hardware should they have to pair programme effectively?
All the times:
In front of a working station
Except in:
meetings (finishing each other sentences)
Bathroom (taking a leak)
Collective code ownership… everybody gets a chance to know and “own” all the code
Bus factor
Beginners mind
Collective code ownership… everybody gets a chance to know and “own” all the code
Bus factor
Beginners mind
Engagement / Commitment
Valuable Stand ups
Better integration of new team members
Should I stay or should I go?
It really depends how obsessed you are with reviews…but I would say no.
One of the members of the pair is already reviewing
With proper rotation everybody gets a chance to review the code
Less bugs
More fun
Less distractions
Less interruptions from “outsiders” (changed from stopping one dev to stopping two)
Less slacking on important stuff (testing, coding properly, adding comments, etc...)
Because you are pairing:
you have better ideas
stay in the zone for longer
More courage to take “risky”/”unconfortable” tasks
Opportunity to learn and to teach
[Image] Dude coding and listening to music
[Image] Dude coding on workstation and having facebook on the laptop
No music (at least headphones)
No youtube
No facebook
No twitter
No instagram
No tumblr
…
Basically No social crap
(your manager is going to love this part)
* Nop!
* You must:
Be willing to give it a try
Be social
Be confident
Embrace/deal with partners feedback
Manage conflict
Accept differences (not everything will be like you want)
* It’s quite exausting
It’s not rainbows and unicorns
You will have a learning curve ahead
BUT... It should be highly recommended!
(Story at sky where the team stick to pp because of not wanting to do code review.)
The non believers think so:
Twice the salary / cost?
Half the speed?
So what about:
Bugs?
Technical debt?
Bus factor?
Team spirit? Morale?
WIP limit?
It wont be expensive on the mid/long term