Skip to content

Contracting for Agile Software Projects, Part 1

April 22, 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. Although the Agile Manifesto values customer collaboration above contracts, contracts are necessary when working with external suppliers. 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. Which contract forms are best for agile software development projects?

This is the first of two articles. In this article, we’ll look at the purpose and contents of a contract and some criteria for evaluating agile contracts. Next week, we’ll look at contracting alternatives for Scrum software projects and examine their strengths and weaknesses.

What is the purpose of a contract?

Contracts set the basic playing rules for the project. In theory, they are freely entered by both parties to create optimal conditions for successfully completing the project. In practice, contracts are often seen as competitive games, in which the objective is to place the other party at a disadvantage, especially if things go badly. Very large companies and governments often have standard conditions which have to be accepted en bloc as a pre-requisite to doing business with them. These conditions are seldom fair, so a reasonable project outcome depends heavily on a good relationship with the actual customer and avoiding recourse to the contract or the law. (The Agile Manifesto is right in this point: customer relationships are more important than written contracts!)

Even negotiated contracts do not always strive for a win-win situation, so you may need the help of experts. However from the customer perspective, contracts produce no added value. They are a waste product, so the effort spent negotiating & producing them should be minimized.

A contract apportions risk and reflects trust between the parties. What happens if something goes wrong? Who pays how much if the project is more difficult than expected? Who benefits if the project is finished earlier than planned?

The wrong playing rules can be detrimental to the success of the project. Bad rules can lead to unrealistic prices, time frames or functional expectations. Win-lose games are detrimental to project success. Quality most often suffers. Do you want the ‘A-Team’ or the ‘B-Team’ working on your project? Think carefully about how much pressure you put on the supplier.

How to evaluate contract forms

Commercial contracts can take many forms. What are the contract alternatives that are suitable for agile development projects? For any contract, I would look at:

  • How is the contract structured? What are the basic rules for delivering scope and invoicing revenue?.
  • How does it apportion Risk and Reward between customer and supplier?
  • How does it handle changes in requirements?
  • 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)?

If I did not draft the contract, I would also look for traps - contact negotiation can be competitive game. The question is what do you do if you find one? Try to get it taken out, or accept it and move on? Let's just call this a 'business decision'.

What information should a contract include?

The more trust that exists between customer and supplier, the less you will need to write down. In my experience, there are a couple of points which belong in every contract:

  1. Objectives of the project and of the cooperation between the companies. This follows pretty directly from the elevator pitch and product mission.
  2. An outline of the project structure - Scrum process, key roles and any differences from Scrum which apply.
  3. Key Personnel - who is responsible at the operational and escalation levels and what is required of these people?
  4. Payment and billing, including any bonus and penalty clauses
  5. Early and normal termination.
  6. “Legal Details.” Depending on local law and legal customs, you may need to limit civil liability, specify venue, ensure severability (that portions of the contract are remain in effect, even if parts of the contract are found invalid) or include other text to prevent various legal bad things from happening. Sample or reference contracts from your jurisdiction can be helpful (and are cheaper than a lawyer!).

Do you need to include the scope in the contract? Often it is present (at least in the government contracts I’ve had the privilege signing, it was included by law), but fixing the contract in scope also renders scope inflexible. If possible, it is better to specify how you will manage the scope (e.g. Product Backlog, Sprint contract), but operational details should be left to the project team.

Points 2, 3, 4 and 5 determine the playing rules for your project. If you get these right, you will have the foundation for a good project. But what are the best rules? There are at least a half dozen different kinds of contract, from time and materials to fixed price, fixed scope.

Next week, I will look at the different contract types and how compatible they are with Scrum and agile projects.

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

Interesting article! You

February 1, 2012 by Anonymous (not verified), 2 years 22 weeks ago
Comment id: 20868

Interesting article! You brought really interesting info on the wall! Thanks for sharing this with us! It's important to know all this things about a contract!
Aer Conditionat Ieftin

Great article Lot's of

February 13, 2012 by Anonymous (not verified), 2 years 21 weeks ago
Comment id: 20944

Great article Lot's of information to Read...Great Man Keep Posting and update to People..Thanks Templatesspot.com

I'm glad to see someone has

March 2, 2012 by NOnn (not verified), 2 years 18 weeks ago
Comment id: 21144

