ペアプログラミングの手法から学ぶこと

『ペア・プログラミング エンジニアとしての指南書』から、ペアプログラミングをうまく進めるためのコツをまとめたものを書きます。この「コツ」はソフトウェア開発だけでなく、仕事や家庭でのコミュニケーションにも役に立つと感じたのでメモっておきます。

自分の仕事や生活を振り返ってみて、特に大切だと思うのは(つまり自分に足りないと思うのは)、「謙虚になる」と「コミュニケーション: reflective articulation」「妥協と主張のバランスを磨く」の3点です。

これはプログラミングだけでなく、共同作業全般に役立つものになるでしょう。仕事だけでなく、日常生活・家庭生活でも。

有能なペアプログラマの7つの習慣

1. 休憩を取る

  • 密度の濃い作業の維持のため、休憩中は気分を切り離す
  • 少なくとも1時間ごとに立ち上がり、のびをして、遠くを見る

2. 謙虚になる

  • 「自尊心の少ないプログラミング」
  • 批判を不信と見なさない

3. 自信を持つ・受容性に富む

  • 別の人からのフィードバックを得る
  • 「愚かだと思われるのでは」という恐怖 → 大胆な意見の芽を摘んでしまう
  • 互いの判断力とチームへの忠誠を信頼

4. コミュニケーション

  • 持続的に「自己説明」を声に出す
  • reflective articulation (内省的発声)

5. 耳を傾ける

  • 可能性の認識 — 独特の視点を現実化することはできない
  • 他の人間は自分の才能やスキルを拡大させてくれる同僚

6. チームのメンバーになる

  • 100%責任を持つ共同作業
  • 「その欠陥は君の分担部分が原因だ」→「私たちが設計を間違えた」→「欠陥もなく、テストもパスした」

7. 妥協と主張のバランスを磨く

  • 起源 (誰が考え出した物か) に対する偏見を持たずに、提案について話し合える → 提案のメリットだけを熟考できる
  • 常にパートナーに同意するのは×
  • ペアのゴールは「できるだけ良い物を作り出すこと」
  • 主張や論争を行う前に、この場合では本当に重要なのか、を考える