アジャイル型開発は、リスクの最小化と、迅速で柔軟な開発を目指すのに有効な手法とされていますが、具体的にはどんなメリットがあるのでしょうか? ウォーターフォール型開発と比較しながら解説します。
カップめんを待つ間に、電車の待ち時間に、歯磨きしている間に“いまさら聞けない”ITトレンドが分かっちゃう! 今さら聞けないITの最新トレンドやビジネス戦略を、体系的に整理して分かりやすく解説する連載です。「この用語、案外、分かっているようで分かっていないかも」「IT用語を現場の社員にもっと分かりやすく説明できるようになりたい」――。情シスの皆さんのこんな課題を解決します。
ユーザーの要求は時間とともに変化します。ビジネススピードが加速する中、この要求が変化するスピードもまた早まっています。いま、情報システムの開発には、このような変化への即応性がこれまでになく求められているのです。
しかし、従来は、つくるべきシステムの要件を「全て」決めてしまってから開発をスタートする「ウォーターフォール」手法が主流でしたが、このやり方では対応できない事態も増えてきたのです。そこで、注目されているのが「アジャイル開発」です。
アジャイル開発の本質は、「全部つくらない」ことです。これが、ウォーターフォール開発と本質的に異なる点です。アジャイル開発は「業務上必要性が高い機能や業務プロセスを選別し、優先順位を決めて、そこにリソースを傾注することで、本当に使うシステムのみをつくり上げよう」という考え方です。結果として、短期間かつ高品質での開発が実現するのです。
一方、ウォーターフォール開発は、「全部つくる」ことを前提とします。ユーザーの要求が全て決まらなければ、開発に着手できません。そのため、“将来使うかもしれない機能”も含め、推測を交えて仕様を固めていきます。また、いったんつくり始めると、途中で変更することは難しく、全てをつくり上げることが優先されます。変更や品質保証は、全部コードを書き終えた最後の最後に対応しなければなりません。
アジャイル開発の手法を使っても、「全部つくる」のであれば、ウォーターフォールと本質的には何も変わりません。アジャイル開発は、「全部つくらない」代わりに、短期間・高品質・変更への柔軟性を担保しようというもので、「全部つくる」こととトレードオフの関係にあるのです。
アジャイル開発では、「ビジネス価値が高い=業務を遂行上必須」のプロセスを実現する機能に絞り込んで開発対象を決めていきます。「必要かどうか分からない」「あった方がいいかもしれない」というものはつくりません。そして、おおよその工数と期間の見通しを立てて開発を始めます。
ビジネス価値で優先順位を決められた機能を順次完成させていくため、途中で優先順位が変われば入れ替えることができ、変更要求に柔軟に対応できるのです。
重要なところから完成させるので、重要なところほど早い段階から検証され、バグは徹底してつぶされます。また、開発の後期になるほど重要度が低くなるので、問題が生じても全体への影響は少なく、品質が高まります。
アジャイル開発の狙いを整理すると、次の3つになるでしょう。
そもそもアジャイル開発が生まれたきっかけは、1986年に日本の経営学者である野中郁次郎氏と竹内弘高氏が、日本の製造業の高い生産性と効率を研究した論文を『ハーバード・ビジネス・レビュー(Harvard Business Review)』誌に掲載したことにあります。それを読んだジェフ・サザーランド(Jeff Sutherland)氏らがシステム開発への適用を考え、1990年代半ばにアジャイル開発の方法論としてまとめました。このことから、アジャイル開発には、伝統的な日本の「ものづくり」にある「不断の改善により、品質と生産性の向上を両立させる」という精神が埋め込まれているといってもよいでしょう。
日本IBMで営業として大手電気・電子製造業の顧客を担当。1995年に日本IBMを退職し、次代のITビジネス開発と人材育成を支援するネットコマースを設立。代表取締役に就任し、現在に至る。詳しいプロフィルはこちら。最新テクノロジーやビジネスの動向をまとめたプレゼンテーションデータをロイヤルティーフリーで提供する「ITビジネス・プレゼンテーション・ライブラリー/LiBRA」はこちら。
Copyright © ITmedia, Inc. All Rights Reserved.