第2 アジャイル開発とウォーターフォール開発との比較ザが実際に動くソフトウェアを見るのはプロジェクト後半のテスト段階であることが多いが、ユーザが実際に動くソフトウェアを目にして、想定していたイメージとの齟齬を発見し、変更を求めたとしても、やり直しのためには大きなコストと時間が必要となるため、変更は受け入れられにくい(開発を外部委託している場合には、このことが紛争の原因となる。)。 かくして、開発されたプロダクトは、ユーザが真に望むプロダクトからかけ離れたものとなり得る。2 ウォーターフォール開発と比較した際のアジャイル開発の特徴(メリット) これに対して、アジャイル開発は、そもそもユーザのニーズが変化することを前提とし、その変化を的確に反映したプロダクトを開発することを目的とする。アジャイル開発においては、開発対象を機能ごとに細かく分けて優先順位を付け、ユーザにとって価値の高いものから順に開発を行う。後から必要となった機能も開発対象に含めることができるほか、一旦開発対象に含めた機能でも、要求事項が変化して不要となれば、開発対象から除外することができる(メリット1:ニーズ変化への対応)。例えば、当初開発を想定している機能としてA、B、Cがあった場合、ウォーターフォール開発ではA、B、Cを要件定義において固定し、それら全てを対象に計画的な開発が行われるが、アジャイル開発では、このうちユーザが最も必要としているAをまず開発する。その間に、ユーザの要求事項の変化でBが不要となり、さらにCよりDが優先となれば、Aの後にDを開発することになる。このように、プロジェクトの途中で要求事項を柔軟に追加・変更する仕組みがプロセスに組み込まれている。 次に、ウォーターフォール開発では原則として開発対象全体を確定してから開発を開始するが、アジャイル開発では、全体の仕様が確定していない段階でも、必要最小限の機能から先行して開発を始め、小さな状態でリリースして、その後機能追加を重ねることができる(メリット2:迅速な開発着手とリリース)。 また、アジャイル開発では、一旦プロダクトをリリースした後も、ユーザ9
元のページ ../index.html#27