the rationale for continuous delivery
play

The Rationale For Continuous Delivery Or What Does Good Look Like? - PowerPoint PPT Presentation

The Rationale For Continuous Delivery Or What Does Good Look Like? Dave Farley http://www.davefarley.net @davefarley77 http://www.continuous-delivery.co.uk The State of Software Development The State of Software Development Source:


  1. The Rationale For Continuous Delivery Or What Does ‘Good’ Look Like? Dave Farley http://www.davefarley.net @davefarley77 http://www.continuous-delivery.co.uk

  2. The State of Software Development

  3. The State of Software Development Source: KPMG (New Zealand) Date: 2010 In a study of project management practices: 1) 70% of organizations have suffered at least one project failure in the last 12 months 2) 50% of respondents indicated that their projects consistently failed to achieve what they set out to achieve.

  4. The State of Software Development Source: KPMG (New Zealand) Date: 2010 In a study of project management practices: Source: KPMG – Global IT Management Survey 1) 70% of organizations have suffered at least one Date: 2005 project failure in the last 12 months In a survey of 600 projects worldwide: 2) 50% of respondents indicated that their projects consistently failed to achieve what they set out to 1) 49% of organisations had suffered a project failure achieve. in the past 12 months 2) 2% of organisations reported that all of their projects achieved their desired benefits.

  5. The State of Software Development Source: KPMG (New Zealand) Date: 2010 In a study of project management practices: Source: KPMG – Global IT Management Survey 1) 70% of organizations have suffered at least one Date: 2005 project failure in the last 12 months In a survey of 600 projects worldwide: Source: Logica Management Consulting 2) 50% of respondents indicated that their projects Date: 2008 consistently failed to achieve what they set out to 1) 49% of organisations had suffered a project failure achieve. in the past 12 months In a survey of 380 senior execs in Western Europe: 2) 2% of organisations reported that all of their 1) 35% of organisations abandoned a major project projects achieved their desired benefits. in the last 3years 2) 37% of business change programmes fail to deliver benefits.

  6. The State of Software Development Source: KPMG (New Zealand) Date: 2010 In a study of project management practices: Source: KPMG – Global IT Management Survey 1) 70% of organizations have suffered at least one Date: 2005 project failure in the last 12 months In a survey of 600 projects worldwide: Source: Logica Management Consulting 2) 50% of respondents indicated that their projects Date: 2008 consistently failed to achieve what they set out to 1) 49% of organisations had suffered a project failure achieve. in the past 12 months In a survey of 380 senior execs in Western Europe: Source: The McKinsey Group with Oxford 2) 2% of organisations reported that all of their University 1) 35% of organisations abandoned a major project projects achieved their desired benefits. Date: 2012 in the last 3years In a study of 5,400 large scale projects (> $15m): 2) 37% of business change programmes fail to deliver benefits. 1) 17% of projects go so badly that they threaten the existence of the company performing them. 2) On average large projects run 45% over budget and 7% over time while delivering 56% less value than predicted.

  7. The State of Software Development Has Been Err…. Sub-Optimal

  8. The State of Software Development Has Been Err…. Sub-Optimal

  9. The State of Software Development Has Been Err…. Sub-Optimal But there are signs of change…

  10. What Have We Tried?

  11. What Have We Tried?

  12. What Have We Tried?

  13. What Have We Tried?

  14. What Have We Tried?

  15. What Have We Tried?

  16. What Have We Tried?

  17. What Have We Tried?

  18. What Have We Tried?

  19. What Have We Tried?

  20. What Have We Tried?

  21. Learning From Our Mistakes

  22. Learning From Our Mistakes “Insanity is doing the same thing over and over again and expecting different results.” Albert Einstein

  23. What Do We Really Want? Customer Business Idea Feedback

  24. What Do We Really Want? Quickly Cheaply Customer Business Idea Reliably Feedback

  25. A Question….

  26. A Question…. What is the most successful invention in human history?

  27. A Question…. SCIENCE

  28. The Scientific Method Characterisation Make a guess based on experience and observation. Hypothesis Propose an explanation. Deduction Make a prediction from the hypothesis. Experiment Test the prediction. Repeat!

  29. What Works? Agile Waterfall 9% 29% 49% 57% 42% 14% Challenged Successful Failed Source: The CHAOS Manifesto, The Standish Group 2012

  30. What Works? - More Data Agile Lean Iterative 7% 28% 7% 6% 21% 30% 65% 64% 72% Ad-Hoc Traditional 15% 18% 35% 32% 50% 49% Source: Scott Ambler, Dr. Dobbs Journal, Feb 2014 (http://www.drdobbs.com/architecture-and-design/the-non-existent-software-crisis-debunki/240165910)

  31. What Works? - More Data Agile Lean Iterative Lean Thinking … 7% 28% 7% 6% 21% 30% • Deliver Fast • Build Quality In 65% 64% 72% • Optimise the Whole • Eliminate Waste Ad-Hoc Traditional • Unnecessary Variations (Mura) • Overburden (Muri) 15% • Wasteful activities (Muda) 18% 35% 32% • Amplify Learning • Decide Late 50% • Empower the Team 49% Source: Scott Ambler, Dr. Dobbs Journal, Feb 2014 (http://www.drdobbs.com/architecture-and-design/the-non-existent-software-crisis-debunki/240165910)

  32. What Really Works? Smart Automation - a repeatable, reliable process for releasing software Executable Idea Unit Test Code Build Release spec.

  33. What Really Works? Smart Automation - a repeatable, reliable process for releasing software Executable Idea Unit Test Code Build Release spec.

  34. What Really Works? Smart Automation - a repeatable, reliable process for releasing software “It doesn’t matter how intelligent you are, if you guess and that guess cannot be backed Executable Idea Unit Test Code Build Release up by experimental evidence – then it is still spec. a guess!” - Richard Feynman

  35. Cycle-Time Typical Traditional Cycle Time 10 days 64 days 103 days

  36. Cycle-Time Typical Traditional Cycle Time 10 days 64 days 103 days Automated performance testing Commit Stage Compile Automated Unit test acceptance Release Analysis testing Typical CD Cycle Time 20 mins Build Installers Manual testing 3 mins 20 mins 4 mins 30 mins 57 mins

  37. What Is Continuous Delivery? “Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.” The first principle of the agile manifesto. The logical extension of continuous integration. A holistic approach to development. Every commit creates a release candidate. Finished means released into production!

  38. The Principles of Continuous Delivery Create a repeatable, reliable process for releasing software. Automate almost everything. Keep everything under version control. If it hurts, do it more often – bring the pain forward. Build quality in. Done means released. Everybody is responsible for the release process. Improve continuously.

  39. The Principles of Continuous Delivery Create a repeatable, reliable process for releasing software. “If Agile software development Automate almost everything. Keep everything under version control. was the opening act to a great If it hurts, do it more often – bring the pain forward. performance, Continuous Build quality in. Done means released. Delivery is the headliner.” Everybody is responsible for the release process. Improve continuously. Forrester Research 2013

  40. What Does This Look Like?

  41. Example Continuous Delivery Process Local Dev. Env. Source Repository

  42. Example Continuous Delivery Process Local Dev. Env. Source Repository

  43. Example Continuous Delivery Process Commit Local Dev. Env. Source Repository

  44. Example Continuous Delivery Process Commit Local Dev. Env. Source Repository

  45. Example Continuous Delivery Process Commit Local Dev. Env. Source Repository Artifact Repository

  46. Example Continuous Delivery Process Commit Local Dev. Env. Source Repository Commit Artifact Repository

  47. Example Continuous Delivery Process Commit Local Dev. Env. Acceptance Source Repository Commit Artifact Repository

  48. Example Continuous Delivery Process Commit Local Dev. Env. Acceptance Source Repository Commit Artifact Repository

  49. Example Continuous Delivery Process Commit Local Dev. Env. Acceptance Source Repository Commit Acceptance Artifact Repository

  50. Example Continuous Delivery Process Commit Local Dev. Env. Acceptance Source Repository Commit Acceptance Manual Test Env. Artifact Deployment Repository App.

  51. Example Continuous Delivery Process Commit Local Dev. Env. Acceptance Source Repository Commit Acceptance Manual Test Env. Artifact Deployment Repository App.

  52. Example Continuous Delivery Process Commit Local Dev. Env. Acceptance Source Repository Commit Acceptance Manual Test Env. Artifact Deployment Repository Manual App.

  53. Example Continuous Delivery Process Commit Local Dev. Env. Acceptance Source Repository Commit Acceptance Manual Test Env. Artifact Deployment Repository Manual App. Component Performance

Recommend


More recommend