Mary Poppendieck: Agile under contract

Uploaded on


More in: Business , Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads


Total Views
On Slideshare
From Embeds
Number of Embeds



Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

    No notes for slide


  • 1. lsoftware development e a n Agile Under Contract Win–Win Mary Poppendieck
  • 2. A True Story The Cast of Characters Act II Harold (Senior Plant Product Engineer) Every month for 18 months Dave (Division Engineering Manager) I travel to XRI Harold often comes with me Me (Process Control Engineer) We review the work of the XRI (The Vendor) XRI development team Act I Act III Dave signs a time-and-materials System is delivered on time. contract against his boss’s Saves plant ½ its cost 1st month. advice to go fixed price. Harold is a hero. My job is to keep Dave out of Dave looks brilliant. l e a n trouble and make sure Harold I become plant IT manager. gets what he needs. XRI: profit + reputation.2 October 11 Copyright©2007 Poppendieck.LLC
  • 3. Lessons LearnedLesson 1: Detailed “requirements” are actually solution design.  Observation 1: Responsibility for success lies with the solution designer.  Conclusion: Responsibility for success lies with the organization that specifies the detailed “requirements”.3 October 11 Copyright©2011 Poppendieck.LLC l e a n
  • 4. Why Not Fixed Price? Early Scope Definition (protects the vendor) Excess Scope (protects the customer) Features and Functions Used in a Typical SystemOften or Always Sometimes Rarely Used: 20% 16% 19% NeverOften 45%13% l e a n Always 7% Rarely or Never Standish Group Study Reported at XP2002 by Jim Johnson, Chairman Used: 64%Cop October 11 4
  • 5. Lessons LearnedLesson 2: Development is a learning process.  Observation 2: An experienced vendor can guarantee a solution that works; but it should not be expected to guarantee the exact details of that solution.  Conclusion: Solution design emerges during the course of a contract, not as its first stage.5 October 11 Copyright©2011 Poppendieck.LLC l e a n
  • 6. Case Study: Stamping DiesJapan USMistakes very expensive Mistakes very expensiveNever-ending changes Never-ending changesFocus: Reduce Time Focus: Reduce WasteEarly Design – Early Cut Wait to Design – Wait to CutDesigner makes changes Slow change approval systemTarget cost (includes changes) Fixed cost (changes are profit!)10-20% cost for changes 30-50% cost for changes l e a nHalf the time, Half the cost Twice the time, twice the cost6 October 11 Copyright©2006 Poppendieck.LLC
  • 7. Lessons LearnedLesson 3: Start with a clear understanding of the critical business results that must be delivered.  Observation 3: It is the job of the development team to determine how to deliver those results.  Conclusion: Both parties must be committed to work together to achieve the business goals.7 October 11 Copyright©2011 Poppendieck.LLC l e a n
  • 8. The Purpose of ContractsConventional Wisdom  Companies inevitably look out for their own interests  Contracts are needed to limit opportunistic behaviorThe Agile Approach  Assume other party will act in good faith  Let the relationship limit opportunism  Use the contract to set up incentives  Align the best interests of each party l e a n with the best interests of the joint venture8 October 11 Copyright©2006 Poppendieck.LLC
  • 9. Lessons LearnedLesson 4: Mitigate development risk with frequent delivery/assessment.  Observation 4: It is technically possible, less expensive, and very desirable to deliver software in small increments.  Conclusion 4: Regular delivery, deployment and evaluation of useful functionality is the best software development risk mitigation strategy.9 October 11 Copyright©2011 Poppendieck.LLC l e a n
  • 10. Case Study: T5 AgreementHeathrow Terminal 5 In Practice  2002 – 2008  147 Sub-Projects  ₤4.2 billion  Integrated Team  Target CostBAA  Pool of incentive/risk money  Delay would threaten existence  2/3’s split among contractors  Studied other terminal projects  On Time  Assumed responsibility for risk  On BudgetT5 Agreement  Very Safe  Legally binding  Contractors agree to:  work in teams  mitigate risks l e a n  work to achieve the best possible results10 October 11 Copyright©2008 Poppendieck.LLC
  • 11. Contracting Approach1. Treat software development as a professional service.  Most organizations contract for services  (legal, marketing, engineering, software maintenance).  Software development contracts should follow the patterns established for service contracts.2. Contract for measurable business (not technical) results  Specify levels of desirable/acceptable performance  Multiple levels: aspiration, acceptable, unacceptable  Plan for incremental delivery/deployment/assessment  Maximum of 10% of contract (or 1 month) per increment  Assess/adjust overall approach after each increment3. Make both parties mutually responsible for results  Risk should be born by the party most capable in the area l e a n  Use the contract to align incentives of both parties  Consider overall target cost with short fixed price sub-contracts11 October 11 Copyright©2011 Poppendieck.LLC
  • 12. Target Cost  Based on high level business goals.  Target cost includes all changes  Target is the joint responsibility of both parties  Goals and target cost are clearly communicated to workers who are expected to work together and compromise to achieve the goals within the cost  Negotiations occur if target cost might be exceeded  Neither party benefitsWorkers at all levels have clear incentives to workcollaboratively, compromise, and meet the target.12 October 11 Copyright©2006 Poppendieck.LLC l e a n
  • 13. Partnership ContractsStructure  Umbrella or framework contract  Establishes critical business expectations  Establishes target cost / schedule  Release work in stages  Keep stages small  Each stage is an iteration  Iteration scope depends on the most pressing business needs and the professional judgment of the development teamContract Form  Describes the services, not the deliverables  Establishes high level expectations and constraints  Establishes ownership and intellectual property rights l e a n  Provides the framework for negotiating iteration details  Provides for disagreements: escalation, mediation, and termination13 October 11 Copyright©2006 Poppendieck.LLC
  • 14. The Agile ApproachWin-Win Contracts  Based on mutual commitment  To critical goals and constraints  Provide for risk sharing  Risk born by party most able to manage it  Establish correct incentives for all parties to work together for the good of the Joint Venture  Assume learning will occur over time  Expect a professional response to change and uncertaintyCop October 11 14 l e a n  Almost always yield faster, better, cheaper results
  • 15. lsoftware development e a n Thank You! More Information: Mary Poppendieck