SlideShare a Scribd company logo
payment



Agile Contracts
Lars Thorup
ZeaLake Software Consulting
                                        effort


October 18, 2011
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
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
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
Real contract example

●   Our contract with The Energy Corporation
    ●   A few pages of specification
    ●   Agile development process
    ●   Low price pr hour
    ●   Completion price
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
Agile development process

●   Development process described by the vendor
    ●   weekly iterations with
    ●   requirements
    ●   estimation
    ●   prioritization
    ●   development
    ●   delivery
    ●   testing
    ●   feedback
Low price pr hour
●   50% below normal time-and-material-rate
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
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
Negotiation experience
●   Hard to negotiate with contract manager

●   Different views on responsibility, guarantees

●   Project owner resolved in favour of the agile contract model
Combine the traditional contract models


            paid by the hour
 Time &                                             Fixed
 Material                      paid at completion
                                                    Price
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
If we finish 25% early
●   Price for client          174.000

●   Hourly price for vendor       234



                 payment




                                        effort
If we finish on time
●   Price for client          200.000

●   Hourly price for vendor       200



                 payment




                                        effort
If we finish 25% late
●   Price for client          226.000

●   Hourly price for vendor       180



                 payment




                                        effort
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
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
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
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
Use time & material for some phases
●   Early prototyping and experimentation

●   Initial estimation

●   Maintenance
Discussion

More Related Content

What's hot

How to Capture Better Business Requirements in Software Projects
How to Capture Better Business Requirements in Software ProjectsHow to Capture Better Business Requirements in Software Projects
How to Capture Better Business Requirements in Software Projects
Gabor Schönekker
 
Agile fix cost_pecha_kucha
Agile fix cost_pecha_kuchaAgile fix cost_pecha_kucha
Agile fix cost_pecha_kucha
Viresh Suri
 
Atagg2015 Fixed cost projects_and_agile
Atagg2015 Fixed cost projects_and_agileAtagg2015 Fixed cost projects_and_agile
Atagg2015 Fixed cost projects_and_agile
Agile Testing Alliance
 
Agile contracts
Agile contractsAgile contracts
Agile contracts
Deepti Jain
 
Agile Roi
Agile RoiAgile Roi
Agile Roi
crsadun
 
Product delivery Pawel Dyrek
Product delivery Pawel DyrekProduct delivery Pawel Dyrek
Product delivery Pawel Dyrek
Paweł Dyrek
 
Why move to Scrum ?
Why move to Scrum ?Why move to Scrum ?
Why move to Scrum ?
Elad Sofer
 
Linkedin Resource Focus
Linkedin Resource FocusLinkedin Resource Focus
Linkedin Resource Focus
dewilkin
 
Rfp final
Rfp finalRfp final
Rfp final
subu
 
Effective It With Middleware Solutions (New Template)
Effective It With Middleware Solutions (New Template)Effective It With Middleware Solutions (New Template)
Effective It With Middleware Solutions (New Template)
crsadun
 
GS Nayer - Resume
GS Nayer - ResumeGS Nayer - Resume
GS Nayer - Resume
GS Nayer
 
Nesma autumn conference 2015 - Agile may deliver but it does not win (yet) -...
Nesma autumn conference  2015 - Agile may deliver but it does not win (yet) -...Nesma autumn conference  2015 - Agile may deliver but it does not win (yet) -...
Nesma autumn conference 2015 - Agile may deliver but it does not win (yet) -...
Nesma
 
Agile metrics what is... riga-version
Agile metrics   what is... riga-versionAgile metrics   what is... riga-version
Agile metrics what is... riga-version
Alex Birke
 
Ac2017 2. added value!
Ac2017   2. added value!Ac2017   2. added value!
Ac2017 2. added value!
Nesma
 
Cost unit 2012 part 2
Cost unit 2012   part 2Cost unit 2012   part 2
Cost unit 2012 part 2
Skript
 
Agile Metrics
Agile MetricsAgile Metrics
Agile Metrics
Mikalai Alimenkou
 
Nesma autumn conference 2015 - Is FPA a valuable addition to predictable agil...
Nesma autumn conference 2015 - Is FPA a valuable addition to predictable agil...Nesma autumn conference 2015 - Is FPA a valuable addition to predictable agil...
Nesma autumn conference 2015 - Is FPA a valuable addition to predictable agil...
Nesma
 
