Skip to content

10 Contracts for your next Agile Software Project

April 29, 2009 by Peter Stevens

As a customer or supplier of software services at the beginning of a Software Development Project, you know that there is too much at stake to work with just a verbal agreement. A contract is really just a set of written playing rules. The right rules increase the chance of success for both parties. The wrong rules make cooperation difficult and hinder progress. What are the available playing rules and what is the best approach for a agile project?

Last week, we looked at the purpose and contents of a contract and identified criteria for evaluating contracts for Scrum and agile projects. I suggested 4 points for comparing contract forms:

  • How is the contract structured?
  • How does it handle changes in scope (requirements)?
  • How does it apportion Risk and Reward between customer and supplier?
  • What model of customer relationship does it foster: competitive (my win is your loss), cooperative (win-win), indifferent (I don’t care-you lose) or dependent (heads-I-win-tails-you lose)?

This week, let’s look at a number of possible contracts, and see how they work with agile and Scrum development projects:

  1. the "Sprint Contract"
  2. Fixed Price / Fixed Scope
  3. Time and Materials
  4. Time and Materials with Fixed Scope and a Cost Ceiling
  5. Time and Materials with Variable Scope and Cost Ceiling
  6. Phased Development
  7. Bonus / Penalty Clauses
  8. Fixed Profit
  9. “Money for Nothing, Changes for Free”
  10. Joint Ventures

Sprint Contract

Working with Scrum, I have found the metaphor of a “Sprint Contract” to be helpful in understanding (and sometimes enforcing!) the relationship between product owner and implementation team.

Structure: This is not really a commercial contract, but simply the agreement between the Product Owner and the Team for one sprint.

Scope: The implementation team agrees to do its best to deliver an agreed on set of features (scope) to a defined quality standard by the end of the sprint. (Ideally they deliver what they promised, or even a bit more.) The Product Owner agrees not to change his instructions before the end of the Sprint.

Risk: a Scrum project can be considered is a series of mini projects with fixed parameters: Time (Sprint Length), Scope (Sprint Backlog), Quality (Definition of Done) and Cost (Team Size*Sprint Length). Only the scope can vary and this is measured every sprint.

Tip: Confirming Sprint Contract in via E-Mail or posting it on the project Wiki at the beginning of every Sprint is usually good idea. It builds trust, regardless of the underlying contractual form.

Tip: The Sprint contract can be referenced in the commercial contract. I have found that after a couple of releases, the commercial contract can wither down to a one page time & materials agreement, maybe with a cost ceiling for the quarter or next major release.

Fixed Price / Fixed Scope

Structure: Agree on the deliverables, deliver it. Send a bill. Customers like fixed price projects because it gives them security (or at least they think so).

Scope changes: The name says it all, doesn't it? The change request game (correction: change request process) is intended to limit scope changes. This process is costly, and the changes are usually not preventable. Since the customer almost by definition wants more scope, ending the project can be difficult. The supplier wants the customer to be happy, so the supplier usually yields. The words ‘et cetera’ are very dangerous in the specification of a fixed price requirement.

Risk: Obvious risk is on the side of the supplier. If the estimates are wrong, the project will lose money. Less obvious risks are the change request game, through which the supplier negotiates additional revenue through scope changes. If the supplier had badly underestimated the effort or risk, or quoted an unrealistically low price, the losses can even threaten the existence of the supplier, which also presents a problem to the customer.

Relationship: Competitive to indifferent. Customer generally wants to have more and the supplier wants to do less. The supplier wants the customer to be happy, so usually the supplier yields.

Tip: Specify the functional requirement with user stories. I’ll discuss strategies for hitting the target on a fixed price project in a future article.

Time and Materials

Structure: Work for a month, then send the customer an invoice. Suppliers like it, because the customer carries the risk of changing his mind.

Scope: Not a priori fixed. Sooner or later, the customer doesn't want to pay any more, so the project comes to an end.

Risks: carried 100% by the client. Supplier has little incentive to keep costs down. Effort to ensure that only legitimate effort and expenses are invoiced can be substantial.

Relationship: Indifferent. The supplier is happy when more work comes because more work means more money.

