Agile Contracts

2,359
-1

Published on

How do you sell an agile project? Most clients expect to buy software by time-and-material or by fixed-price-fixed scope contracts based on detailed requirements. These models cannot create a fertile environment for collaboration between client and vendor.

In this presentation, we report on our experiments with commercial contracts that supports an agile development process, based on concrete examples of win-win contract types. We will outline the different aspects of these contracts, as well as experiences creating and delivering software solutions under these contracts.

Published in: Technology, Business
2 Comments
9 Likes
Statistics
Notes
  • That can be very difficult, I agree. One solution might be to run a consulting arm of you business with the purpose of maturing the client side.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Looks good. I can certianly deliver on the vendor side having the maturity you mention. However finding a client with the right maturity level, i.e. Agility, is certainly difficult.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total Views
2,359
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
99
Comments
2
Likes
9
Embeds 0
No embeds

No notes for slide

Agile Contracts

  1. 1. paymentAgile ContractsLars ThorupZeaLake Software Consulting effortOctober 18, 2011
  2. 2. Who is Lars Thorup?● Managing software development ● 10 years of agile practices ● 15 years of automated testing● Introducing agile and automated testing with clients● Assessing software projects and companies● Founder of 2 agile consulting companies ● 12+ senior consultants ● 10+ years
  3. 3. Background● A Danish agile consulting company, BestBrains● Founded 10 years ago ● Agile and Lean coaching for software businesses ● Some body shopping (interim management and software development) on hourly rate● New business area 3 years ago ● Develop and deliver custom software solutions ● ...using agile methods● Condition ● Come up with a proper form of contract for these types of projects
  4. 4. Cases - 3 projects in 3 years● The event bureau ● small, lively company ● software for participant interactivity at top management conferences ● 1-3 programmers since August 2008● The energy corporation ● large, traditional corporation ● software for power plant registration ● 3 programmers, from January to September 2009● The government department ● Case management on top of document management system ● 3 programmers, from April 2010 to May 2011
  5. 5. Real contract example● Our contract with The Energy Corporation ● A few pages of specification ● Agile development process ● Low price pr hour ● Completion price
  6. 6. A few pages of specification● Scope ● described on a few pages with illustrations ● divided into 6 areas of functionality ● estimated roughly by vendor to 2400 hours
  7. 7. Agile development process● Development process described by the vendor ● weekly iterations with ● requirements ● estimation ● prioritization ● development ● delivery ● testing ● feedback
  8. 8. Low price pr hour● 50% below normal time-and-material-rate
  9. 9. Completion price● Separate delivery of the 6 areas● Each area associated with separate completion price● Total completion price equal to half the total project price if estimate holds● Completion price is paid when software is put in production
  10. 10. Collaboration climate● Client and vendor help each other with specifications, testing, IT environment ● to complete project earlier and cheaper● Vendor delivers software early, fix bugs fast ● to increase chance of early completion● Vendor allows clients to change requirements ● to ease the clients put-in-production decision
  11. 11. Negotiation experience● Hard to negotiate with contract manager● Different views on responsibility, guarantees● Project owner resolved in favour of the agile contract model
  12. 12. Combine the traditional contract models paid by the hour Time & Fixed Material paid at completion Price
  13. 13. An example project● The application must enable us to do X and Y ● That will take 3 persons for 6 months ● Specification and implementation in weekly increments ● Pay $100/hour and 2 * $50.000 when deployed to production payment effort
  14. 14. If we finish 25% early● Price for client 174.000● Hourly price for vendor 234 payment effort
  15. 15. If we finish on time● Price for client 200.000● Hourly price for vendor 200 payment effort
  16. 16. If we finish 25% late● Price for client 226.000● Hourly price for vendor 180 payment effort
  17. 17. Advantages● Common incentive to finish below schedule and budget ● Cheaper for client ● Faster return on investment for client ● Higher profit for vendor● Supports incremental requirement specification● Supports incremental software delivery● Encourage collaboration between client and vendor during project● Client and vendor shares ● risks ● gains
  18. 18. The maturity of the client must be high● Have a clearly formulated product vision● Can specify requirements incrementally● Can prioritize features incrementally● Can test and approve delivered software incrementally● Can put software into production incrementally● Will prioritize bugfixing over feature development
  19. 19. The maturity of the vendor must be high● Can estimate from high level product vision● Can deliver frequently● Can grow an architecture incrementally● Can do automated regression testing● Can break down features and tasks in weeks and days● Will follow the priorities set by the client
  20. 20. Configure the contract paid by the hour Time & Fixed Material paid at completion Price● Increase hourly price ● Increase completion price ● When scope is most important ● When deadline is most important payment payment effort effort
  21. 21. Use time & material for some phases● Early prototyping and experimentation● Initial estimation● Maintenance
  22. 22. Discussion
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×