agile contracts

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

Upload: lars-thorup

Post on 08-May-2015

2.074 views

Category:

Technology


0 download

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.

TRANSCRIPT

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