Tip: recommended for projects where the customer can better manage the risk than the supplier. This is often combined with a cost ceiling. How well it works can depend on how the scope is handled.

Time and Materials with Fixed Scope and a Cost Ceiling

Structure: Same as fixed price, fixed scope, except if the vendor gets finished early, the project costs less, because only actual effort is invoiced.

Scope: Same as fixed price, fixed scope.

Risks: This appears to represent the ‘best of both worlds’ from the customer’s point of view. If it requires less effort than expected, it costs less. But the once the cost ceiling has been achieved, it behaves like a fixed price project.

Relationship: Dependent. From the supplier’s point of view, the goal is to hit the cost ceiling exactly. There is no incentive for the supplier to deliver below the maximum budgeted cost. The customer has probably treated the project internally as a fixed price project, and so has no incentive little renounce scope to save money.

Time and Materials with Variable Scope and Cost Ceiling

Structure: Same as time and materials except a cost ceiling limits the financial risk of the customer.

Scope: Same as a fixed price, fixed scope project.

Risks: the budget will expire without achieving the necessary business value for the customer. Customer won’t get everything he asks for.

Relationship: Cooperative. The combination of limited budget and variable scope focuses both customer and vendor on achieving the desired business value within the available budge.

Tip: From experience, I would say this contract form mixes well with Scrum. The customer has control over each individual sprint. A constructive relationship means that even if problems develop on the way, the emotions are right to come to a mutually agreeable solution.

Phased Development

Structure: Fund quarterly releases and approve additional funds after each successful release.

Scope Changes: Not explicitly defined by the model. Releases are in effect time boxed. The knowledge that there will be another release next quarter makes it easier to accept postponing a feature to achieve the time box.

Risk: Customer’s risk is limited to one quarter’s worth of development costs.

Relationship: Cooperative. Both the customer and the supplier have an incentive that each release be successful, so that additional funding will be approved.

Tips: Venture capitalists often work on this basis. This mixes well with Time and Materials with Variable Scope and a Cost Ceiling. I have worked quite happily under this model. We simply specified the Release goal, hourly rate and cost ceiling in the commercial contract. The customer provided the product owner. Everything else was determined in the sprint contracts.

Bonus / Penalty Clauses

Structure: Supplier receives a bonus if the project completes early and pays a penalty if it arrives late. The amount of bonus or penalty is a function of the delay

Scope Changes: difficult to accept because changes potentially impact the delivery date, which is surely not allowed.

Risk: Does the customer have an incentive for early completion? The ROI arguments must be compelling and transparent. Otherwise the customer gets a cheaper solution the longer it takes.

Relationship: could be cooperative, but might degenerate into indifferent if the customer does not truly need the software by the date agreed.

Tip: Often applied for construction projects, e.g. roads, tunnels and runways, for which it works well. Scope changes are not issue and genuine economic costs drive the customer to achieve the deadline as well.

Fixed Profit

Structure: any project budget consists of effective costs and profit. The parties agree on the profit in advance, e.g. $100,000. Regardless of when the project is completed, the contractor receives the incurred costs plus the agreed profit.

Scope is fixed-

Risk is shared. If project finishes early, the customer pays less, but the supplier still has his profit. If the project exceeds budget, the customer pays more, but the supplier does not earn additional profit. After the target delivery date, the supplier may not invoice any more profit, just cover his costs.

Relationship: Cooperative - both have a clear incentive to finish early. The customer saves money and the supplier has a higher profit margin.

“Money for Nothing, Changes for Free”

Structure: This works with agile software projects because there is little or no work in progress. After each sprint, functionality is either complete or not started. Work is basically on a Time and Materials basis with a cost target, often with the intention that the project should not use up the entire project budget. After a certain amount of functionality has been delivered, the customer should realize that enough business value has been realized that further development is not necessary and can therefore cancel the project. A cancellation fee equal to the remaining profit is due.

Scope: can be changed. Planned but unimplemented features can be replaced with other stories of the same size. Additional features cost extra.

Risk: Shared. Both parties have an interest in completing the project early. Customer has lower costs, supplier has a higher margin.

