1- Programmer buy-in (preferably grass-roots) rather than management dictate
2- Collective ownership of code
3- Frequent switching of pairing partners (switch multiple times per day)
4- Comfortable pairing stations with no "owner" so people can swap partners and desks easily
5- One shared workspace per project with good noise isolation from other projects
6- Office (or two) with a door for private conversations, phone calls, or when you just need to get away from it all
7- Personal space for each person for pictures, storage, checking email, etc.
8- Sensible working hours (pairing is tiring!)
9- Mature participants without major social hang-ups or hygiene issues
10- Mutual respect
11- Thought-provoking work (TDD & evolutionary design tend to make even boring work thought-provoking)
12- Four to eight weeks to get used to it
1- Programmer buy-in (preferably grass-roots) rather than management dictate
2- Collective ownership of code
3- Frequent switching of pairing partners (switch multiple times per day)
4- Comfortable pairing stations with no "owner" so people can swap partners and desks easily
5- One shared workspace per project with good noise isolation from other projects
6- Office (or two) with a door for private conversations, phone calls, or when you just need to get away from it all
7- Personal space for each person for pictures, storage, checking email, etc.
8- Sensible working hours (pairing is tiring!)
9- Mature participants without major social hang-ups or hygiene issues
10- Mutual respect
11- Thought-provoking work (TDD & evolutionary design tend to make even boring work thought-provoking)
12- Four to eight weeks to get used to it