TOPプロジェクト管理> アジャイル開発の意義
アジャイル開発
今こそ再考するアジャイル開発

第1回:アジャイル開発を問い直す

著者:日本コンピューター・システム   新保 康夫
アッズーリ   濱 勝巳  2006/8/3
1   2  3  次のページ
アジャイル開発の意義

   XP(エクストリーム・プログラミング)の登場により、アジャイル開発は熱病のように様々な場面に取り上げられるようになってからすでに久しくなります。そのため、アジャイル開発はブームとしての取り上げられることはなくなりましたので、巷から聞こえる成功事例や失敗事例からアジャイル開発について問い直す時期にきているといえるでしょう。

   とはいえ、従来の開発手法・開発プロセスによるデスマーチは続いていますので、アジャイル開発の恩恵が開発現場に行き届いているとは思えません。そこで今、原点に戻ってアジャイル開発について基礎から考えてみます。

   アジャイル開発という言葉が取り上げられる際に、「いきなり実装する」「ペアプログラミングする」「Javaだ」などといわれることがありますが、本当にその言葉はアジャイル開発の特長をあらわしているのでしょうか。筆者は少し違うように思います。

   まずはアジャイルとは何かということについて、振り返ってみることにしましょう。


アジャイルが意味することとは

   アジャイルを英語のスペルであらわすと「Agile」となります。辞書で日本語の訳を調べると、「俊敏」もしくは「機敏」という意味であり、単なる「早い」とは違うようです。この「Agile」という言葉は、以前に「アジル」という読まれ方でちょっとしたブームになっています。「いかにすばやく市場機会を利益に変換できるか」ということに着眼した「アジル経済」という言葉が代表的なものでしたが、残念ながら一般の人々には定着はしませんでした。

   このように経済の「Agile」という言葉から考えても、既述のアジャイルの特長としてあげた「いきなり実装する」という意味があるとは考えにくいでしょう。おそらく、「スピード」と「変化」がキーワードではないでしょうか。「変化のスピードに対応する」もしくは「変化へスピードに対応する」ということがアジャイルということだと思います。


アジャイルプロセスは特定の開発手法ではない

   では、アジャイル開発とは何でしょうか。もう少しはっきりとさせるためには、アジャイルプロセスが何かを知っておく必要があります。まずは、システム開発プロセスにおける大まかな流れを見ることにしましょう。

   1970年代に誕生したウォーターフォールプロセスは現在まで続いています。開発手法や開発の考え方としてはそれ以前からありましたが、アジャイプロセスという形で登場したのは2000年に入ってからだと考えられます。

システム開発プロセスの歴史
図1:システム開発プロセスの歴史
出典:アジャイルプロセス協議会セミナー資料
(画像をクリックすると別ウィンドウに拡大図を表示します)

   このアジャイルプロセスを一言でいうと、「システムに対する要件の変化や追加を積極的に受け入れ真の要求に見合った、価値のある開発を実施するプロセス」ではないでしょうか。つまり、「アジャイル開発」や「アジャイルプロセス」という言葉は特定の開発手法を示すものではなく、あくまでプロセスなのです。


「早い、安い、旨い」で考えるアジャイル開発

   アジャイル開発を考える上で、もう1つ考えておくことがあります。それは、いわゆる「早い、安い、旨い」という言葉であり、アジャイル開発でよくいわれています。しかし、「早い、安い、旨い」とはどういうことでしょうか。

   まず、「早い」とは必要な要件を早い時期に提供することであり、明確化された要件を早期にシステムとして実現にすることが求められます。次の「安い」とは必要な要件をもっとも安く提供することであり、開発におけるムダを省いて品質と生産性を向上させ、適正なコストで提供することが必要になります。

   最後の「旨い」とは必要な要件を的確に提供することであり、顧客にとって投資効果の得られるものに注力して的確に成果物を提供することなのです。ただし、「旨い」という意味は顧客だけでなく、開発者にも「旨い」ということが必要になります。提供した価値を顧客が認めてその対価を支払い、Win-Winの関係ができてこそはじめて「旨い」といえるでしょう。


変化しつつあるビジネスに求められているアジャイル開発

   では、なぜアジャイル開発が求められているのでしょうか。それは、ビジネスまたは経営にて求められるものが絶えず変化しているからです。

現在、経営に求められるもの
図2:現在、経営に求められるもの
出典:アジャイルプロセス協議会セミナー資料

   このため、システム開発においては図2のような変化にあったビジネス価値が求められています。従来の開発手法や開発プロセスではなく、変化しつつあるビジネスにうまく対応できるシステム開発が求められるのです。

   そのため、その解決策の1つとしてアジャイル開発は注目を浴びているのではないでしょうか。なぜならば、アジャイル開発は「システムに対する要件の変化や追加を積極的に受け入れ真の要求に見合った価値のある開発を実施する」からです。

1   2  3  次のページ


日本コンピューター・システム株式会社  新保 康夫
著者プロフィール
日本コンピューター・システム株式会社
新保 康夫(しんぼ やすを)

本部企画室 コンサルタント、ITコーディネータ/ITCインストラクタ、システム監査技術者。
1975年 日本コンピューター・システムに入社。システム開発に従事し、プロジェクトマネージャを経て現在、コンサルタント業務に従事する。コンポーネントベース開発やアジャイル開発にも関与する。
「ソフトウェアプロセスレベルを向上させるCMMI活用術〜ソフトウェア開発の品格」をThinkITにて掲載。

有限会社アッズーリ  取締役社長  濱  勝巳
有限会社アッズーリ
濱  勝巳(はま  かつみ)

(有)アッズーリ 取締役社長。メーカ系ソフトウェア会社でファームウェアのプログラマを経て、フリーのエンジニアとして独立し、1999年に有限会社アッズーリを設立。オブジェクト指向、アジャイルプロセスを利用したエンタープライズアプリケーションを開発に従事し、現在は経営やプロジェクトマネジメントの視点でアジャイルプロセスを見つめ、情報システムベンダのあるべき姿を追求している。2003年よりアジャイルプロセス協議会副会長。


INDEX
第1回:アジャイル開発を問い直す
アジャイル開発の意義
  アジャイル開発手法の種類
  アジャイル開発に適したチーム編成