I'm glad to see someone has posted on this topic. Teams that I am currently involved in throw around the term Agile and assign all sorts of physical trappings and ceremonies to it that were never put forth in the Manifesto. They also like to measure how agile' they are with one of the many questionnaires that can be found. I wish they would stop concentrating on adding more checkmarks to a list and actually perfect the ones that are currently failing. sosh forfait sans engagement forfait illimite forfait sms illimite forfait mobile internet comparateur forfait bloque rio orange rio orange code rio sfr rio bouygues code rio virgin imc portabilite

Hi! Thanks for the great

March 5, 2012 by Anonymous (not verified), 2 years 18 weeks ago
Comment id: 21279

Hi! Thanks for the great information you havr provided! You have touched on crucuial points! George Minton

It is imperative that we read

March 7, 2012 by Anonymous (not verified), 2 years 17 weeks ago
Comment id: 21293

It is imperative that we read blog post very carefully. I am already done it and find that this post is really amazing. Emma Smith

Hi! Thanks for the great

March 8, 2012 by Anonymous (not verified), 2 years 17 weeks ago
Comment id: 21308

Hi! Thanks for the great information you havr provided! You have touched on crucuial points! funny facebook status

useful information on topics

March 10, 2012 by Anonymous (not verified), 2 years 17 weeks ago
Comment id: 21354

useful information on topics that plenty are interested on for this wonderful post.Admiring the time and effort you put into your b!.. culinary schools

Thanks for sharing the info,

March 11, 2012 by Anonymous (not verified), 2 years 17 weeks ago
Comment id: 21359

Thanks for sharing the info, keep up the good work going.... I really enjoyed exploring your site. good resource... Deep Fryer Reviews

This is a great inspiring

March 13, 2012 by ssimsim (not verified), 2 years 16 weeks ago
Comment id: 21377

This is a great inspiring article.I am pretty much pleased with your good work.You put really very helpful information. medical websites

I think that thanks for the

March 14, 2012 by Anonymous (not verified), 2 years 16 weeks ago
Comment id: 21387

I think that thanks for the valuabe information and insights you have so provided here. Proactol Plus

Absolutely fantastic posting!

March 17, 2012 by Anonymous (not verified), 2 years 16 weeks ago
Comment id: 21402

Absolutely fantastic posting! Lots of useful information and inspiration, both of which we all need!Relay appreciate your work. Tumblr Fan Mail

It is imperative that we read

March 21, 2012 by Anonymous (not verified), 2 years 15 weeks ago
Comment id: 21451

It is imperative that we read blog post very carefully. I am already done it and find that this post is really amazing. Cock Rings

This information is very

March 23, 2012 by Anonymous (not verified), 2 years 15 weeks ago
Comment id: 21462

This information is very interesting, I really enjoyed, I would like get more information about this, because is very beautiful, thanks for sharing Hindi songs Download - Bollywood songs Download - Punjabi songs Download - Hindi Bhajan Download - english songs Download - kannada songs Download housefull 2 songs jannat 2 songs

This is just the information

March 25, 2012 by Anonymous (not verified), 2 years 15 weeks ago
Comment id: 21489

This is just the information I am finding everywhere. Thanks for your blog, I just subscribe your blog. This is a nice blog..
Menopause

I just want to let you know

March 25, 2012 by Anonymous (not verified), 2 years 15 weeks ago
Comment id: 21492

I just want to let you know that I just check out your site and I find it very interesting and informative.. Bauch weg

Awesome blog. I enjoyed

March 29, 2012 by Anonymous (not verified), 2 years 14 weeks ago
Comment id: 21541

Awesome blog. I enjoyed reading your articles. This is truly a great read for me. I have bookmarked it and I am looking forward to reading new articles. Keep up the good work! spreets

Well, I haven't tried on this

May 21, 2012 by Anonymous (not verified), 2 years 7 weeks ago
Comment id: 22246

Well, I haven't tried on this software yet. But I already bought some minor tool from this. I will give it a try. Easy Finance

Well, that is a great idea to....

May 21, 2012 by Recruitment Agency (not verified), 2 years 7 weeks ago
Comment id: 22248

Well, that is a great idea to run business online with website of strategy online marketing. Thanks for your great reviews....Recruitment Agency

eon

May 21, 2012 by eon (not verified), 2 years 7 weeks ago
Comment id: 22252

Thank you for this enlightening post. It really provides a deep insight into the topic.
eon

seletar park residence

May 21, 2012 by seletar park residence (not verified), 2 years 7 weeks ago
Comment id: 22265

A very detailed and apt explanation for the topic. This post just opens up a lot of hidden layers. Thank you for the information.

river valley new launch

May 21, 2012 by river valley new launch (not verified), 2 years 7 weeks ago
Comment id: 22269

