22
Agile Contracts Lars Thorup ZeaLake Software Consulting October 18, 2011 payment effort

Agile Contracts

Embed Size (px)

DESCRIPTION

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.

Citation preview

Page 1: Agile Contracts

Agile ContractsLars ThorupZeaLake Software Consulting

October 18, 2011

payment

effort

Page 2: Agile Contracts

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

Page 3: Agile Contracts

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

Page 4: Agile Contracts

● 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

Cases - 3 projects in 3 years

Page 5: Agile Contracts

Real contract example

● Our contract with The Energy Corporation● A few pages of specification● Agile development process● Low price pr hour● Completion price

Page 6: Agile Contracts

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

Page 7: Agile Contracts

Agile development process

● Development process described by the vendor ● weekly iterations with● requirements● estimation● prioritization● development● delivery● testing● feedback

Page 8: Agile Contracts

Low price pr hour● 50% below normal time-and-material-rate

Page 9: Agile Contracts

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

Page 10: Agile Contracts

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

Page 11: Agile Contracts

Negotiation experience● Hard to negotiate with contract manager

● Different views on responsibility, guarantees

● Project owner resolved in favour of the agile contract model

Page 12: Agile Contracts

Combine the traditional contract models

paid by the hour

paid at completionTime &Material

Fixed Price

Page 13: Agile Contracts

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

Page 14: Agile Contracts

● Price for client 174.000

● Hourly price for vendor 234

payment

effort

If we finish 25% early

Page 15: Agile Contracts

● Price for client 200.000

● Hourly price for vendor 200

payment

effort

If we finish on time

Page 16: Agile Contracts

● Price for client 226.000

● Hourly price for vendor 180

payment

effort

If we finish 25% late

Page 17: Agile Contracts

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

Page 18: Agile Contracts

● 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

The maturity of the client must be high

Page 19: Agile Contracts

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

Page 20: Agile Contracts

Configure the contract

● Increase hourly price● When scope is most important

● Increase completion price● When deadline is most important

paid by the hour

paid at completionTime &Material

Fixed Price

payment

effort

payment

effort

Page 21: Agile Contracts

Use time & material for some phases● Early prototyping and experimentation

● Initial estimation

● Maintenance

Page 22: Agile Contracts

Discussion