Mary Poppendieck: Agile under contract
Upcoming SlideShare
Loading in...5

Mary Poppendieck: Agile under contract






Total Views
Views on SlideShare
Embed Views



5 Embeds 289 241 33 7 6 2



Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

Mary Poppendieck: Agile under contract Mary Poppendieck: Agile under contract Presentation Transcript

  • lsoftware development e a n Agile Under Contract Win–Win Mary Poppendieck
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • lsoftware development e a n Thank You! More Information: Mary Poppendieck