なんと言っても「予算を確保するため」です。
受託開発では、顧客企業内で予算を確保してもらわなくては開発は始まりません。ですので「予算の確保」が何より優先します。
顧客企業内でITシステムに投資するか決定する際に、完成時期が未定で実装される(最終的な)機能が不確定では判断のしようがありません。このためITプロジェクトを立ち上げる際は必ず要件と期間を決定する必要があります。
逆に純粋なアジャイルソフトウェア開発を行うには次のようなプロジェクトが考えられます。
- C3プロジェクトの様なコンサルタント契約。
- 自社製品開発。
- 開発後の保守。ただし、それなりの予算規模が必要。