「“バニラ”のXP(純粋なXPのプラクティス)だけでやろうとしても、上手くいかない」。こう話すのは、エクストリーム・プログラミング(XP)の日本での普及を先導している、永和システムマネジメントの平鍋 健児 ネクストテクノロジ マネジャーだ。「バニラのXPにいろいろな“トッピング”をして、実際の開発現場に馴染ませていくことが大切だ」(平鍋氏)。

 XPでは不必要なドキュメントの作成を嫌うなど、“余計な”事務作業を排除している。とはいえ実際のプロジェクトでは、顧客への進捗報告など、ビジネス上必要な書類は作成しなければならない。XPにこだわりすぎると、こうしたごく当たり前のやるべきことが見えなくなることもある。

 平鍋氏は昨年、あるXPのプロジェクトにメンター(助言者)として参加した際に、次のような状況に遭遇したという。ごく初期のうち、「計画ゲーム」[用語解説]などのミーティングの議事録がしっかりと残されていなかったり、計画ゲームで決めた開発内容が曖昧すぎたなど、XPが原因ではない基本的なところで問題を抱えていた。「メンバーもXPで開発するのが初めてだったためか、ぎごちなく、どうすれば良いのか分からない、というような雰囲気だった。XPのプラクティスを忠実にやろうとして、空回りしているようにも見受けられた」(平鍋氏)。

 メンバーは平鍋氏を交えて問題点を議論した結果、「XPにこだわりすぎず、(システム構築プロジェクトとして)押さえるべきところはきちんと押さえてやろう、という意見が、メンバーから自然発生した」(平鍋氏)。

 例えば、必要なドキュメントを積極的に作成するようにした。議事録も残し、次回の顔合わせまでにやるべき仕事内容を明確にした。また、「ストーリーカード」[用語解説]の形式に固執せず、Excelで開発内容の一覧表も作った。時と場合に応じて、全体像を把握するためだ。

 さらに組織面でも、顧客にリリースする前に成果物の内容や品質をチェックする役割をチーム内に設置した。XPではこのような役割は規定していない。こうした“トッピング”を独自に施すことで、「開発プロジェクトはスムーズに回るようになった」(平鍋氏)という。

 【訂正】 本記事の公開後、平鍋氏から事実関係について指摘があり、第3段落の「議事録を取っていなかったり」を「議事録がしっかりと残されていなかったり」に、第4段落の「ということになった」を「という意見が、メンバーから自然発生した」に、それぞれ訂正しました。(2003.4.21)

計画ゲーム:XPでの計画単位。ユーザー企業とベンダーの開発メンバーが話し合い、作業計画を決める。
ストーリーカード:イテレーション(期間で区切った開発の単位)でどの機能を開発対象とするか(ストーリー)を書き込むカード。ユーザー側が書き込み、開発メンバーに提示する。基本的に1枚につき一つのストーリーを書く。

(高下 義弘=日経コンピュータ)