ITプロジェクト⑯ ウオーターフォールとアジャイル
ITプロジェクトは、通常は、要件定義を行なってユーザの要件を確定し、それに基づいて設計、開発、テスト、と後続の工程を続けます。上から下に流れるように進めるので、これをウオーターフォールと言います。
ウオーターフォールの欠点は、要件定義段階では、ユーザ側がイメージをつかめないので、要件が曖昧になってしがちなことです。具体的に動くものを見ないと、仕様を決められない、というわけです。
この問題を解決するために、要件定義と開発のサイクルを短くし、いくつかのフェーズにわける方法があります。これはウォーターフォールを2つか3つのフェーズに分けるやり方です。
それをさらに進めて、要件定義と開発を同時並行で進めるようなやり方があります。一般的に、アジャイル開発と言ったりします。
実際に動くものを見ながら要件定義ができるので、ユーザの要望を取り入れやすくなります。その一方で、要件が整理されないまま仕様化し、人が変わると要件も変わる、ということになり、手戻りが発生しかねません。最悪の場合、使われない機能がたくさんできて、費用が高くなる可能性があります。
そこで、開発全体をいくつかのパートにわけて、徐々に全体を作りこんでいくような進め方になります。各パートをスプリントと言ったりします。全体像を見ながら、スプリントを進めていくので、プロマネにはウォーターフォールよりも高い能力が求められます。
アジャイル開発が有効なのは、ECサイトなど、消費者動向を見ながら画面を作っていくなど、予測しにくい仕様を作っていくようなケースです。会計処理など、バックオフィス的な業務は、ウオーターフォールの方が、効率よく開発できることが多いようです。
プロマネの力量とプロジェクトの性質により、開発手法を決める必要があります。