Ac2017 3. cast software-metricsincontracts
Ac2017   3. cast software-metricsincontractsAc2017   3. cast software-metricsincontracts
Ac2017 3. cast software-metricsincontracts
Nesma
 
Agile contracting
Agile contractingAgile contracting
Estimation in the Tendering Process - Frank Vogelezang
Estimation in the Tendering Process - Frank VogelezangEstimation in the Tendering Process - Frank Vogelezang
Estimation in the Tendering Process - Frank Vogelezang
Nesma
 

What's hot (20)

How to Capture Better Business Requirements in Software Projects
How to Capture Better Business Requirements in Software ProjectsHow to Capture Better Business Requirements in Software Projects
How to Capture Better Business Requirements in Software Projects
 
Agile fix cost_pecha_kucha
Agile fix cost_pecha_kuchaAgile fix cost_pecha_kucha
Agile fix cost_pecha_kucha
 
Atagg2015 Fixed cost projects_and_agile
Atagg2015 Fixed cost projects_and_agileAtagg2015 Fixed cost projects_and_agile
Atagg2015 Fixed cost projects_and_agile
 
Agile contracts
Agile contractsAgile contracts
Agile contracts
 
Agile Roi
Agile RoiAgile Roi
Agile Roi
 
Product delivery Pawel Dyrek
Product delivery Pawel DyrekProduct delivery Pawel Dyrek
Product delivery Pawel Dyrek
 
Why move to Scrum ?
Why move to Scrum ?Why move to Scrum ?
Why move to Scrum ?
 
Linkedin Resource Focus
Linkedin Resource FocusLinkedin Resource Focus
Linkedin Resource Focus
 
Rfp final
Rfp finalRfp final
Rfp final
 
Effective It With Middleware Solutions (New Template)
Effective It With Middleware Solutions (New Template)Effective It With Middleware Solutions (New Template)
Effective It With Middleware Solutions (New Template)
 
GS Nayer - Resume
GS Nayer - ResumeGS Nayer - Resume
GS Nayer - Resume
 
Nesma autumn conference 2015 - Agile may deliver but it does not win (yet) -...
Nesma autumn conference  2015 - Agile may deliver but it does not win (yet) -...Nesma autumn conference  2015 - Agile may deliver but it does not win (yet) -...
Nesma autumn conference 2015 - Agile may deliver but it does not win (yet) -...
 
Agile metrics what is... riga-version
Agile metrics   what is... riga-versionAgile metrics   what is... riga-version
Agile metrics what is... riga-version
 
Ac2017 2. added value!
Ac2017   2. added value!Ac2017   2. added value!
Ac2017 2. added value!
 
Cost unit 2012 part 2
Cost unit 2012   part 2Cost unit 2012   part 2
Cost unit 2012 part 2
 
Agile Metrics
Agile MetricsAgile Metrics
Agile Metrics
 
Nesma autumn conference 2015 - Is FPA a valuable addition to predictable agil...
Nesma autumn conference 2015 - Is FPA a valuable addition to predictable agil...Nesma autumn conference 2015 - Is FPA a valuable addition to predictable agil...
Nesma autumn conference 2015 - Is FPA a valuable addition to predictable agil...
 
Ac2017 3. cast software-metricsincontracts
Ac2017   3. cast software-metricsincontractsAc2017   3. cast software-metricsincontracts
Ac2017 3. cast software-metricsincontracts
 
Agile contracting
Agile contractingAgile contracting
Agile contracting
 
Estimation in the Tendering Process - Frank Vogelezang
Estimation in the Tendering Process - Frank VogelezangEstimation in the Tendering Process - Frank Vogelezang
Estimation in the Tendering Process - Frank Vogelezang
 

Viewers also liked

120521 agile contracts 2.1
120521 agile contracts 2.1120521 agile contracts 2.1
120521 agile contracts 2.1
Proyectalis / Improvement21
 
Agile Contracts by Drew Jemilo (Agile2015)
Agile Contracts by Drew Jemilo (Agile2015)Agile Contracts by Drew Jemilo (Agile2015)
Agile Contracts by Drew Jemilo (Agile2015)
Drew Jemilo
 
Lars thorup-react-and-redux-2016-09
Lars thorup-react-and-redux-2016-09Lars thorup-react-and-redux-2016-09
Lars thorup-react-and-redux-2016-09
BestBrains
 
