Translations:Collaborative programming/16/en

As opposed to a workshop the goal of a pairing session is not to present a solution or a technology to your team, but rather to get to a solution together. Therefore specific communication rules apply:
 * refrain from saying things like "obviously" or "simply", because what you are implementing seems simple to you, but rather approach your teammates with empathy, and assume that you have different knowledge of different parts of the codebase
 * when somebody has a question we pause and answer as good as we possibly can
 * rather overcommunicate and talk the others through what you are trying to do
 * try to use I statements, i.e. "I believe that there's another solution" instead of "This needs to be done differently"
 * do not generalise people's experiences through others: "X and Y believe that there is a good solution" instead of "people believe that there is a good solution"
 * when you realise the other one did a mistake, do not interrupt but bring up your concerns when they have finished their point
 * use always only non-judgemental language, saying "you did it wrong" might not be the best way to make your pairs aware of a mistake, rather say: "have you considered..."
 * be careful about strong opinions, sometimes a strong opinion is justified, but more often is just a way to ignore other possible ways that are also okay
 * have a dialogue as opposed to a discussion where one has to "win" and come to a resolution together
 * do not be afraid to change your opinion, adaptability, and change of opinions are a sign of an intelligent collaborator