「正直,人間中心のソフトウエア開発っていう理念が“青臭く”感じられるんですよね」――約2年前,XP(エクストリーム・プログラミング[用語解説] )について話し合っていたときに,あるソフトウエア技術者が言った言葉だ。「そりゃあ,コミュニケーションは重要ですよ。楽しく開発できたらモチベーションも上がるでしょう。でも,ソフトウエアのユーザーにしてみれば,開発者がどんなやり方をしようが関係ないじゃないですか」と彼はニヒルな笑いを浮かべて言った。

 いや,だからこそ,テスト・ファーストやリファクタリングといった“技術的な”プラクティス(実践項目)が重要なんだと筆者がXPを弁護すると,彼は技術的なプラクティスには賛同しつつも最後にこう言った。「本当に普及するんですかねえ」

XPに関する情報は広まったが・・・

 本当に普及するのか――残念ながら,彼の疑問に対する答えはまだ出ていない。この2年で,XPに対する情報は広まった。書籍,雑誌,インターネットを通じて,そのプラクティスや理念が(少なくともソフトウエア開発者の間では)知れわたるようになり,セミナーやイベントも多く開催された。初期の「無計画でイイカゲンな開発手法」「まったく設計を行わずに,すぐにプログラミングする手法」という誤ったイメージは,かなり払しょくされたと思う。

 個人の開発者がテスト・ファーストやリファクタリングを試してみることも珍しくなくなった。XPの価値観,プラクティスに賛同する開発者の数は,2年前よりずっと増えたと筆者は思う。

 しかし,残念ながら開発プロジェクトとしてのXPの実績は多くない。研究部門やパッケージ・ソフト開発など,開発者が比較的自由にできる分野はともかく,受託開発となるとまだまだだ。日本のソフトウエア産業には,人月管理による契約や下請け構造など独特の習慣や仕組みといった制約があり,それらをクリアにしないことには現実的な導入が難しいからである。

XPは「開発者」だけのものではない

 では,このままXPの普及は足踏みしてしまうのか。

 筆者は,今後XPがもっと普及していくには,そういった制約の解決とは別に,大きなイメージ・チェンジが必要だと考えている。

 これまでXPは,主にソフトウエア開発者の意識を変えることに注意が向けられてきた。「ペア・プログラミング」や「週40時間労働」といった刺激的なネーミングは,確かに開発者の興味を引いた。しかし,しょせんそれだけでは開発者の内輪ウケで終わってしまう。

 これからは,XPは「開発者」のためだけではなく,「顧客」のためのものだ,という視点が必要だろう。つまり,システムの発注元となる「顧客」の興味を引くことがもっと重要になる。XPは,従来の開発手法とは比較にならないくらい顧客の協力――というより積極的な開発への参加――を必要とするからだ。システム開発を発注する顧客が,XPのメリットを実感し,そのスタイルを受け入れてくれなければ,XPの普及はありえない。

 つまりXPを普及させるには,顧客が現実的にXPを受け入れるような“説得力”が必要になる。言わばマーケティング戦略である。「仕様の変更にいつでも対応できます」「適切なタイミングでソフトウエアを提供できます」といったメリットを顧客に説明することは以前から行われているが,それだけでは足りない。魅力的な説得力や宣伝方法を考えるために,広告代理店やコピーライターを使うことだって真剣に考えてもいいかもしれない。XPという名称も,一般人に分かりやすいものに変えたっていい(ただし,意味不明の3文字英語ならゴメンだ)。

 最も効果的なのは,できるだけ有名な企業でXPによる成果を出し,トップダウン的にXPの知名度を広めることだという意見もある。確かにメディアを通じてXPのことを知った一般企業の経営者や管理職が「何だかよく分からないけれど,XPはスゴイ」と口をそろえるようになれば,普及は加速するかもしれない(どこぞの出版社がやってきた手法,とのご批判があるかもしれない・・・)。

 しかし,あまりにイメージ戦略が先行してXPがトップダウンで強制されてしまうと,XP本来の持ち味がなくなってしまい,かえっておかしな方向に進みはしないかと筆者は危惧する。

XP自体が,「顧客のための方法論」に生まれ変わるときが来た

 それよりは,効果的なマーケティング戦略に合うようにXPが進化し,開発者だけでなく,顧客に顔を向けた,顧客のための方法論に生まれ変わるべきだろう。

 実際,XPは現実的な対応に向かって変わりつつある。昨年,プラクティスは「共同」「顧客」「管理者」「開発者」という四つのカテゴリに分類され,誰のためのプラクティスかが明確になった。「週40時間労働」は「最適なペース(Sustainable pace)」という名称に変わった。「テスト・ファースト」も「テスト駆動開発(TDD:Test Driven Development)」として洗練/体系化され,さらには仕事の反省点や良いところを評価/分析する「回顧(Restrospectives)」といった新たなプラクティスも追加された。当初12個しかなかったプラクティスは,現在19個に膨れ上がっている。

 つまり,開発者にしかウケないような“青臭い”XPから,一般の人にもウケる“大人の”XPへと進化しようとしているのだ。

 折りしも今年の2月,国内におけるアジャイル・プロセスの普及と啓もうを目指して「アジャイル・プロセス協議会」が誕生している。アジャイル・プロセスとは,XPに代表される,高品質なソフトウエアを手早くムダなく作るための方法論の総称である。

 発足メンバーは,これまでXPやアジャイル・プロセスの普及に尽力してきた開発者や研究者たち。この協議会で,日本の事情にフィットした契約ガイドラインや開発ガイドラインなど,具体的な導入フレームワーク作りを始めるという。容易なことではないと思うが,その姿勢は非常に高く評価できる。筆者も応援していきたい。

 マーケティング戦略にしろ,新しいプラクティスにしろ,XPに賛同する方がいたら,どんなささやかなものでもいい,恐れずに積極的にアイデアを出してほしい。XPが“大人”になれるかどうかは,XP流に言えば「失敗することを恐れない“勇気”を持つこと」にかかっているからだ。あ,こう書くとやっぱり“青臭い”かな?

(アイデアやご意見は,記事末の「Feed Back!」欄から,または,電子メールでiteditor@nikkeibp.co.jpあてにお願いします。メールの場合は,題名に「XP係あて」とお書きいただければ幸いです)

(真島 馨=日経ソフトウエア)