WebCamp:Project Management Day. Dmytro Gadomsky "How to implement agile to th...
WebCamp:Project Management Day. Dmytro Gadomsky "How to implement agile to th...WebCamp:Project Management Day. Dmytro Gadomsky "How to implement agile to th...
WebCamp:Project Management Day. Dmytro Gadomsky "How to implement agile to th...
GeeksLab Odessa
 
Contracting for Agile Software Development
Contracting for Agile Software DevelopmentContracting for Agile Software Development
Contracting for Agile Software Development
cspag67
 
Planning for Contract Agile Projects
Planning for Contract Agile ProjectsPlanning for Contract Agile Projects
Planning for Contract Agile Projects
Mike Cohn
 
Agile contracting a real challenge
Agile contracting a real challengeAgile contracting a real challenge
Agile contracting a real challenge
Peter Horsten
 
Agile Verträge
Agile VerträgeAgile Verträge
Agile Verträge
Pierre E. NEIS
 
Agile Contracts
Agile ContractsAgile Contracts
Agile Contracts
Juha Ilola
 
Agile contracts workshop martin kearns
Agile contracts workshop martin kearnsAgile contracts workshop martin kearns
Agile contracts workshop martin kearns
Martin Kearns
 
Agile Contracts
Agile ContractsAgile Contracts
Agile Contracts
Johannes Brodwall
 
Selling Agile
Selling AgileSelling Agile
Selling Agile
VersionOne
 
Agile Development with Agile Contract
Agile Development with Agile ContractAgile Development with Agile Contract
Agile Development with Agile Contract
NUS-ISS
 
Agile Contracting in the Second Decade of Agility
Agile Contracting in the Second Decade of AgilityAgile Contracting in the Second Decade of Agility
Agile Contracting in the Second Decade of Agility
Simon Bennett
 
Agile contract 2
Agile contract 2Agile contract 2
Agile contract 2
Jen-Chieh Ko
 
Agile concepts and opportunities for contract management r walters
Agile concepts and opportunities for contract management  r walters Agile concepts and opportunities for contract management  r walters
Agile concepts and opportunities for contract management r walters
Expressworks International
 
Agile Wake Up #3 : la contractualisation Agile
Agile Wake Up #3 : la contractualisation AgileAgile Wake Up #3 : la contractualisation Agile
Agile Wake Up #3 : la contractualisation Agile
Zenika
 

Viewers also liked (17)

120521 agile contracts 2.1
120521 agile contracts 2.1120521 agile contracts 2.1
120521 agile contracts 2.1
 
Agile Contracts by Drew Jemilo (Agile2015)
Agile Contracts by Drew Jemilo (Agile2015)Agile Contracts by Drew Jemilo (Agile2015)
Agile Contracts by Drew Jemilo (Agile2015)
 
Lars thorup-react-and-redux-2016-09
Lars thorup-react-and-redux-2016-09Lars thorup-react-and-redux-2016-09
Lars thorup-react-and-redux-2016-09
 
WebCamp:Project Management Day. Dmytro Gadomsky "How to implement agile to th...
WebCamp:Project Management Day. Dmytro Gadomsky "How to implement agile to th...WebCamp:Project Management Day. Dmytro Gadomsky "How to implement agile to th...
WebCamp:Project Management Day. Dmytro Gadomsky "How to implement agile to th...
 
Contracting for Agile Software Development
Contracting for Agile Software DevelopmentContracting for Agile Software Development
Contracting for Agile Software Development
 
Planning for Contract Agile Projects
Planning for Contract Agile ProjectsPlanning for Contract Agile Projects
Planning for Contract Agile Projects
 
Agile contracting a real challenge
Agile contracting a real challengeAgile contracting a real challenge
Agile contracting a real challenge
 
Agile Verträge
Agile VerträgeAgile Verträge
Agile Verträge
 
Agile Contracts
Agile ContractsAgile Contracts
Agile Contracts
 
Agile contracts workshop martin kearns
Agile contracts workshop martin kearnsAgile contracts workshop martin kearns
Agile contracts workshop martin kearns
 
Agile Contracts
Agile ContractsAgile Contracts
Agile Contracts
 
Selling Agile
Selling AgileSelling Agile
Selling Agile
 
Agile Development with Agile Contract
Agile Development with Agile ContractAgile Development with Agile Contract
Agile Development with Agile Contract
 
