システムの開発工程
1つ目は「ウォーターフォールモデル」です。
ウォーターフォール(waterfall)という言葉のとおり、滝のように上流から下流に向かって工程が進む手法です。先の工程に進んだら、前の工程には戻らないのが前提です。スケジュールを組みやすく、進捗状況が分かりやすいというメリットがあります。
一方で、欠陥があったり変更が生じたりすると、遡ってやり直さなければいけないため、スケジュールが大幅に遅れる点がデメリットです。
ウォーターフォールは納期まで余裕があり、大規模なシステムを開発する場合に適しています。逆に、遅れが生じたときのリスクが大きく、柔軟な変更に対応するのも難しいため、途中で仕様変更が予想される場合には適していません。
2つ目が「アジャイルモデル」です。
アジャイル(agile)という言葉には、敏捷(びんしょう)や素早いという意味があります。
アジャイルモデルの基本となるのが「イテレーション(iteration)」です。反復や繰り返しを意味する言葉で、ひとつの工程の中で「設計」→「開発」→「テスト」→「実装」を何度も繰り返します。実装して問題があれば、再び設計に戻り、同じ工程を繰り返すという流れです。問題が無ければ次の工程に進みます。
「重要な機能から先に実装できる」「欠陥や変更に対して柔軟に対応できる」などがメリットです。アジャイルモデルは、仕様の追加や変更が予想されるときに向いています。
素早く柔軟な反面、いつ次の工程に進めるのか分からないため、大規模なシステム開発のように、厳密なスケジュールを組むのは難しいでしょう。また、アジャイルモデルを採用している開発会社は、それほど多くありません。