InfoQ

News

Working Group Formed to Produce Reusable Agile Contracts

Posted by Vikas Hazrati on Oct 29, 2008 04:45 AM

Community
Agile
Topics
Agile in the Enterprise ,
Collaboration
Tags
Contracts & Negotiation

Contracts are required to bridge the gap of trust and uncertainty between different organizations thus enabling them to work together. Traditional ‘fixed price, fixed scope and fixed time’ projects do not take the uncertainty in business environment and software development into account. These contracts tend to set up the customer and vendor against each other where, instead of collaboration, time and energy is spent on deciding who should pay for the change. A working group is currently brainstorming on OpenPlans with an aim to produce reusable agile contracts. This would potentially reverse the customer-vendor relationship from confrontation to collaboration.

In the past Alistair Cockburn has listed more than 10 strategies of Agile contracts based on inputs from several people. These include the standard ‘fixed price fixed scope’, ‘time and material’ contracts to the more innovative ones like ‘Incremental delivery with payment on incremental acceptance’ and ‘Indefinite Delivery, Indefinite Quantity’. Martin Fowler talked about projects where they first build trust with the customer and then get to a flexible charging scheme for future projects. Mary and Tom Poppendieck have discussed various contract types and their potential benefits. They also discussed various customer and vendor categories and the factors like culture, country and software type which might affect the contract.

The working group on OpenPlans currently has a work in progress Agile contract titled ‘Money For Nothing, Change For Free’ which places strong emphasis on customer participation. The customer is expected to have a high degree of involvement in prioritizing features, sprint planning, writing conditions for satisfaction of features and sprint review. The contract also has the following clauses set up

  • Early Termination (Money for Nothing)- Customer can terminate the contract at the end of any sprint by paying 20% of the remaining contract value
  • Change For Free – Customer can add new features at sprint boundaries if items of equal scope are removed from the contract.

The contract also talks about ‘Guarantee of work’ where the vendor guarantees that 80% of the functionality is delivered with high quality as per the agreed upon definition of done and that the vendor may take the risk of late delivery.

The contract development can be tracked on the ‘Agile Contracts’ home page and membership can be requested for contributing to the contract definition.

Related Sponsor

VersionOne is recognized by Agile practitioners as the leader in Agile project management tools. Companies such as Adobe, BBC, CNN, Dow, HP, IBM, Sony and 3M have turned to VersionOne to help deliver greater value to their customers.
It is hard to make and sell an Agile Contract by Vikas Hazrati Posted Oct 30, 2008 2:37 PM
Re: It is hard to make and sell an Agile Contract by Jeff Sutherland Posted Nov 15, 2008 3:01 AM
  1. Back to top

    It is hard to make and sell an Agile Contract

    Oct 30, 2008 2:37 PM by Vikas Hazrati

    In my personal experience I have seen that it is hard to sell an Agile contract. Some of the initial analysis of the working group shows that it is more of a function of sharing risk. There is a suggestion of a 2 phased approach where the balance of risk shifts. Still most of the enterprises that I have seen prefer a fixed kind contract to satisfy CYA. Has someone successfully executed/executing a real not pseudo ;) Agile contract?

  2. Back to top

    Re: It is hard to make and sell an Agile Contract

    Nov 15, 2008 3:01 AM by Jeff Sutherland

    Working with Exigen Services, a large Russian consulting firm, we have done CIO dinners in New York and London and found that 1/3 of the CIOs were ready to negotiate a "Money for Nothing, Change for Free" contract immediately. Another third wanted sales visit to discuss the approach in more detail. The final third said their companies were too disfunctional to produce a product backlog prioritized by business value or were so bureaucratic it was impossible to innovate. The conclusion was that there is a huge immediate market for this and Exigen Services has made this a core strategic initiative worldwide. In their initial projects, the challenges have been training their own people to be Scrum Product Owners so that they can work with the customer as stakeholder and get a good Product Backlog. The customer cannot in most cases produce a good backlog on their own. The second difficulty is the estimation capability of their development teams. They need to be good at estimating fix priced contracts where there is limited information on large grained stories. Systematic Software Engineering, a CMMI Level 5 company in Denmark is doing this quite well so we know this is a solvable problem. So the bottom line is that we need Agile companies that can execute well in this market. As soon as we have them there are huge financial returns for both the vendor and the customer. The customers are already ready.

Educational Content

Bindings, Platforms, and Innovation

This presentation focuses on the Internet and separating myth from fact, history from the future, and the mundane from the imaginative. Bob Frankston presents a vision of what could and should be.

Orchestrating Long Running Activities with JBoss / JBPM

This article explores the use of JBoss and jBPM to implement design solutions that effectively address the issue of orchestrating long running activities.

Neo4j - The Benefits of Graph Databases

This presentation covers the use of graph databases as an optimal solution for data that is difficult to fit in static tables, rapidly evolving data or data that has a lot of optional attributes.

Realistic about Risk: Software development with Real Options

This session introduces Real Options and shows how it can help in running your project. Real Options is a decision-making process that can be used to manage risk.

Communication Flexibility Using Bindings

This article discusses the use of bindings on services and references (including the instance of non-configured bindings) as the means to implement SCA communications in a Web and SOA environment.

Writing DSLs in Groovy

After a short introduction to DSLs, Scott Davis plays with the keyboard showing how to approach the creation of a DSL by typing working snippets of Groovy code that get executed.

Scaling Agile with C/ALM (Collaborative Application Lifecycle Management)

IBM Rational and InfoQ present, Scaling Agile with C/ALM, an eBook showing organizations how to become “finely tuned software delivery machines” by enabling team integration and scaling.

Concurrent Programming with Microsoft F#

Amanda Laucher presents a real life enterprise application written in F#. She shows actual code snippets, explaining design decisions and suggesting how to use some of the F# constructs.