Agile Contracting in the Second Decade of Agility
Agile Contracting in the Second Decade of AgilityAgile Contracting in the Second Decade of Agility
Agile Contracting in the Second Decade of Agility
 
Agile contract 2
Agile contract 2Agile contract 2
Agile contract 2
 
Agile concepts and opportunities for contract management r walters
Agile concepts and opportunities for contract management  r walters Agile concepts and opportunities for contract management  r walters
Agile concepts and opportunities for contract management r walters
 
Agile Wake Up #3 : la contractualisation Agile
Agile Wake Up #3 : la contractualisation AgileAgile Wake Up #3 : la contractualisation Agile
Agile Wake Up #3 : la contractualisation Agile
 

Similar to Agile Contracts

Андрій Просов “Fixed Price Agile Projects: Lessons Learned” Kyiv Project Man...
Андрій Просов  “Fixed Price Agile Projects: Lessons Learned” Kyiv Project Man...Андрій Просов  “Fixed Price Agile Projects: Lessons Learned” Kyiv Project Man...
Андрій Просов “Fixed Price Agile Projects: Lessons Learned” Kyiv Project Man...
Lviv Startup Club
 
Pick the Best Engagement Model for Software Startup development
Pick the Best Engagement Model for Software Startup developmentPick the Best Engagement Model for Software Startup development
Pick the Best Engagement Model for Software Startup development
MassMedia Group
 
Agile Methodologies
Agile MethodologiesAgile Methodologies
Agile Methodologies
Gurdeep Singh
 
Андрій Просов "Fixed Price Agile Projects: Challenges for Project Manager" Kh...
Андрій Просов "Fixed Price Agile Projects: Challenges for Project Manager" Kh...Андрій Просов "Fixed Price Agile Projects: Challenges for Project Manager" Kh...
Андрій Просов "Fixed Price Agile Projects: Challenges for Project Manager" Kh...
Lviv Startup Club
 
ANIn Ahmedabad Feb 2024 | Addressing Challenges in Project Management via Agi...
ANIn Ahmedabad Feb 2024 | Addressing Challenges in Project Management via Agi...ANIn Ahmedabad Feb 2024 | Addressing Challenges in Project Management via Agi...
ANIn Ahmedabad Feb 2024 | Addressing Challenges in Project Management via Agi...
AgileNetwork
 
Running Agile on a non-Agile Environment, by Nuno Caneco
Running Agile on a non-Agile Environment, by Nuno CanecoRunning Agile on a non-Agile Environment, by Nuno Caneco
Running Agile on a non-Agile Environment, by Nuno Caneco
Agile Connect®
 
Running Scrum on a non-Agile environment - Tales from a past experience" By N...
Running Scrum on a non-Agile environment - Tales from a past experience" By N...Running Scrum on a non-Agile environment - Tales from a past experience" By N...
Running Scrum on a non-Agile environment - Tales from a past experience" By N...
Agile Connect Lisbon
 
Mohit Sharma C.V -
Mohit Sharma C.V - Mohit Sharma C.V -
Mohit Sharma C.V -
Mohit Sharma
 
