SEや他のサイトでこの「アジャイル開発」に関するすべての記事を読むとき、私がいつも疑問に思っていたことが1つあります。
「従来の」ソフトウェアエンジニアリングでは、
- ユーザーの要件を収集し、
- これらの要件に基づいて仕様を作成し、
- それを顧客に渡し、これまでに行った作業の代金を請求します。
- 実装コストを見積もることができるように(大まかな)技術設計を行います。
- ユーザーに実装の価格を提示し、
- 顧客が仕様に署名してオファーを受け入れるまで待ちます。
- 設計、実装、テスト、
- ビル。
プロセス中に要件が変更された場合、希望する変更のオファー(価格付き)を送信します(または、変更が小さい場合は無料で行います。顧客は好きで、顧客はあまり頻繁に行いません)。 。
では、頻繁な要件の変更がプロセスの一部であるアジャイルプロジェクトでは、これは(財務的に)どのように機能しますか?
- 設計変更ごとにオファーを書いていますか?(これはかなり面倒ではないでしょうか?)
- または、固定価格について交渉し、顧客が要件を頻繁に変更しないことを望みますか?(リスクを伴う可能性があります。プロジェクトの完了を受け入れる前に、この機会を利用して新しい機能を何年もリクエストする顧客を知っています。)
- または、必要な合計時間に対して顧客に請求するだけですか?(事前にコストを知らない顧客にとっては危険です。)