2005年9月 9日
ソフトウェア開発手法XPが顧客にもたらすメリット - 「XP祭り2005」感想
SEの進地です。
ソフトウェア開発手法のXP (e-Words: XPとは(eXtreme Programming)) は、従来のウォーターフォール型の開発手法では市場の要求の変化に合わせて柔軟な戦略変更、設計変更が困難であるという認識の下、設計をシンプルに保ち、顧客・開発チームのコミュニケーションを重視し、フィードバックを積極的に受け入れて修正・再設計していくというような特徴を持った開発手法として注目されています。
そんなXPの国内における普及を目的とする日本XPユーザグループ(XPJUG)がその年の集大成として開催する「XP祭り 2005」に参加してきました。
今回の祭りのテーマは
「XPのみらい ~これから始めてもいいじゃないか!~」ということで、今までXPをやってきた人も、そして、これから始めてみようという人も、これからのXPとソフトウェア開発のありかたについて考えられる、そして、これからXPを始めるきっかけとなるような、“気づき”の多い“祭り”にします。
ということで、私の“気づき”をレポートしようと思います。
○プロジェクトファシリテーション
PF(Project Facilitation)とは、プロジェクトの成功とQoEL(Quality of Engeneering Life)との双方を達成する為に、プロジェクト内の雰囲気作りを常に意識していくプロジェクトの運営哲学です。
「プロジェクトが終了した時に、顧客、開発チーム共々ボロボロになっていた…これは何かおかしいんじゃないか?」
講演者の平鍋さんはそう仰られていました。
ボロボロになってしまったプロジェクトチームはプロジェクト終了後に露と消えます。貴重な体験も忌むべき存在になってしまいます。次のプロジェクト時はまた最初から学習のやり直しです。それは当然、顧客の負担するコストに跳ね返ってきます。もちろん顧客自身も疲弊します。
それはやはりおかしいし、開発チームにも顧客にも不幸で損なことだと思うのです。
○XPワークショップ
4人毎にチームを組み、XPのプラクティスから4つを(あみだくじで)選択します。
以後、チームで選択したプラクティスと主催者側から与えられたプラクティスとの関係を紙上に図で表現してゆくという内容です。
ワークショップの流れは次の通り。
自己紹介→図作成→振り返り→図作成→振り返り→問題分析→気づきの提案
図を作成する度にチーム全員で作業の振り返りを行う点がポイントです。KPT法を使って良かった点、悪かった点、次回に心がけることをワイワイと話し合うので、初対面だというのに驚くほどすぐにメンバーが打ち解けることができます。
私は、こうした振り返りを中心とした共同作業は、顧客と開発チーム間のコミュニケーションツールとして非常に有効であると気づきました。一緒に一枚の紙に向かって作業をすることで対決姿勢を避け、問題と私たちという協調関係をスムーズに構築することができます。
○パネルディスカッション
「架空の進捗がとにかくダメ」という言葉がSeasarの開発者ひがやすお氏から発せられたのが印象的でした。
この言葉は、進捗はパスした受け入れテストケース数で測るということを意味します。「開発チームが3週間もの間ずっと進捗率85%と報告し続けてきた」などという話に象徴されるようなソフトウェア開発の実態があり、それが顧客を苦しめ、顧客と開発チームの仲を悪化させ、結果開発チーム自身が苦しむという悪循環を生み出してきた実態がありました。
「ソフトウェア開発が難しいのはプロセスもソフト自身も見えにくいからだ」と平鍋さんが仰っていたのですが、進捗というものも、まさにこれまで見えにくいものとして放置されていた実態があったわけです。
問題は目に見えなくては認識できず、また改善もできません。誤魔化しも可能になってしまいます。受け入れテストを通した件数という客観的な数値に進捗という概念を落とし込むことによって、顧客も納得できる嘘のない進捗報告が可能になります。
顧客による受け入れテスト、そしてそのフィードバックを重視するXPは、顧客自身を守ることにも寄与できる、改めてそう思いました。
○まとめ
XPは、プログラマには人気があります。それは日々プログラマが現場で感じている無駄や非合理に対して「間違っている、そして、こんな方法がある」と明確な手法を提示しているからでしょう。XPやPFがプログラマ、そして開発チームにとって理想的であることは確かです。シンプル設計、コード重視、オンサイト顧客、雰囲気作り──開発側の視点に立てばいずれも魅力的です。
しかしながら、こうした魅力は果たして顧客に対して益するところがあるのか?そこをしっかり考え、そして提示していかなければ顧客の理解は得られず、採用案件は増えず、全ては絵空事で終わってしまいます。
XPの顧客にとってのメリットとは何なのか?
それは顧客も成長しうる、変化しうる存在であることをXPは許容しているという点ではないでしょうか。ウォーターフォール型の開発手法では、顧客の要求は変化しないもの、滅多に変化してはいけないものでした。しかしXPによって、顧客は変化する権利、成長する権利を手に入れることができるのです。そして、さらに重要なことは、その成長は開発チームと共になされるということです。「顧客 vs 開発チームの構図」ではなく、共に問題に立ち向かう協調関係を築いていけるのです。この関係はプロジェクト終了と共にリセットされる関係ではありません。次に繋がる人間関係が残るのです。つまり、XPでは顧客はチームの一員なのです。
ビジネス環境の急速な変化に加えて、これからは地球環境や福祉といった社会的ニーズに応えるソリューションを顧客も開発チームも提供してゆかなくてはなりません。顧客と開発チームが一丸となって問題解決に取り組むXPは、顧客志向から社会志向に市場ニーズが移り変わる現在、もっと積極的に採用を検討すべきではないでしょうか?
KPT法
K(Keep)、P(Problem)、T(Try)を紙上に表記して、プロジェクト、またはイテレーション単位の振り返りを有効化する技術。
カテゴリー: XP・アジャイル(システム開発)
タグ:
« 前の記事:[Clip] GoogleがReuters買収? 富裕層マーケティング、GPLがソフトウェア特許に罰則
» 次の記事:米Ford、広告予算の45%をデジタルメディアに投入
アークウェブの本
Zen Cartによるオンラインショップ構築・運用テクニック―オープンソース徹底活用

内容充実のZen Cart公式本(v1.3対応)がついに発表です。アークウェブのスタッフをはじめZen-Cart.JPの中心メンバーが共著で執筆しました。続きを読む
新着はてブ
カテゴリー
- Shopify(ショピファイ)オンラインショップ構築
- NGO・NPO向け情報
- スマートフォン
- だれもが使えるウェブコンクール
- mixiアプリ
- OpenSocial (システム開発)
- アークウェブのCSR
- A-Form, A-Member, A-Reserve(MTプラグイン)
- Ruby on Rails(システム開発)
- necoったー
- Miqqle
- WebSig24/7
- ecoったー
- ビッグイシュー(The Big Issue)
- CSR(企業の社会的責任)
- マッシュアップ
- RIA (システム開発)
- セキュリティ(システム開発)
- 唐松(アクセス解析)
- Ajax (システム開発)
- テスト(システム開発)
- データベース
- PukiWiki
- Web 2.0
- SEO・サーチエンジン最適化
- XP・アジャイル(システム開発)
- Web・ITニュースクリップ
- Webアクセシビリティ
- Webデザイン
- SEM・サーチエンジン広告
- Webユーザビリティ
- CMS・MovableType
- Zen Cart(オンラインショップ構築)
- Snippy(SNS・ソーシャルブックマーク)
- アークウェブ
- オープンソース
- CMS(コンテンツマネジメント・システム)
- Webマーケティング
- AMP
- SNS