Your post is highly informative. Thank you for posting it and educating us all. Keep the good work up.

Nice information....

May 21, 2012 by Anonymous (not verified), 2 years 7 weeks ago
Comment id: 22271

Nice information, valuable and excellent design, as share good stuff with good ideas and concepts, lots of great information and inspiration, both of which I need, thanks to offer such a helpful information here......

Robertson Quay new condo

May 21, 2012 by Robertson Quay new condo (not verified), 2 years 7 weeks ago
Comment id: 22273

Your blog is amazing dude. I love to visit it everyday. Very nice layout and content .

Not underestimated...

May 21, 2012 by FranklinG (not verified), 2 years 7 weeks ago
Comment id: 22283

The client can sometimes try to be pushy because they're anxious to get rolling on a development project. Don't skip any preliminary steps because you will be the one who ultimately pays! Just a word to the wise! martial arts medina

This is a brilliant blog post. What i was actually looking for..

May 21, 2012 by savehealth.org (not verified), 2 years 7 weeks ago
Comment id: 22284

This article is something that will help me with my class assignment. It helped me to better understand another aspect of this topic. Thanks.Nice information, valuable and excellent design, as share good stuff with good ideas and concepts, lots of great information and inspiration, both of which I need, thanks to offer such a helpful information here......

What a fine looking group! Keep up the great work....

May 22, 2012 by kindle touch 3g review (not verified), 2 years 6 weeks ago
Comment id: 22288

What a fine looking group! Keep up the great work....

thanks

May 22, 2012 by joedavids (not verified), 2 years 6 weeks ago
Comment id: 22292

If I might --perhaps you should consider adding a few images. I don't mean to disrespect what you've said; its very enlightening, indeed. However, I think would respond to it more positively if they could be something tangible to your ideas. Keep it up, but put a little more into it next time.
graco duoglider double stroller

Nice blog on the different

May 22, 2012 by JennyH823 (not verified), 2 years 6 weeks ago
Comment id: 22316

Nice blog on the different pulls of a software delivery process.
Particularly. I liked these two phrases -
Agile is a common-sense compromise between pretending development is a predictable assembly line and seeing Engineering as an Artist's Colony engaged in random acts of creativity
AND
most enterprises cannot endure Engineering as a black box that randomly belches forth wonderful new stuff. independent of quarterly financial goals. Launch Calendars. and client expectations numéro rio

great

May 23, 2012 by joedavids (not verified), 2 years 6 weeks ago
Comment id: 22490

The next time I read a blog, I hope that it doesn't disappoint me as much as this one. I mean, I know it was my choice to read, but I actually thought you'd have something interesting to say. All I hear is a bunch of whining about something that you could fix if you weren't too busy looking for attention. IT Support Bournemouth

great

May 23, 2012 by joedavids (not verified), 2 years 6 weeks ago
Comment id: 22495

How-do-you-do, just needed you to know I have added your site to my Google bookmarks because of your extraordinary blog layout. But seriously, I think your site has one of the freshest theme I've came across. It really helps make reading your blog a lot easier.
San Francisco Chiropractor

wherewithal such as the one

May 23, 2012 by code avantage fnac (not verified), 2 years 6 weeks ago
Comment id: 22498

wherewithal such as the one you put here will be very positive for me! I'll post a link to this page on my blog. I'm sure my visitors find it very important.

Agile software development is

May 24, 2012 by anthonyansel (not verified), 2 years 6 weeks ago
Comment id: 22519

Agile software development is a group of software development methods based on iterative and incremental development, where requirements and solutions evolve through collaboration between self-organizing, cross-functional teams. It promotes adaptive planning, evolutionary development and delivery, a time-boxed iterative approach, and encourages rapid and flexible response to change. kasino

Помните народную примету:

May 25, 2012 by fdfgr (not verified), 2 years 6 weeks ago
Comment id: 22521

Помните народную примету: если к вам проявляют чрезмерное внимание - вас хотят, либо наебать, либо выебать.
Wohngebäudeversicherung

The need for better quality

May 25, 2012 by BRAD (not verified), 2 years 6 weeks ago
Comment id: 22528

The need for better quality control of the software development process has given rise to the discipline of software engineering, which aims to apply the systematic approach exemplified in the engineering paradigm to the process of software development.web design Sheffield

The modern definition of

May 26, 2012 by basilbenedict85 (not verified), 2 years 6 weeks ago
Comment id: 22566

