要求定義からプログラム、テストという一環した仕組みを細かい機能別に行うのがスパイラル型の特徴です。通常、機能開発を平行して稼働させることが多いので渦を巻く用に見えることから命名されているようです。スパイラル型では統一した要求定義書を作成し、工程の見積もりを作ったあとは個別の機能ごとにスケジュール管理されていきます。機能別の開発では要求定義から作成されることになり、小規模なシステム開発を蓄積しながら大きなシステムを作っていく仕組みです。
各開発ではテストが終わった段階で利用者に確認を取る作業が行われます。プロトタイプ型の開発の良い点も取り入れた手法です。ただし、小規模とはいえたくさんの人員を投入して作ったシステムはある程度の完成度まで上がったものであり、利用者チェックの段階で手戻しが必要な場合は他の開発にも影響が出てしまうことがあります。基本的に各開発では手戻しの影響を最小限に抑えるように進めることが多いのですが、人員を余分に確保せずに1つの機能が終わったら他の開発へ回すことで人員を減らしているプロジェクトの場合は工期計画が狂っていくことになります。
小さな狂いが積み重なることが多いのがスパイラル型の特徴であり、最終的にウォーターフォール型よりも工期がかかってしまったという事案も多いようです。スパイラル型を利用する場合には全体の工期見積に時間をかけ、機能毎にプログラムの難易度も考慮して余裕のあるスケジュールにすることが大事です