Tip: If the budget is exceeded, the rules of the fixed profit or cost ceiling contracts can be applied. The fixed profit approach is more consistent with the goal of a fostering a cooperative relationship.

Joint Ventures


Photo courtesy of hydropeek@flickr

Structure: Two partners invest in a product of joint interest. Money is unlikely to flow directly between the partners in the development phase, but each party must have an ROI, which may come from revenue sharing or just benefits from using the software.

Scope: Defined to suit the needs of the partnership.

Risks: Two of everything. Decision chains can get long. Rivalries can develop between the teams. Different models for extracting value from the product can lead to different priorities differing willingness to invest.

Tips: Treat the project as a separate company: One team, co-located, with development and product marketing/product owner role. Think realistically about friendly and not so friendly separation scenarios.

Recommendations

I have worked quite happily for years with a phased development contract. The original contract was a fixed scope contract with a cost ceiling, but as we worked together and built up the level of trust, the surrounding text just withered away. Trust, a bit of boilerplate, the sprint contract and a quarterly sign-off from top management worked quite nicely.

“Money for nothing, changes for free” contract turns the advantages of the Scrum and agile development processes into a competitive advantage.

  • By prioritizing and delivering business value incrementally, the chances of an outright failure are dramatically reduced. This advantage is passed on to the customer.
  • Furthermore, it’s a cooperative model, so it offers incentives to both parties to keep the costs down.
  • The early cancellation clause rewards the higher productivity achieved with Scrum teams. On the down side, this clause feels a bit like a 'golden parachute' which may not be politically acceptable in the current economic climate.

This contract might be work with a cost ceiling although I would be wary of losing the cooperative relationship.

The contract form lays the important groundwork for a successful project. And the Agile Manifesto got right: working with the customer is more important than the contract. So whatever you do, keep the customer relationship positive!

Further reading

About the Author: Peter is an independent Scrum Trainer and Coach. His mission is to help you realize complex projects. He provides coaching, training and project management to help you get started with Scrum, save projects in crisis and make your IT operations leaner and more effective.

Originally from the US, Peter now lives in Zurich. He studied Computer Science at Colgate University, started his career at Microsoft, and is now a Certified Scrum Master (Practitioner). He speaks English, German, French and Italian. An Instrument rated private pilot, his current hobbies are sign language and Sudoku.

Comments

Excellent Article

April 29, 2009 by Chris Parsons (not verified), 46 weeks 1 day ago
Comment id: 2484

An excellent, comprehensive, informed and insightful article. Well done!

We've been feeling our way with agile contracts for a number of years now, and have settled on something similar to Phased Development and the Sprint Contract.

I've written up my continually evolving thoughts [1] - might be of interest.

Thanks
Chris

[1] http://blog.edendevelopment.co.uk/2009/01/09/billing-with-integrity-part-1/

Thanks

April 29, 2009 by peterstev, 46 weeks 1 day ago
Comment id: 2486

Hi Chris,

Yes, I think once the trust has been established, you don't really need anything more. The only drawback is for highly productive teams: you finish faster and earn less. It doesn't help your margins (although it does help you win the business).

Cheers,

Peter

French translation

May 8, 2009 by Fabrice AIMETTI (not verified), 44 weeks 6 days ago
Comment id: 2531

Very good article. I have translated it in french language. Available on 10 Contrats pour votre prochain Projet Logiciel Agile

Translations

May 9, 2009 by peterstev, 44 weeks 5 days ago
Comment id: 2533

Hi Fabrice,

Chouette! Merci beaucoup! French was my first foreign language and still my favorite. Could you contact me offline?

I am aware of two other independent translations:

There is also a Portuguese summary on Infoq's Brazilian portal based on an article by Chris Sims.

If any one else does a translation, please let me know & I will update this list.

Thanks,

Peter

Great article!

May 11, 2009 by Anonymous (not verified), 44 weeks 3 days ago
Comment id: 2538

Its an awesome article, very clear and informative. Thanks so much for sharing your knowledge!
--
Leonardo De Seta

Hey! Leonardo! We

