aspose file tools*
The moose likes Agile and Other Processes and the fly likes Agile client contracts Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Spring in Action this week in the Spring forum!
JavaRanch » Java Forums » Engineering » Agile and Other Processes
Bookmark "Agile client contracts" Watch "Agile client contracts" New topic
Author

Agile client contracts

Don Morgan
Ranch Hand

Joined: Jul 24, 2003
Posts: 84
I have been thinking about how contracts are structured with companies that provide services through Agile Teams.

Traditionally contracts were one of two types:

1.) time and materials, where the client simply gets a bill, say each month, for services rendered and any other expenses incurred by the contractor/consultants; and

2.) fixed price, where the work is scoped out upfront and the service provider and customer agree on what needs to be done and what price will be paid for that work.

Typically clients prefer fixed price, which reduces their risk. But, for Agile teams, the whole idea of a detailed specification upfront, a big upfront effort, does not sit well. So what do Agile teams do?

I did a brief investigation on the web and found some articles on "target-cost" contracts, which some firms have found work well for both the client and the service provider.

Anyway, I know a number of Agile gurus are active on Javaranch and I would be interested in hearing real-world stories as to how Agile teams structure their contracts with clients, and, if anyone is able to, posting even a heavily blacked out client contract (or a template not yet filled out) would be quite interesting and I think would make for some good discussion.


Don Morgan, Founder
www.DeveloperAdvantage.com - FREE Audiobooks for Software Developers
Ilja Preuss
author
Sheriff

Joined: Jul 11, 2001
Posts: 14112
Originally posted by Don Morgan:
Typically clients prefer fixed price, which reduces their risk.


That "reduced risk" is mostly illusion, I'd argue. In fact I'd say that fixed price contracts *increase* the client's risk of not getting the system they need, for a number of reasons.

Anyway, I know a number of Agile gurus are active on Javaranch and I would be interested in hearing real-world stories as to how Agile teams structure their contracts with clients


All I know is that our management is struggling with this idea, too...


The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Scott Ambler
author
Ranch Hand

Joined: Dec 12, 2003
Posts: 608
Fixed price is an incredibly risky, particularly from a financial point of view, way to work. In Examining BRUF I go into greater detail. On a similar vein, I recently posted Comparing Budgeting and Estimating Techniques.

Having said this, the financial people in your organization (who should know better based on experience) will still insist on fixed price most of the time. Options that I've tried in the past:
1. Educate them on the foolishness of this. My arguments are captured in the essays above.
2. Break the project into chunks, and bid one chunk at a time (this almost always motivates a serial, non-agile approach though).
3. Suggest a low-rate T&M approach which covers my cost plus performance bonuses for delivering working softwaree.
4. Walk away. Stupid customers are bad customers.

- Scott

- Scott


<a href="http://www-306.ibm.com/software/rational/bios/ambler.html" target="_blank" rel="nofollow">Scott W. Ambler</a><br />Practice Leader Agile Development, IBM Rational<br /> <br />Now available: <a href="http://www.ambysoft.com/books/refactoringDatabases.html" target="_blank" rel="nofollow">Refactoring Databases: Evolutionary Database Design</a>
Gerardo Tasistro
Ranch Hand

Joined: Feb 08, 2005
Posts: 362
Originally posted by Scott Ambler:
2. Break the project into chunks, and bid one chunk at a time (this almost always motivates a serial, non-agile approach though).


Why is that? Looks more like a supergroup of agile. In the sense that you start to deliver working code early. And also guides you to know which future modules are needed next if at all.
Scott Ambler
author
Ranch Hand

Joined: Dec 12, 2003
Posts: 608
Usually projects get chunked into:
1. RFP
2. Design
3. Implementation, Test, Delivery

The US Government loves to work this way, for example.

- Scott
Ilja Preuss
author
Sheriff

Joined: Jul 11, 2001
Posts: 14112
Originally posted by Gerardo Tasistro:

Why is that? Looks more like a supergroup of agile. In the sense that you start to deliver working code early. And also guides you to know which future modules are needed next if at all.


If every chunk is defined as working software, then it's certainly more Agile than delivering in one big chunk. And the smaller the chunks, the more indistinguishable from a "true" Agile approach it becomes, I assume. You probably won't get it down to one-week-chunks, though.
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Agile client contracts