アート・オブ・アジャイル デベロップメント 社内読書会#5−1

5章 考えること


ペアプログラミング


ペアプロ=ドライバーxナビゲータ

ドライバー 厳密で構文的に正しいコードを書く戦術的課題に自由に取り組むことができる。
ナビゲータ コーディングの詳細にとらわれず、戦略的課題を検討できる。

この2つの役割の交代の間隔は数分〜30分くらいが良いだろう。

メリット

  • 知力が2人分になる。
  • ペア作業は良いプログラミング習慣を強化できる。
  • ペアの人から前向きなプレッシャーをもらえる。(ちょっとださいけどこれでいっか・・・が無くなる→技術的負債が少なくなる)
  • ペアで仕事をしていると割り込みが少なくなる。割り込みがあっても片方の人が対処し、もう片方の人がそのタスクを継続出来る。
  • ペアのパートナーを交代することにより、チーム全体にスキルや知識が広がる。

課題

  • 快適さ → お互いリラックスできる環境を作る。
  • スキルのミスマッチ → 先生と生徒という立場は良くない(対等の関係でないと意見がしづらくなるから?)
  • コミュニケーションスタイル → 攻撃的な言い方は質問や提案に変えてみるなどすると良い。
  • ツールとキーバインド → 環境は統一されている方が良い。

その他

  • プログラミングはプログラミング言語の命令をただ打ち込むだけではない。
  • ドライバーは黙りがちになるなので考えていることをつぶやくと良い。(Twitterにではなく・・・念のため
  • ペアプロ出来ないなら代替案としてコードインスペクションがある。