<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://citconf.com/wiki/index.php?action=history&amp;feed=atom&amp;title=Pair_Programming_Done_Right</id>
	<title>Pair Programming Done Right - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://citconf.com/wiki/index.php?action=history&amp;feed=atom&amp;title=Pair_Programming_Done_Right"/>
	<link rel="alternate" type="text/html" href="http://citconf.com/wiki/index.php?title=Pair_Programming_Done_Right&amp;action=history"/>
	<updated>2026-04-04T11:13:24Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.35.11</generator>
	<entry>
		<id>http://citconf.com/wiki/index.php?title=Pair_Programming_Done_Right&amp;diff=16298&amp;oldid=prev</id>
		<title>Micko: Notes taken during PJ&#039;s session on pair programming</title>
		<link rel="alternate" type="text/html" href="http://citconf.com/wiki/index.php?title=Pair_Programming_Done_Right&amp;diff=16298&amp;oldid=prev"/>
		<updated>2016-08-09T00:13:14Z</updated>

		<summary type="html">&lt;p&gt;Notes taken during PJ&amp;#039;s session on pair programming&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;PJ has been giving this talk since 2007, and picked it initially because other topics seemed to be covered/solved.&lt;br /&gt;
PJ feels like he is one of few who likes pair programming.&lt;br /&gt;
Paired in lots of roles - architect, documenting, analysis, proj management. &lt;br /&gt;
&lt;br /&gt;
Why don&amp;#039;t people enjoy pair programming:&lt;br /&gt;
- Too slow - do more myself&lt;br /&gt;
- Management - not paying 2 for 1&lt;br /&gt;
- Devs - boring to watch. Want to do. Better alone, like computers not people.&lt;br /&gt;
- Ergonomic chairs not for sharing!&lt;br /&gt;
- Need to trace code changes to 1 individual. &lt;br /&gt;
- Don&amp;#039;t want to be judged / self conscious.&lt;br /&gt;
&lt;br /&gt;
Why PJ thinks it is great!&lt;br /&gt;
- 2 heads better than 1 - idea injections, always better solution.&lt;br /&gt;
- Code is always more stable/robust - end up refactoring less than when done alone.&lt;br /&gt;
- Favorite reason - my job is more fun, despite introverted leanings.&lt;br /&gt;
- Usually more tired at the end of the day.&lt;br /&gt;
- Love my job... time flies.&lt;br /&gt;
- Pair stopped me from getting lost in code... took breaks,  engaged, mental breaks.&lt;br /&gt;
- &amp;quot;Bus factor&amp;quot; - how many people in team are you dependent on. Significant IP / point of failure.&lt;br /&gt;
Best mode of training I know.&lt;br /&gt;
&lt;br /&gt;
Doing it right:&lt;br /&gt;
- Personal cleanliness!!! Also health/germs. Address early and up front.&lt;br /&gt;
- Pomodoro-book.com - commit early and often, 25min chunks.&lt;br /&gt;
- If not on track, challenge - what would we need to do to be able. Facilities positive change. &lt;br /&gt;
- TDD - Bob Martin says &amp;quot;you&amp;#039;re not a professional dev if not doing TDD&amp;quot;. Like double entry accounting. Basic checking we should be doing.&lt;br /&gt;
&lt;br /&gt;
DHH (person) makes great apps, but very vocal around - TDD got in his way and thinks it is dead.&lt;br /&gt;
Can&amp;#039;t pair with same person all the time. Systematically rotate with everyone.&lt;br /&gt;
Avoid chewy-seated partnerships... Solo getting the glory. Most common reason why people say they don&amp;#039;t like it.&lt;br /&gt;
&lt;br /&gt;
3 recommended styles:&lt;br /&gt;
  1) ping pong. &lt;br /&gt;
  - A writes first broken tdd test. B writes enough code to pass test. Swap and so on. &lt;br /&gt;
  - Best when equally familiar with domain/skills.&lt;br /&gt;
&lt;br /&gt;
  2) ball &amp;amp; board&lt;br /&gt;
  - 1 person gets mouse (senior), 1 gets keyboard (junior).&lt;br /&gt;
  - Newbie learns by doing.&lt;br /&gt;
  - Painful and hard to get used to.&lt;br /&gt;
  - Newbie not allowed to use arrow keys, senior gives guidance. &lt;br /&gt;
  - Junior has to explain where they want to go, forces conversations and teaching.&lt;br /&gt;
&lt;br /&gt;
  3) Batting practice&lt;br /&gt;
  - Coach lobs an easy lob ball for you to swing and hit.&lt;br /&gt;
  - Senior/domain sme continues to write good small unit tests to guide junior person writing code.&lt;br /&gt;
&lt;br /&gt;
Good tools out there for it. &lt;br /&gt;
&lt;br /&gt;
Next step is mob programming!!!!!&lt;br /&gt;
Overhead projector, 1 keyboard, team of 4 working together (pj&amp;#039;s team just like that number). Jeffrey&amp;#039;s team did in bigger numbers.&lt;br /&gt;
&lt;br /&gt;
Found team satisfaction was better stakeholders just as happy.&lt;/div&gt;</summary>
		<author><name>Micko</name></author>
	</entry>
</feed>