PR

 変化が激しい環境の下でソフトウエアを開発するのに、長期間変更ができないウォーターフォール型の開発スタイルでは、完成する前にソフトそのものが陳腐化してしまいます。ビジネススピードに合わせてソフトウエアを提供できる方法論が必要になります。

 その一つの解決策となっている開発技法がアジャイル開発です。1回の開発期間を短く設定し、変化に素早く対応することを目指しています。アジャイル開発の中でもよく使われているのが「Scrum」と呼ばれる手法です。

 Scrumは長期的な計画を作ることよりも、短期的な開発から得られた経験に基づき、次の計画を見直していくことを繰り返します。こうしたフィードバック・サイクルを繰り返すことで、開発するソフトウエアを正しい方向に導こうとしています。


 従来型のシステム開発では「ウォーターフォール型」の方式が主流でした。この方式はまず要求を定義し、設計、実装、テストと順に開発を進めていくものです。これまで日本のシステム開発プロジェクトの一般的な進め方として、ほとんどのシステムがこのモデルに沿って計画を立てて実行してきました。

 現代の開発プロジェクトは、従来に比べて変化が激しく不確実性が高い環境に置かれています。企業が置かれているビジネス環境は激しくなる一方で、新たな競合企業が次々に現れて、新サービスを展開しています。こうした新興企業と競うにあたって、開発期間内にどういった機能を追加する必要があるかなどを予測することは難しくなっています。

図1●ウォーターフォールでは開発期間が長く、不確実性に対応しづらい

 ウォーターフォールでは最初に要件を定義する必要があるため、変化を取り入れることが難しくなります。想定できなかった状況変化により喫緊に必要な機能が現れると後手の対応に回らざるを得ません。途中で要件を追加しようとすると全体のスケジュールが乱れ、無理が生じてしまいます。またコストは増える一方となるのです(図1)。