Proponents of agile methodologies suggest approaches such as multi-stage contracts, target cost contracts, target schedule contracts, shared benefit contracts, and variable scope contracts.

Are there other options available, and are there any case studies or informed discussions of these various approaches?

  • If you want to sell copies of your software, you can have a look at Joel Spolsky's irreverent examination of pricing models. Dec 27, 2010 at 20:30
  • Is this for the estimation of project costs?
    – aggietech
    Dec 27, 2010 at 22:02
  • 1
    I'm working with a project manager who is putting together a contract for an outsourced project. In the past, his company has relied exclusively on fixed-fee contracts and they are looking for alternative approaches which allow for more flexibility.
    – Fortuity
    Dec 27, 2010 at 23:12

1 Answer 1


Cost-plus contracts or indefinite-delivery/indefinite-quantity (IDIQ) contracts are suited to software development efforts.

Cost-plus contracts can be useful. There are a few variants that include a fixed fee on top of the provider's costs, incentive-based fees for meeting and exceeding targets and goals, and percentage-of-cost.

IDIQ contracts are used to deliver a product or service over an extended period of time, often years. Minimums and maximums are defined and the cost is based on individual task orders.

Both are more closely aligned with Agile methods than fixed-price and cost-and-materials, but I'd suggest that cost-plus is probably the most closely aligned. The transparency of Agile methods can give the customer more insights into the costs incurred by the customer and opportunities to make decisions to appropriately reduce costs. The increased transparency also gives more opportunities for monitoring performance against goals for incentive-based awards.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.