The modern definition of agile software development evolved in the mid 1990s as part of a reaction against "heavyweight" methods, as typified by a heavily regulated, regimented, micro-managed use of the waterfall model of development. The processes originating from this use of the waterfall model were seen as bureaucratic, slow, demeaning, and inconsistent with the ways that software engineers actually perform effective work.Click here

If I hadn't pursued online

May 27, 2012 by Trey Johnson (not verified), 2 years 6 weeks ago
Comment id: 22577

If I hadn't pursued online work, I would have been a Scrum Master by now. In any case, great insights here!

http://gymhealth.org/

Whether the siding has

May 30, 2012 by xdff (not verified), 2 years 5 weeks ago
Comment id: 22624

Whether the siding has rotted, cracked, or there are pieces missing
modem usb

Whether the siding has

May 30, 2012 by xdff (not verified), 2 years 5 weeks ago
Comment id: 22625

Whether the siding has rotted, cracked, or there are pieces missing
modem usb

Agile software development is

May 30, 2012 by BlackMan (not verified), 2 years 5 weeks ago
Comment id: 22634

Agile software development is a group of software development methods based on iterative and incremental development, where requirements and solutions evolve through collaboration between self-organizing, cross-functional teams.Garage Door

It promotes adaptive

May 30, 2012 by simon (not verified), 2 years 5 weeks ago
Comment id: 22635

It promotes adaptive planning, evolutionary development and delivery, a time-boxed iterative approach, and encourages rapid and flexible response to change. It is a conceptual framework that promotes foreseen interactions throughout the development cycle. The Agile Manifestoweb design north east

great

May 30, 2012 by joedavids (not verified), 2 years 5 weeks ago
Comment id: 22649

Thank you for this blog. That's all I can say. You most definitely have made this blog into something that's eye opening and important. You clearly know so much about the subject, you've covered so many bases. Great stuff from this part of the internet. Again, thank you for this blog. IT Support Dorset

nice

May 30, 2012 by joedavids (not verified), 2 years 5 weeks ago
Comment id: 22651

The next time I read a blog, I hope that it doesn't disappoint me as much as this one. I mean, I know it was my choice to read, but I actually thought you'd have something interesting to say. All I hear is a bunch of whining about something that you could fix if you weren't too busy looking for attention.
twitter backgrounds

thanks

May 30, 2012 by joedavids (not verified), 2 years 5 weeks ago
Comment id: 22652

Hello, I love reading through your blog, I wanted to leave a little comment to support you and wish you a good continuation. Wishing you the best of luck for all your blogging efforts.
work socks

nice

May 30, 2012 by joedavids (not verified), 2 years 5 weeks ago
Comment id: 22657

How is it that just anybody can write a blog and get as popular as this? Its not like you've said anything incredibly impressive --more like you've painted a pretty picture over an issue that you know nothing about! I don't want to sound mean, here. But do you really think that you can get away with adding some pretty pictures and not really say anything?
litter

nice

May 30, 2012 by joedavids (not verified), 2 years 5 weeks ago
Comment id: 22661

Thanks for writing this. I really feel as though I know so much more about this than I did before. Your blog really brought some things to light that I never would have thought about before reading it. certification

thanks

May 30, 2012 by joedavids (not verified), 2 years 5 weeks ago
Comment id: 22664

I don't really know what you're talking about here. This cant be the only way to think about this can it? It seems like you know a lot about the subject, so why not explore it more? Make it more accessible to everyone else who may not agree with you? You'd get a lot more people behind this if you just stopped making general statements.
outdoor solar lights

great

May 30, 2012 by joedavids (not verified), 2 years 5 weeks ago
Comment id: 22665

Oh my goodness! You're so right! I really don't think anyone's put it that way before! You must be an expert on this because you just made it so easy to understand, made me want to learn more about it! Do you, like, study this subject because you seem to be so in tune with the issue? Keep it up, man. You've got a great mind for it!
how to stop smoking marijuana

great post

June 5, 2012 by chezguerilla (not verified), 2 years 4 weeks ago
Comment id: 22802

Buy Fellowes to organize your home and workplace!!

I appreciate to this

June 6, 2012 by Thanks (not verified), 2 years 4 weeks ago
Comment id: 22805

I appreciate to this interesting post... Windows Registry Repair

wow, it is so informative

June 6, 2012 by Anonymous (not verified), 2 years 4 weeks ago
Comment id: 22806

wow, it is so informative excellent effort i must say......thanx for sharing this...

wireless range extender

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

By submitting this form, you accept the Mollom privacy policy.

Best of AgileSoftwareDevelopment.com