First build the right thing


Published on

Published in: Technology, Business
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

First build the right thing

  1. 1. KeynoteFirst Build the Right Thing Then Build the Thing Right Mary Poppendieck
  2. 2. lsoftware development e a n First Build the Right Thing There is surely nothing quite so useless as doingwith great efficiently what should not be done at all. – Peter Mary Poppendieck
  3. 3. The Shrinking World “The fact is that because of the cloud, today a young upstart can take market share without an incumbent having time to react.” – Werner Vogles, Successful Innovation: Make a little. Sell a little.3 September 11 Copyright©2011 Poppendieck.LLC l e a n Learn a little.
  4. 4. Solve the Right Problem Most product failures are caused by a lack of Customers. “Many businesses disappear Think Like a Customer because the founder-entrepreneur insists that he or she knows better than the market.” – Peter Drucker “Don’t to what customers say they want, understand their problems and solve them.”– Per Haug Kogstad,4 founder, Tandberg (now Cisco) September 11 Copyrignt©2011 Poppendieck.LLC l e a n
  5. 5. Design the Experience5 September 11 Copyrignt©2011 Poppendieck.LLC l e a n Simulates the Flying Experience – Not the Buying Experience
  6. 6. What is Design Thinking? Assemble a Diverse Team Framing  Observe the Situation  Conceptualize the ProblemReframe* Ideation  Obtain Customer Insights Iterate  Visualize/Prototype Ideas Experimentation  Try Tentative Solutions*Pivot 6  Refine Mental Models September 11 Copyright©2011 Poppendieck.LLC l e a n
  7. 7. Requirements are DesignControl projects with the critical-few results that define value.Give developers the freedom to discover how to deliver those results. The worst scenario I can imagine is when we allow real customers, users, and our own salespeople to dictate ‘functions and features’ to the developers, carefully disguised as ‘customer requirements’. Maybe conveyed by our product owners. If you go slightly below the surface of these false ‘requirements’ you will find that they are not really requirements. They are really bad amateur design for the ‘real’ requirements. From: Value-Driven Development Principles and Values by Tom Gilb, –Agile Record, July 2010 Not this: But this: P R I O R I T I Z l e a n E D !7 September 11 Copyright©2011 Poppendieck.LLC
  8. 8. Don’t Divorce Design From ImplementationDomain Experience Concurrent EngineeringDesigners and implementers Implementerswork at the job they are intimatelyare automating. involved in the(Canadian Air Traffic design process.Control System.)Cross-Functional Teams Incremental DevelopmentThe team includes and Iterative Deliverypeople from every Build a minimum-functionfunction necessaryfor success, and has version that works anddirect contact with give it to users. Getusers from the onset.8 September 11 Copyright©2011 Poppendieck.LLC l e a n feedback. Repeat. See Fred Brooks: The Design of Design
  9. 9. The Fastest Lerner Wins OODA Loop: Developed by USAF strategist John Boyd Orient“It is not thestrongest of a Observespecies thatsurvives, Act Decide but the onenor the that is the most responsive to change.”most intelligent, 9 September 11 Copyright©2011 Poppendieck.LLC l e a n – Charles Darwin
  10. 10. The Lean StartupAgile Vs. Lean StartupAdapted from similarchart posted by Joshua Agile Lean StartupKerievsky, IndustrialLogic Blog† August, 2011 Product Roadmap Business Model Canvas Product Vision Product Market Fit Release Plan Minimal Viable Product On-Site Customer “Get Out Of The Building” Iteration Build-Measure-Learn Loop Iteration Review Persevere or Pivot Backlog “To Learn” List User Story Hypothesis Acceptance Test Split Test Definition of Done Validated Learning†https://elearning.industrial Continuous Integration Continuous Customer Feedback Cohort-based Metrics9&path=blog2009/2011/agileVsLeanStartup&devLangua Product Owner Entrepreneur l e a nge=Java CSM (Certified Scrum Master) CSM (Customer Success Manager) 10 September 11 Copyright©2011 Poppendieck.LLC
  11. 11. lsoftware development e a n Then Build the Thing Right If you want more effective programmers, you will discover that they should not waste their time debugging – they should not introduce bugs to start with. – Edsger Mary Poppendieck
  12. 12. Build Quality In Every software development process ever invented has had the same primary goal – find and fix defects as early in the development process as possible. If you are finding defects at the end of the development process – your process is not working for you. How good are you?When in your release cycle do you try to freeze code and test the system?What percent of the release cycle remains for this “hardening”? Top Companies: <10% Typical: 30% Sometimes: 50%12 September 11 Release Cycle Copyright©2011 Poppendieck.LLC l e a n
  13. 13. A Defect Injection Process Specifications Tests Code Match?13 September 11 Copyright©2011 Poppendieck.LLC l e a n
  14. 14. A Defect Prevention Process Specifications Tests Code14 September 11 Copyright©2011 Poppendieck.LLC l e a n
  15. 15. Observe Orient Increase the Pace Act DecideOptimize Throughput – Not Utilization  One Thing at a Time  Take Small StepsLimit Work To Capacity  Timebox – Don’t Scopebox  Pull – Don’t PushLevel the Workload  Manage the Flow of Work Queuing Theory 101  Shorten the Deployment Cycle15 September 11 Copyright©2011 Poppendieck.LLC l e a n
  16. 16. Release Cycle Observe Orient 6 Months Act Decide Quick & Dirty Value Stream Map: Request Request Select Develop Features Features Features Features Harden UAT Release Cycle Release Cycle Release Cycle Value-Added Time Total Cycle Time Time Total Cycle Start Average Start End16 September 11 Copyright©2011 Poppendieck.LLC l e a n
  17. 17. Observe Orient Release Cadence Act Decide6 Months Quarterly Request Features Select Features Develop Features Harden UAT  Specification by Example  Automated integration testing  2-4 week iterations that produce Release Cycle Release Cycle Value-Added Time integration-testable code Total Cycle Time  Business issues: Re-think public Average Start End release sales & support policiesMonthly Weekly/Daily/ Cross Functional Team Continuous  Iterations become irrelevant Short Daily Meetings  Estimating is largely unnecessary Visualization  Kanban works well here Business Issues: Software as a Service  l e a n Business Issues: Usually limited to (SaaS) works best at this cadence. SaaS or internal releases17 September 11 Copyright©2011 Poppendieck.LLC Thanks to Kent Beck for these ideas.
  18. 18. Innovation = 1% Inspiration + 99% Perspiration1. Significant, focused technical expertise  A decade of deliberate practice.2. Deep understanding of an important problem  What annoys people?3. Passion, engagement, dedication  Obsessed with growing the idea.4. Experimental approach  Build to learn. Learn to Pivot.18 September 11 Copyrignt©2011 Poppendieck.LLC l e a n
  19. 19. lsoftware development e a n Thank You! More Information: Mary Poppendieck