May 11, 2009 by Artem, 44 weeks 3 days ago
Comment id: 2539

Hey! Leonardo!
We (AgileSoftwareDevelopment in general and I and Peter in particular) are actually trying to contact you (about translation to Spanish) for several days already, but your contact info seems to be hidden from internet. Please, contact us at http://agilesoftwaredevelopment.com/contact or by shooting an email to artem.marchenko@gmail.com

True, but in my experience,

May 16, 2009 by Chris Parsons (not verified), 43 weeks 5 days ago
Comment id: 2570

True, but in my experience, finishing faster and earning less almost always translates to repeat business, good referrals and therefore stable revenue streams in the future. Often clients use the budget they save for more work with us, so it's all good in the long run :)

Chris

Questions About Your Product

May 26, 2009 by David Hu (not verified), 42 weeks 2 days ago
Comment id: 2618

I have some questions about your products.

1. Does your application work over a browser?
2. What platform does it run on? i.e. .NET, Java or PHP
3. Does it work with either SQL Server or Oracle?

Collaborative Agile Contracts

June 3, 2009 by Lars Thorup (not verified), 41 weeks 1 day ago
Comment id: 2656

We have successfully used a new type (the 11'th?) of agile contract. See more at The Vertical Slice.

Agile Contract Templates (Time and Materials with Ceiling)

August 13, 2009 by Sam (not verified), 31 weeks 5 hours ago
Comment id: 2957

This is a *great* article, Peter. Thank you very much for writing it. It helped my thinking a lot.

For a project I'm currently initiating, both myself as the client and the vendor are in agreement that we would like to try a Time and Materials with Cost Ceiling model (with the addition of a Kill Fee so the vendor isn't penalized for their flexibility should we exit the contract on short notice). The problem is, neither of us can find a template for a contract anything like that. We could hire a lawyer, but surely someone out there has a template they can share for each one of these 10 contract types, right? Do you have any idea where I could find a sample contract that would be a good starting point for a Time and Materials with Cost Ceiling model?

Another awesome service you could provide would be to have your readers help you round up a sample contract for each one of these models. That would be hugely helpful!

Agile Agreements Website Coming Soon!

September 22, 2009 by Artem, 25 weeks 2 days ago
Comment id: 3536

[Artem: This comment was deleted by mistake. I restored it, but probably formatting is not correct. Original comment author is Regina Mullen. Sorry for the misdeletion, Regina. High amount of spam makes me over-react sometimes]

Thank you so much for your hard work on this! Drawing on inspiration from my
own work negotiating software licensing and distribution agreements, the work
of Thorup and the folks at Best Brains and THIS article, I'm building a site
to do exactly that: provide free templates for agile-supportive contracts. My
background is law, so the site will benefit greatly from folks interested in
this article. The domain where it will live is www.agileagreements.org.

The
important thing is that it will be entirely free, so user contributions AND
requests will be very welcome. If you want to dump contracts on the
system,--or just provisions you like or dislike, that's fine too. I'll work
them up, by removing identifying information. and add gloss from a legal
perspective, as well as solicit comments from the Agile community, the legal
community and business managers.

The blog and other stuff will live at
agileagreements.com and I'll put out regularprogress reports, as well as
share wisdom from around the web. Co-blogging and re-blogging are of course
welcome! Anyone who is interested to participate, please join me in this
effort. I hope it will be up in very rough form by the end of the month! of
course, it'll start simple and get complex later, so bear with me!

Contract templates

October 12, 2009 by Anonymous (not verified), 22 weeks 3 days ago
Comment id: 3849

Hi,

Did you eventually manage to get hold of these templates for the various contract types. If so, are you able to share the templates?

I will be much obliged

thanks
martin
shan008@hotmail.com

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Allowed HTML tags: <a> <b> <i> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img> <br> <blockquote>
  • Lines and paragraphs break automatically.
  • Web page addresses and e-mail addresses turn into links automatically.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>. Beside the tag style "<foo>" it is also possible to use "[foo]".

More information about formatting options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Enter the characters (without spaces) shown in the image.

Best of AgileSoftwareDevelopment.com