システム開発の開発手法には、大きく3つの手法がある。
・ウォーターフォール型
・プロトタイピング型
・アジャイル型
また、それぞれを組み合わせたハイブリッド型も最近のトレンドである。
全ての基本(基礎)は、ウォーターフォール型開発である。
ウォーターフォール型開発が理解できてこそ、プロトタイピング手法であり、アジャイル手法である。
未熟な(悪質な?)開発ベンダは、ウォーターフォールの簡易版(プロセスを省略したり、成果物を省略する=つまりは手抜きである)をアジャイル手法と呼称する傾向にある。
いわゆる、安かろう悪かろうの炎上プロジェクトの典型である。
※何かを省略するのがアジャイル開発ではない。
■ウォーターフォール型開発
ウォーターフォール=滝のように、上流から下流へプロセスが連なる開発手法である。
具体的には、企画→要件定義→設計→開発→テスト→受け入れといったシステム開発のV字モデルに準拠する。
■プロトタイピング型開発
ウォーターフォール型開発の発展系であるが、上流工程(要件定義~設計)の段階でプロトタイプ(=モック)を作成し、UI/UXを優先に設計を進める手法である。
■アジャイル型開発
アジャイル型とイテレーション型と大別される。
どちらも反復開発なのだが、目的が異なる。
・アジャイル=結果・成果重視
・イテレーション=プロセス重視
プロセス重視のイテレーションは、超短期型ウォーターフォールとも言える。
ウォーターフォールは、プロジェクト全体を半年や1年2年といった比較的長期で考える。
アジャイルやイテレーションは、プロジェクトを細分化し1ピースを1週間や1ヶ月といった短期間のサイクルで考え、反復する事を前提としている。