Monday, September 15, 2008

New Frontier of Agile Contracting

I blogged about how I always shy away from fixed-price contract. As a result, I pass up opportunities where clients are not comfortable working on a T&M basis. So, I have been looking for ways to accommodate clients concerned (apprehension about not knowing the total costs) about T&M and find a happy median. I was happy to learn at the Agile 2008 conference about a few approaches that some companies are trying. I thought others might be interested to learn about these novel approaches to contracting.

Money for Nothing and Change for Free. This is the most intriguing of all the variations I heard about. Jeff Sutherland, co-creator of Scrum, shared this interesting case study of a company that was contracted by a client to do a large project. The RFP was awarded based on waterfall approach. The company estimated the project to take 18 months and would cost $1.8MM. Essentially, the project was awarded as a fixed-bid contract. However, they negotiated with the client that they will do the project using Scrum. And they added an innovative clause to the contract that said if they delivered 80% of the intended value from the project, the client would have the option to end the contract and would pay the company (the vendor) 20% of the remaining contract value. Guess what happened? The company was able to deliver 80% of the value in 3 months into the project and the client was happy to pay 20% of the rest of the contract value. Both parties were delighted. Pretty neat, hah! So, to generalize this approach, we could bid for projects in the traditional way (i.e., fixed-bid), but add the following clauses,
  • Client can change requirements for free ("change for free"). Traditionally any change to requirements results into repricing that usually causes the project costs to go up.

  • Early delivery results into a bonus for the vendor which is equal to 20% of the remaining contract value. This is what is called "money for fee."

Hybrid Contract- T&M Definition Phase, Fixed-price Delivery Phase. Essentially vendor will work with the client to on a time and material basis to build the product backlog (requirements) and produce a high level estimates and validate assumptions. Once both parties are comfortable with the definition of the project, the project enters into a fixed-price delivery phase. This will work when the product backlog can be defined reasonably well in a reasonable time-frame as well as the the development team is experienced in the domain and technology and that the development team knows its velocity.

Hybrid Contract- T&M Delivery of Phase 1, Fixed-price Delivery of Subsequent Phases. With this approach, the project is broken into multiple phases. The first phase is done on T&M basis with CAP maybe. In this phase, both the client and the vendor collaborate to identify and address domain as well as technical unknowns. By the end of the T&M phase, the project is expected to have set on a predictable course so that the vendor can price out the rest of the project with reasonable confidence.

Fixed-rate per Unit of Work Contract. This approach requires the vendor to have a stable team that has a well established velocity and also familiar with the technology and domain. The contract is awarded based on an expected rate of work produced per iteration at a fixed cost. The unit of work can be in story points or function points. This would be the nirvana of agile contracting. This could transform software development service into a "Service on Demand."

There are variations within each of these contract framework. I would be interested to hear from others on this topic. Drop me a few lines.

5 comments:

  1. I believe you are right in the sense that fix-bid contacts are always easy to commit for the clients, since this is the way a they deal with all of their vendors. So, we need to learn to live with this fixed bid practice and its good that you found a way to incorporate T&M under the hood.
    I will look forward to hear about your experience when you put it into test with your future clients.

    ReplyDelete
  2. Syed,
    you are right on the money that fixed price contracts aren't going anywhere. The whole idea that you can't be successful using a fixed price contract that seems to percolate in the agile community is self-defeating at best, and completely ridiculous in reality.

    At the end of the day, a good relationship with your client and making sure that you are providing value will win out over even the worst of contracts.

    While really bad contracts can get in the way of success, really bad relationships always will.

    I've touched upon some of the same points that you have raised in my own post on making agile succeed within fixed price contracts

    Regards
    Jeff Anderson
    Agile Consulting

    ReplyDelete
  3. Syed,

    I recently had to apply an agile approach unto a "waterfall" organization.

    The project had been following a waterfall process for several months, and was going completely off the rails.

    We were asked to assist, and get things back on track.

    the resulting approach was a "quasi- agile" process, where we used reasonably short iterations, active stakeholders, and just-in-time documentation.

    Below is a presentation that we used to introduce these concepts to the organization.
    Managing Change

    oh, the presentation above reveals what firm I am a part of, so I need to add
    "any opinions, comments, and advice in no way reflect the firm that I belong to, and solely represent the opinions of the author" :-)

    Jeff Anderson
    Agile Consulting

    ReplyDelete