English 

Page  1  2  3  4 

eXtreme Programming がしたい!
(日経BP 日経ソフトウエア 2002年5月号特集
「XPはソフトウエア開発をどう変えたか?」の原稿を元に再構成)
(山本 啓二・水谷 雅宏)

PDFはこちら PDF Adobe

日本でXPが話題になりはじめてから、もう2年以上が経つでしょうか。それまで工業的に捕らえられがちだったソフトウエア開発において、その人間系の側面に光を当てたものとしてXPは多くの開発者に支持されてきています。しかし、国内においてXPを適用した事例はまだなかなか目に付きません。「ペアプロ楽しそ~!」、「テストファーストなんてやってられるの!?」といった期待に満ちたプログラマ達の声や、他の方法論などと比べてどうだという議論ばかりが聞こえてきます。
そうした期待や議論ももちろん大切ですが、XPは机上の空論や空疎な理念の単なるマニフェストではありません。顧客の最大利益を実現することで開発者を満足させるプラクティスです。実際のプロジェクトに適用してみてはじめてその良さが実感される性質のものです。
XPは他の多くの方法論や管理手法と同様アメリカ生まれの開発手法ですので、日本でのソフトウエア開発にそのまま適用できるプラクティスばかりとは限りません。また国内に限ってみても、顧客との関係や対象とするアプリケーションの質などは個々のプロジェクトで千差万別でしょう。より効果的な方法を顧客と開発チームが共に模索していかなくてはなりません。
本稿は、わたしたちがXPを実プロジェクトに適用した記録です。これからXPを適用していこうと考える開発者のみなさんの参考となれば幸いです。

プロジェクト概要

システムについて

前述のとおりプロジェクトの特質は千差万別であり、XPの取り込みかたもプロジェクト次第ですから、まずわたしたちがXPを適用したプロジェクトについて理解していただくことが必要でしょう。 今回の顧客は凸版印刷様でした。開発対象となったのは、メール・Webによるマーケティングサービスを行うシステムです。最終的にはパッケージ化あるいはASP化を目指していきますが、まずは東京お台場にある、「メディアージュ」(注1) で実証実験を行います。

どのようなサービスかというと、複合商業施設やイベントなどの来場者へ、携帯電話を介して情報を提供しよう、というものです。たとえば、メディアージュに映画を見に来たら、次の上映時間まで1時間ありました。じゃあそれまで近くをウロウロして時間をつぶすか……という来場者がサービスを受けると、始めてすぐに「メディアージュへようこそ!」というメールが届きます。メールに書かれたURLから館内情報案内のWebページを見ることが出来ます。30分後には「歩きまわって疲れてない? お茶を飲むならこんなお店があるよ!」、上映時間直前に「もうすぐはじまるよ」、上映終了後には「おなか空いてない? ごはんを食べるなら夜景のキレイなお店へどうぞ!」といったように、参加者の属性(この場合「映画Aを待っている人」)と時間軸(参加して何分後、あるいは何時何分という絶対時間)に合わせて、携帯電話向けのメール+Webでコンテンツを提供できます。

単なるメールマガジンや情報サイトにとどまらず、時間と来場者の属性を軸により的確な情報を提供することで、来場者の利便性を図ります。それによって、運営者が来場者の動線をあるていど制御することも期待でき、施設・イベントの活性化を実現します。

とはいえ、これは最終形で、プロジェクトの開始時点では、どのような情報提供の仕方が有効なのかははっきりしていません。さまざまな議論はなされましたが、実際の来場者が、どんな場面でどんな情報をほしいと感じるものなのか、携帯を使うことのメリットやデメリット、それにもちろんシステム的な実現方法、制限などは想像の域にとどまっています。もっと利用者に施設を使いこなしてもらう、それに役立つシステムを作っていこう、とだけ決まっています。

そのため、当初まずはプロトタイピングを行い、技術的な実証とサービスの検証を行うことが決定されました。

顧客チーム

このプロジェクトの顧客は、コンテンツビジネスや出版、施設運営などのプロフェッショナルからなるチームです。それぞれの分野では一流の方々が揃っていますが、この事業においてひとつの軸となるべきITシステムの分野に精通した方はいません。そこでわたしたちにお声がかかり、ビジネスプランの段階からコンサルタントとしてプロジェクトに参画させていただくこととなりました。開発チームは彼を擬似顧客とすることで、オンサイトに準ずるビジネスニーズとのコミュニケーションを保ちました。

擬似顧客は、顧客チームのサイトに常駐し、企画立案段階から共にアイディア出しを行いつつ、IT専門家の立場でそれらの企画の実現性を検証していきます。「システムとしてこれは正しい、できるできない」ではなく、「よりよいサービスを作り上げるには?」という視点を持って議論に参加していく中で、顧客チームとの信頼関係を作っていきました(XPについてこのロールから書いたコラムが後掲されていますので参照してください)。

開発チーム召集

擬似顧客は開発の始まる前からそうしたスタンスで顧客チームに合流していました。3ヶ月が経って、顧客チームでビジネスプランニングが進められ、開発チームが召集されました(表1 全体スケジュール表と表2 メンバー表を参照してください)。

召集されたメンバーは、開発経験2年の若手から10年超のベテランまで、専門もそれぞれに異なりました。チームはこの後もリリース計画に伴い増減し、メンバーの入れ替えが行われることになります。

当初予定ではまずビジネスの検証としてプロトタイプシステムを作成するということでした。そのための構築フェーズとして、わずか1ヶ月でのリリースが求められたのです。仕様としては、ビジネス向けに機能説明プレゼンテーションの資料、管理画面の画面構成図、それにユースケースがあるばかりでした。顧客のニーズをほぼ完璧に把握している水谷が、開発チームと密に連絡をとることでカバーしていく戦術を取ります。

そこで、開発チームはUMLautソフトウエアフレームワーク(注2)を利用することで工期の短縮を図ると共に、ビジネスロジックについては過剰な分析を行わずにスタートすることを決定しました。このフェーズで作りこんだソフトウエア資産については破棄もやむなし、という合意が取れていたためであり、この時点からXPの全面的な適用を意図してのことではありませんでした。

しかし、プロトタイプによる検証の結果、予想以上にビジネスニーズに適合したシステムが作られつつあることが判明。Umlautフレームワークを利用しているため、プロトタイピングとはいうものの確立されたアーキテクチャの上に一定レベルの品質を保ったコードが生産されてきていました。すべてを破棄するのではなくリファクタリングを行いつつ機能追加に耐えるものであるという判断によって、チームはXPへの道を歩みだすことになったのです。

(注2)UMLautは筆者らの所属するウルシステムズ独自のビジネス構築フレームワーク。システム開発のみならず、ビジネス構想から本番稼動までを一貫したオブジェクト指向技術によりサポートします。構築フェーズではソフトウエアフレームワークが高い開発生産性と設計品質をもたらします。

 

 

(注1)13館のシネマコンプレックスを中心としたアーバン・エンタテインメント・センター。http://www.mediage.co.jp/

Page  1  2  3  4 

このサイトについてプライバシーポリシーサイトマップ

お問合わせ

Copyright (C) 2000-2010 UL Systems, Inc. All Rights Reserved.