アジャイルのプラクティスを、もう一度解説して行きたいと思います。できるだけ、日本の文脈にあった内容を加えて、実践できるように。また、野中先生に後でコメントを頂く予定。

  • ペア・プログラミング

Pairprogrammingpng文字通り、2人一組になってペアでプログラミングを行う。XPでの1つのプラクティスに挙げられており、1台のPCを交互に使って行うのが基本形。昨今ではデュアルディスプレーを使ったり、ネットワークと画面共有を使ったりして遠隔地で実践しているチームもある。

コーディングは単純作業ではない。1つ1つの変数や操作の名前を決めることや、その構造、アルゴリズムにいたるまで、多くの設計判断が入り込む、クリエイティブな活動である。また、ミスが起こりやすい作業でもある。刑事やパイロット、スキューバダイビングなど、リスクが高い作業はペアで行うことは現実の世界にはたくさんある。二人でプログラミングを行うことで、リアルタイムにレビューをしていく効果、また、コードの中に注入されていく知識を共有していく効果がある。

別の視点からは、会話をしながら考えを共有することで、チームの一体感も高まるし、よいアイディアが出やすい。実際にキーボードを打っている方を「ドライバ」、横で一歩引いた視点から助言や質問を投げる方を「ナビゲータ」という。ペアの交代は15分くらいの短い間隔で行われ、開発のメリハリ、リズムも生まれる。特に、「テスト駆動開発」(後でリンク)と組み合わせることで、より会話を誘発してプログラミング活動を対話として捉えることもできる。

また、一人で書かれたコードは、独りよがりでその人しか読めないような職人コードになる傾向があり、これを回避する効果もある。すなわち、リアルタイムにレビューしながらコーディングしている、という感覚だ。レビューを後回しにするのでなく、その場で行うことで、設計のエラーをフロントロードできる。

最初の写真はAstahの中国チームの立ち上げ初期に、できるだけ日本のプログラマと中国のプログラマをペアにすることによって、知識を伝達しているところ。

よくある質問:

  • 工数が2倍になりませんか?

Timespent 管理者からは、効率を心配する声があがることが多いプラクティスでもあるが、ペアプログラミングによる工数の増加は2倍ではなく、1.15倍であり、その代わりバグの混入率が15%低下するテストパス率が15%向上するという報告がある。後になってバグを取り除く工数を考えると、効果は高いと言える。また、この質問は、開発行程、テスト行程、などを分けて工数管理している組織から多い。請負契約などを含めて行程が分断されて、部分最適が起こり始めると、全体の品質向上という視点から離れてしまいがち。

  • 二人でプログラミングって、集中できますか?

Pairprogramming2実際にやってみるとわかるのだが、ペアプロは非常に疲れる。脳を酷使しながらコミュニケーションを取るからだろう。ペアプロの机には、チョコレートなどのお菓子を置くことが推奨されている。(写真2では周囲にお菓子を配置)

参考情報:
すべてのプログラミングをペアで行うべきかどうかには、意見が分かれる。Jim Coplienはプログラミング作業だけでなくリスクが大きい作業や逆にクリエイティブな作業はペアで行ったほうが効果的としており、より広くPairwise Work"Developing In Pairs"という言葉を使っている(組織プロセスパターン)。また、ペアプログラミングの研究はLaurie Williamsが大きく貢献しており、書籍『ペアプログラミング』にさまざまな組み合わせ(初心者と上級者のマトリクス)が上げられている。

野中先生への言及ポイント:
マイケル・ポランニーの身体知と場、についてペアプログラミングの解釈をお願い。

Pairprogramming3 Pairprogramming4

平鍋

Special

- PR -
コメント
biac 2012/01/26 16:33

「バグの混入率が15%低下」
…この話が出るたびに言ってることですが、「バグの混入率」って何でしょう?
このデータから言えるのは、「テストパス率が15%向上した」です。「バグの混入数」を「パスしなかったテストケース数」と定義するなら、バグの混入数はおおむね半減しています。

平鍋 2012/01/26 16:51

ほんとですね。直しました。


コメントを投稿する
メールアドレス(必須):
URL:
コメント:
トラックバック

http://app.blogs.itmedia.co.jp/t/trackback/77444/27839846

トラックバック・ポリシー


» このブログのTOP

» オルタナティブ・ブログTOP



プロフィール

平鍋 健児

平鍋 健児

株式会社チェンジビジョン代表取締役社長、永和システムマネジメント副社長。
オブジェクト指向開発、UMLの勘所、アジャイルな開発手法の未来、マインドマップのソフトウェア開発での利用方法、プロジェクトファシリテーション(見える化)を語ります。現在、マインドマップとUMLの融合エディタ、astah*(アスター、旧JUDE)を開発中。

詳しいプロフィール

最近のトラックバック
カレンダー
2012年2月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29      
カテゴリー
エンタープライズ・ピックアップ

news094.gif 最後によかったなーと思える人生を
オーストラリアの永住権も取った。会社も興した。結婚も(離婚も)した。そして今、日本のためにやりたいことが村上福之さんにはある。(2/21)

news094.gif ビッグデータの活用は企業にとって本当に必要か
今やIT業界の重要なキーワードになりつつある「ビッグデータ」。その活用を促す声は高まるばかりだが、多くの企業にとって本当に必要なのか。今一度、考えてみたい。(2/20)

news094.gif 読者イベント「ノベルティ ブログ ライブ」 参加申し込み受付中!
IT企業の楽しいノベルティをご紹介する「ノベルティ ブログ」の4代目ゲッター「おのだおなが」が、あなたの自慢のノベルティを紹介します。2時間でいくつのノベルティを紹介できるか、乞うご期待!(2/16)

news094.gif お尻がムズムズするんです
約260人のブロガーがITにまつわる時事情報などを日々、発信しているビジネス・ブログメディア「ITmedia オルタナティブ・ブログ」。今回は、その中から「情報リテラシー」「お尻ムズムズ」「会社とソーシャルメディア」などを紹介しよう。(2/18)

news094.gif 東北をコットンの生産地としてブランディングしたい──リー・ジャパン・細川取締役
塩害に強い綿の生産で東北に新たな産業を作りたい。オーガニックコットンの採用など、環境負荷を下げるジーンズ生産に取り組んできたリー・ジャパンの新たなチャレンジとは──。(1/30)

オルタナティブ・ブログは、専門スタッフにより、企画・構成されています。入力頂いた内容は、アイティメディアの他、オルタナティブ・ブログ、及び本記事執筆会社に提供されます。

Special

- PR -

サイトマップ | 利用規約 | プライバシーポリシー | 広告案内 | お問い合わせ