Agile vs waterfall
Agile vs waterfallAgile vs waterfall
Agile vs waterfall
Lohet Ramesh
 
]project-open[ Timesheet Project Invoicing
]project-open[ Timesheet Project Invoicing]project-open[ Timesheet Project Invoicing
]project-open[ Timesheet Project Invoicing
Klaus Hofeditz
 
Technical Debt Management
Technical Debt ManagementTechnical Debt Management
Technical Debt Management
Mark Niebergall
 
Oracle Project Accounting Training.pdf
Oracle Project Accounting Training.pdfOracle Project Accounting Training.pdf
Oracle Project Accounting Training.pdf
SpiritsoftsTraining
 
Agility - Part 1 of 2
Agility - Part 1 of 2Agility - Part 1 of 2
Agility - Part 1 of 2
Dennis Byrne
 
Introduction to pm
Introduction to pmIntroduction to pm
Introduction to pm
sruthiramesh17
 
Why the Home Office opted for an Open Source, Cloud SaaS Intranet
Why the Home Office opted for an Open Source, Cloud SaaS Intranet Why the Home Office opted for an Open Source, Cloud SaaS Intranet
Why the Home Office opted for an Open Source, Cloud SaaS Intranet
Invotra2014
 
Why Home Office opted for an Open Source, Cloud SaaS Intranet
Why Home Office opted for an Open Source, Cloud SaaS IntranetWhy Home Office opted for an Open Source, Cloud SaaS Intranet
Why Home Office opted for an Open Source, Cloud SaaS Intranet
Invotra
 
Engineering & Construction Industry Overview
Engineering & Construction Industry OverviewEngineering & Construction Industry Overview
Engineering & Construction Industry Overview
Souvik Chakraborty
 
Hybrid project mgmt
Hybrid project mgmtHybrid project mgmt
Hybrid project mgmt
Hussam Ahmad
 
Localize Overview
Localize OverviewLocalize Overview
Localize Overview
Localize
 
resume-.PDF (2)
resume-.PDF (2)resume-.PDF (2)
resume-.PDF (2)
nishit dalal
 

Similar to Agile Contracts (20)

Андрій Просов “Fixed Price Agile Projects: Lessons Learned” Kyiv Project Man...
Андрій Просов  “Fixed Price Agile Projects: Lessons Learned” Kyiv Project Man...Андрій Просов  “Fixed Price Agile Projects: Lessons Learned” Kyiv Project Man...
Андрій Просов “Fixed Price Agile Projects: Lessons Learned” Kyiv Project Man...
 
Pick the Best Engagement Model for Software Startup development
Pick the Best Engagement Model for Software Startup developmentPick the Best Engagement Model for Software Startup development
Pick the Best Engagement Model for Software Startup development
 
Agile Methodologies
Agile MethodologiesAgile Methodologies
Agile Methodologies
 
Андрій Просов "Fixed Price Agile Projects: Challenges for Project Manager" Kh...
Андрій Просов "Fixed Price Agile Projects: Challenges for Project Manager" Kh...Андрій Просов "Fixed Price Agile Projects: Challenges for Project Manager" Kh...
Андрій Просов "Fixed Price Agile Projects: Challenges for Project Manager" Kh...
 
ANIn Ahmedabad Feb 2024 | Addressing Challenges in Project Management via Agi...
ANIn Ahmedabad Feb 2024 | Addressing Challenges in Project Management via Agi...ANIn Ahmedabad Feb 2024 | Addressing Challenges in Project Management via Agi...
ANIn Ahmedabad Feb 2024 | Addressing Challenges in Project Management via Agi...
 
Running Agile on a non-Agile Environment, by Nuno Caneco
Running Agile on a non-Agile Environment, by Nuno CanecoRunning Agile on a non-Agile Environment, by Nuno Caneco
Running Agile on a non-Agile Environment, by Nuno Caneco
 
Running Scrum on a non-Agile environment - Tales from a past experience" By N...
Running Scrum on a non-Agile environment - Tales from a past experience" By N...Running Scrum on a non-Agile environment - Tales from a past experience" By N...
Running Scrum on a non-Agile environment - Tales from a past experience" By N...
 
Mohit Sharma C.V -
Mohit Sharma C.V - Mohit Sharma C.V -
Mohit Sharma C.V -
 
Agile vs waterfall
Agile vs waterfallAgile vs waterfall
Agile vs waterfall
 
]project-open[ Timesheet Project Invoicing
]project-open[ Timesheet Project Invoicing]project-open[ Timesheet Project Invoicing
]project-open[ Timesheet Project Invoicing
 
Technical Debt Management
Technical Debt ManagementTechnical Debt Management
Technical Debt Management
 
Oracle Project Accounting Training.pdf
Oracle Project Accounting Training.pdfOracle Project Accounting Training.pdf
Oracle Project Accounting Training.pdf
 
Agility - Part 1 of 2
Agility - Part 1 of 2Agility - Part 1 of 2
Agility - Part 1 of 2
 
Introduction to pm
Introduction to pmIntroduction to pm
Introduction to pm
 
Why the Home Office opted for an Open Source, Cloud SaaS Intranet
Why the Home Office opted for an Open Source, Cloud SaaS Intranet Why the Home Office opted for an Open Source, Cloud SaaS Intranet
Why the Home Office opted for an Open Source, Cloud SaaS Intranet
 
Why Home Office opted for an Open Source, Cloud SaaS Intranet
Why Home Office opted for an Open Source, Cloud SaaS IntranetWhy Home Office opted for an Open Source, Cloud SaaS Intranet
Why Home Office opted for an Open Source, Cloud SaaS Intranet
 
Engineering & Construction Industry Overview
Engineering & Construction Industry OverviewEngineering & Construction Industry Overview
Engineering & Construction Industry Overview
 
Hybrid project mgmt
Hybrid project mgmtHybrid project mgmt
Hybrid project mgmt
 
Localize Overview
Localize OverviewLocalize Overview
Localize Overview
 
resume-.PDF (2)
resume-.PDF (2)resume-.PDF (2)
resume-.PDF (2)
 

More from Lars Thorup

100 tests per second - 40 releases per week
100 tests per second - 40 releases per week100 tests per second - 40 releases per week
100 tests per second - 40 releases per week
Lars Thorup
 
SQL or NoSQL - how to choose
SQL or NoSQL - how to chooseSQL or NoSQL - how to choose
SQL or NoSQL - how to choose
Lars Thorup
 
Super fast end-to-end-tests
Super fast end-to-end-testsSuper fast end-to-end-tests
Super fast end-to-end-tests
Lars Thorup
 
Extreme Programming - to the next-level
Extreme Programming - to the next-levelExtreme Programming - to the next-level
Extreme Programming - to the next-level
Lars Thorup
 
Advanced Javascript Unit Testing
Advanced Javascript Unit TestingAdvanced Javascript Unit Testing
Advanced Javascript Unit Testing
Lars Thorup
 
Unit testing legacy code
Unit testing legacy codeUnit testing legacy code
Unit testing legacy code
Lars Thorup
 
Advanced QUnit - Front-End JavaScript Unit Testing
Advanced QUnit - Front-End JavaScript Unit TestingAdvanced QUnit - Front-End JavaScript Unit Testing
Advanced QUnit - Front-End JavaScript Unit Testing
Lars Thorup
 
Put "fast" back in "fast feedback"
Put "fast" back in "fast feedback"Put "fast" back in "fast feedback"
Put "fast" back in "fast feedback"
Lars Thorup
 
Database Schema Evolution
Database Schema EvolutionDatabase Schema Evolution
Database Schema Evolution
Lars Thorup
 
Advanced Jasmine - Front-End JavaScript Unit Testing
Advanced Jasmine - Front-End JavaScript Unit TestingAdvanced Jasmine - Front-End JavaScript Unit Testing
Advanced Jasmine - Front-End JavaScript Unit Testing
Lars Thorup
 
Javascript unit testing with QUnit and Sinon
Javascript unit testing with QUnit and SinonJavascript unit testing with QUnit and Sinon
Javascript unit testing with QUnit and Sinon
Lars Thorup
 
Continuous Integration for front-end JavaScript
Continuous Integration for front-end JavaScriptContinuous Integration for front-end JavaScript
Continuous Integration for front-end JavaScript
Lars Thorup
 
Automated Performance Testing
Automated Performance TestingAutomated Performance Testing
Automated Performance Testing
Lars Thorup
 
Test and Behaviour Driven Development (TDD/BDD)
Test and Behaviour Driven Development (TDD/BDD)Test and Behaviour Driven Development (TDD/BDD)
Test and Behaviour Driven Development (TDD/BDD)
Lars Thorup
 
High Performance Software Engineering Teams
High Performance Software Engineering TeamsHigh Performance Software Engineering Teams
High Performance Software Engineering Teams
Lars Thorup
 
Elephant Carpaccio
Elephant CarpaccioElephant Carpaccio
Elephant Carpaccio
Lars Thorup
 
Automated Testing for Embedded Software in C or C++
Automated Testing for Embedded Software in C or C++Automated Testing for Embedded Software in C or C++
Automated Testing for Embedded Software in C or C++
Lars Thorup
 
Unit Testing in JavaScript with MVC and QUnit
Unit Testing in JavaScript with MVC and QUnitUnit Testing in JavaScript with MVC and QUnit
Unit Testing in JavaScript with MVC and QUnit
Lars Thorup
 
Introduction to Automated Testing
Introduction to Automated TestingIntroduction to Automated Testing
Introduction to Automated Testing
Lars Thorup
 

More from Lars Thorup (19)

100 tests per second - 40 releases per week
100 tests per second - 40 releases per week100 tests per second - 40 releases per week
100 tests per second - 40 releases per week
 
SQL or NoSQL - how to choose
SQL or NoSQL - how to chooseSQL or NoSQL - how to choose
SQL or NoSQL - how to choose
 
Super fast end-to-end-tests
Super fast end-to-end-testsSuper fast end-to-end-tests
Super fast end-to-end-tests
 
Extreme Programming - to the next-level
Extreme Programming - to the next-levelExtreme Programming - to the next-level
Extreme Programming - to the next-level
 
Advanced Javascript Unit Testing
Advanced Javascript Unit TestingAdvanced Javascript Unit Testing
Advanced Javascript Unit Testing
 
Unit testing legacy code
Unit testing legacy codeUnit testing legacy code
Unit testing legacy code
 
Advanced QUnit - Front-End JavaScript Unit Testing
Advanced QUnit - Front-End JavaScript Unit TestingAdvanced QUnit - Front-End JavaScript Unit Testing
Advanced QUnit - Front-End JavaScript Unit Testing
 
Put "fast" back in "fast feedback"
Put "fast" back in "fast feedback"Put "fast" back in "fast feedback"
Put "fast" back in "fast feedback"
 
Database Schema Evolution
Database Schema EvolutionDatabase Schema Evolution
Database Schema Evolution
 
Advanced Jasmine - Front-End JavaScript Unit Testing
Advanced Jasmine - Front-End JavaScript Unit TestingAdvanced Jasmine - Front-End JavaScript Unit Testing
Advanced Jasmine - Front-End JavaScript Unit Testing
 
Javascript unit testing with QUnit and Sinon
Javascript unit testing with QUnit and SinonJavascript unit testing with QUnit and Sinon
Javascript unit testing with QUnit and Sinon
 
Continuous Integration for front-end JavaScript
Continuous Integration for front-end JavaScriptContinuous Integration for front-end JavaScript
Continuous Integration for front-end JavaScript
 
Automated Performance Testing
Automated Performance TestingAutomated Performance Testing
Automated Performance Testing
 
Test and Behaviour Driven Development (TDD/BDD)
Test and Behaviour Driven Development (TDD/BDD)Test and Behaviour Driven Development (TDD/BDD)
Test and Behaviour Driven Development (TDD/BDD)
 
High Performance Software Engineering Teams
High Performance Software Engineering TeamsHigh Performance Software Engineering Teams
High Performance Software Engineering Teams
 
Elephant Carpaccio
Elephant CarpaccioElephant Carpaccio
Elephant Carpaccio
 
Automated Testing for Embedded Software in C or C++
Automated Testing for Embedded Software in C or C++Automated Testing for Embedded Software in C or C++
Automated Testing for Embedded Software in C or C++
 
Unit Testing in JavaScript with MVC and QUnit
Unit Testing in JavaScript with MVC and QUnitUnit Testing in JavaScript with MVC and QUnit
Unit Testing in JavaScript with MVC and QUnit
 
Introduction to Automated Testing
Introduction to Automated TestingIntroduction to Automated Testing
Introduction to Automated Testing
 

Recently uploaded

Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
SitimaJohn
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
saastr
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Wask
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Alpen-Adria-Universität
 
Webinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data WarehouseWebinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data Warehouse
Federico Razzoli
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
Wouter Lemaire
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
Brandon Minnick, MBA
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
Chart Kalyan
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Tosin Akinosho
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
Jakub Marek
 

Recently uploaded (20)

Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
 
Webinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data WarehouseWebinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data Warehouse
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
 

Agile Contracts

  • 1. payment Agile Contracts Lars Thorup ZeaLake Software Consulting effort October 18, 2011
  • 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. 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. 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. Real contract example ● Our contract with The Energy Corporation ● A few pages of specification ● Agile development process ● Low price pr hour ● Completion price
  • 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. Agile development process ● Development process described by the vendor ● weekly iterations with ● requirements ● estimation ● prioritization ● development ● delivery ● testing ● feedback
  • 8. Low price pr hour ● 50% below normal time-and-material-rate
  • 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. 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. Negotiation experience ● Hard to negotiate with contract manager ● Different views on responsibility, guarantees ● Project owner resolved in favour of the agile contract model
  • 12. Combine the traditional contract models paid by the hour Time & Fixed Material paid at completion Price
  • 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. If we finish 25% early ● Price for client 174.000 ● Hourly price for vendor 234 payment effort
  • 15. If we finish on time ● Price for client 200.000 ● Hourly price for vendor 200 payment effort
  • 16. If we finish 25% late ● Price for client 226.000 ● Hourly price for vendor 180 payment effort
  • 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. 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. 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. 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. Use time & material for some phases ● Early prototyping and experimentation ● Initial estimation ● Maintenance