ペアプログラミングの実際
当社では、2009年3月よりパッケージ製品の開発にアジャイル開発手法を導入し、積極的にペアプログラミングの実践を進めてきました。今まで紹介したようなペアプログラミングの恩恵はもちろん受けていますが、これ以外にも当社ならではの適用事例・結果が出てきています。そのいくつかをご紹介しましょう。
キーボードとマウスを用意する
ペアプログラミング導入から数か月後、慣れてきたチームメンバから「1つのモニタを見て議論などが始まるが、ナビゲーターから詳細な意見を言おうとしても、キーボードとマウスがないので紙に書いたり、モニタを指さして、これがあれがとなってしまう。ナビゲーターもキーボードとマウスを持ったらどうか」という提案がありました。確かに。実際にやってみると、けっこう効果が上がり、以後当社ではペアプログラミング=キーボードとマウスも2つずつとなりました。最初にお見せした写真にも、しっかりとペアのキーボードとマウスが写っています。
仕様もペアで作る
ペアプログラミングがあまりに効果的だったのか、仕様書もペアで書くという提案が上がってきました。効率を考えれば、そんな馬鹿な!? と思ってしまいますが、ペアプログラミングのメリットである「知恵を出し合う」「知識の底上げ・教育的配慮」が見事にはまることも事実。さっそくやってみると良い効果がありました。ケースバイケースではありますが、詳細設計レベルの多くはペア仕様書書きを実践しています。
清潔な生活を心がける
ペアプログラミングでは、1つのモニタに対して至近距離で2名が作業を実施します。そのため、身だしなみに気を使うチームメンバが増えてきました。つめを整えたり、昼食後の口臭に気をつけたりと、自然と職場が清潔になってきています。
当初どのようにチームメンバをペアリングすれば良いのか、試行錯誤を繰り返した時期があります。若手同士、ベテラン同士、若手・ベテランペアなど。おおむねどれも一長一短でしたが、絶対にやってはいけないペアリングは「若手同士」でした。経験不足であるため、ナビゲーターは黙りがちで、ドライバーも黙りがち、想像以上に成り立ちませんでした。要注意です。
おわりに
今回は、ペアプログラミングの概要を説明し、そのメリット・デメリットをお話ししました。また、ペアプログラミングのイメージを紹介するとともに、当社での実例をいくつか紹介しました。世の中にはペアプログラミングの良さを紹介する記事や書籍が多々ありますが、やはり実際にやってみると、ペアリングをどうするか、全ての作業をペアにすべきかなど、考えなければならないことが多々あることが分かります。ぜひ皆さんも一度ペアプログラミングを実践して、そのメリット・デメリットを体感してみてください。
今月の復習問題
以下の問題文を読んで、正しいものに○、間違っているものに×を付けてください。
- 問題1:ペアプログラミングとは、とにかく2名でコードを書くことである。役割など不要だ。
- 問題2:ペアプログラミングにはメリットもデメリットもある。チームの状態やスキルを見ながら、適用すべきだ。
- 問題3:ペアリングは自由にやって良い。どんなペアリングでも効果がある。
復習問題の答え
- 問題1: ×
- 問題2: ○
- 問題3: ×
ペアプログラミングでは、指示を出すナビゲーターとコードを書くドライバーに分かれて作業します。
新人プログラマだけのチームや、ベテランプログラマだけといったオールスターチームの場合、適していないかもしれません。いくつかの小開発で試してみることをお奨めします。
可能性としてどんなペアでも作業は可能ですが、当社での経験で言うと若手同士のペアは避けるべきと思います。
ウォッカ15ml、フランボワーズ30ml、パインジュース15ml、レモン汁1tspと氷をシェーカーに入れ、軽くシェークしてカクテルグラスに注ぐ。甘酸っぱい薄紫が美しく“女性を口説ける”一品と言われています。
みなさんの会社ではペアプロをやっていますか。筆者の会社ではペアプロがなかなか普及しなくてちょっと悩んでいました。そこで、萩原さんの会社にレクチャーをお願いしたところ、進藤社長が「いいですよ、じゃあ今度ピザ会形式でやりましょう」って軽く引き受けてくれました。
そして、当社に来てペアプロのポイントを教えるだけでなく、その場でペアプログラミングを始めて本当に実践的なやり方を教えてくれました。当社の技術者もずらっと参加したのですが、なんとワインとピザも進藤さんの差し入れ。こんな雰囲気の社長だからペアプロが浸透してうまく活用できているんだと感じ入りました。
ペアプロが社内に浸透できないのは社長の頭が固いから。それがわかったのは大きな収穫なのですが、その後も何回かトライしてはいつの間にか挫折しています。ああ、どうやったら柔らかくなるのでしょうか(やっぱ差し入れしなくっちゃダメか・・・)。(梅)
