Upgrade to Pro — share decks privately, control downloads, hide ads and more …

From Agile to DevOps to Continuous Delivery – H...

From Agile to DevOps to Continuous Delivery – How to Evolve Your Software Delivery”

This talk was given at DevOps Summit West and DevOps Summit East, November 2015.

To build on the success of Agile, which started in the development organization, DevOps and Continuous Delivery have emerged to help connect development with IT operations (mainly through the introduction of automation) to support and amplify agility, responsiveness and faster time-to-market throughout the software delivery lifecycle.

In this session, attendees will learn how to embrace DevOps and Continuous Delivery in a manner that aligns with existing Agile practices; obtain tips for assessing the current state of delivery success; and, garner strategies for identifying a starting point for DevOps and Continuous Delivery.

Anders Wallgren

November 20, 2015
Tweet

More Decks by Anders Wallgren

Other Decks in Technology

Transcript

  1. © Electric Cloud | www.electric-cloud.com How to Evolve Your Software

    Delivery From Agile to DevOps to Continuous Delivery
  2. © Electric Cloud | www.electric-cloud.com Customers want value. Quickly. In

    the age of the consumer, empowered buyers demand a new level of customer obsession Amy DeMartine, Forrester
  3. © Electric Cloud | www.electric-cloud.com Are we there yet? “Are

    you able to deliver new software to production as fast as the business demands?” Based on a 2015 survey of 90+ IT Managers, Directors, Sr. Directors and VPs taken during an EC webinar featuring Forrester Research and Lockheed Martin No Yes ?
  4. © Electric Cloud | www.electric-cloud.com The path to software delivery

    success • First, you think. • Then, you code. • Then a “bunch of stuff” happens. • Then, your code is live, being used by millions of people!
  5. © Electric Cloud | www.electric-cloud.com The trouble with software delivery,

    today • Supporting Agile development velocity downstream • Slow cycle time • Lack of shared visibility between Dev, QA and Ops • Manually operated and non-integrated tool chains • Multiple poorly utilized redundant build and test systems across locations • Brittle, error-prone, and non-scalable home-built systems • No way to audit processes or predict schedules • Wasted time, money dealing with broken build
  6. © Electric Cloud | www.electric-cloud.com What is Continuous Delivery? 10

    Continuous Delivery (CD) is a pattern language used in software development to automate and improve the process of software delivery Or…read this book
  7. © Electric Cloud | www.electric-cloud.com Eliminate Mundane Tasks Increased Agility

    Reduce Wasted Time More Efficient Iterations Less Stress
  8. © Electric Cloud | www.electric-cloud.com Benefits of Continuous Delivery •

    Faster Time to Market • Improved Resource Utilization • Enhanced Predictability • Reduced Cost & Complexity • Innovation
  9. © Electric Cloud | www.electric-cloud.com DevOps & Continuous Delivery: Positive

    Impact Julie Craig, EMA, DevOps and Continuous Delivery: Ten Factors Shaping the Future of Application Delivery, 2014 We do CD We don’t do CD More than 10% Revenue Growth Less than 10% Revenue Growth
  10. © Electric Cloud | www.electric-cloud.com Remember the Agile Manifesto? .

    . . to satisfy the customer through early and continuous delivery of valuable software. #1 of the Twelve Principles behind the Agile Manifesto
  11. © Electric Cloud | www.electric-cloud.com The evolution of software development

    methodologies Kurt Bittner If Agile was the opening act to a great performance… Continuous Delivery is the headliner. Agile Development “An iterative approach to delivering value frequently, and in small batches.” Continuous Integration “Automated build and unit test after each check-in.” Continuous Delivery “Maintaining software in a release-ready state using CI + on-demand automated deploy, QA or prod environments.”
  12. © Electric Cloud | www.electric-cloud.com Are You Practicing Continuous Delivery?

    DZONE Continuous Delivery Study, 2014 59% No 27% Yes for some projects 14% Yes
  13. © Electric Cloud | www.electric-cloud.com Continuous Delivery: Adoption Blockers 66%

    66% 25% TOOLS CULTURE TIME DZONE Continuous Delivery Study, 2014
  14. © Electric Cloud | www.electric-cloud.com Continuous Delivery: Challenges VP of

    Engineering Distributed teams Non-standard processes across different teams Duplicated/distributed environments Inefficient artifacts sharing between overseas teams Large collection of non- orchestrated siloed tools Scheduling of tasks in virtualized resources Quality TTM Low productivity Real-time feedback on code quality Low infrastructure utilization Competitiveness Long testing cycles Inadequate access control for critical processes Manual “spreadsheet- driven” processes Need self-service access to environments Lack of shared visibility into pipelines Insufficient testing / code coverage leads to escaped bugs Finger-pointing Flaky automation servers Slow builds Jobs lost in-flight Complex Toolchains Complex Environments Complex Processes Complex Applications Many islands of automation Failed deployments VM Sprawl Long wait times Track issues from request to release What is running where?
  15. © Electric Cloud | www.electric-cloud.com Continuous Delivery Principles (another sampling)

    Create a repeatable, reliable process of releasing / deploying software Need for Speed: cycle time matters. A lot. Build quality in: use processes that encourage quality: TDD, BDD Done means done “It works on my machine” everybody is responsible for the delivery process Continuous improvement: lather, rinse, repeat If it’s worth doing… automate it
  16. © Electric Cloud | www.electric-cloud.com Ouch, quit it! Thank you

    sir, may I have another If it hurts, do it more frequently, and bring the pain forward; solve the root-cause instead of working on the symptoms
  17. © Electric Cloud | www.electric-cloud.com Automate! Shrink Cycle Times Done

    Means Done It Worked in Dev… Build Quality In Keep Improving
  18. © Electric Cloud | www.electric-cloud.com CD Fitness: Process Level Characteristics

    Level 0 No process, ad-hoc software delivery schedule Level 1 Many project plans but lack of well-defined processes for change requests (requirements, designs, escalation) No process for continuous testing Level 2 Some well-defined processes exist (e.g. CI, CT, CR) but execution is not consistent nor integrated end-to-end Agile may be used in small batch sizes, in some projects Level 3 Well defined, end-to-end, pipeline, and automation Code is kept in a single branch More evolved processes is utilized (Kanban e.g.) Level 4 Well defined continuous adjustment and improvement process to meet fast moving business requirements by leveraging data generated by the end-to-end CD monitoring tool
  19. © Electric Cloud | www.electric-cloud.com CD Fitness: Technology Level Characteristics

    Level 0 Homegrown scripts or manual processes Basic open source tools Level 1 Many siloed tools, independently used to solve specific issues Commonly operated by different individuals without common understanding, process or oversight Level 2 Shared infrastructure (testing, preflight, delivery) exists Islands of automation with minimal interaction Level 3 Automation throughout build/test/deploy lifecycle Automated provisioning and configuration of necessary assets Centralized, self-service infrastructures that are elastic End-to-end visibility and traceability Level 4 Executive dashboards allow decision makers to make real-time adjustment based on business needs Business determines which content should be released and when
  20. © Electric Cloud | www.electric-cloud.com CD Fitness: Culture Level Characteristics

    Level 0 Small teams working on skunk works projects, academic in nature Level 1 Very private, communication via email, very reactive Level 2 Collaboration occurs but focus on individual modules, “tossed over the wall” for the next group Level 3 Understand business goal, eager to help, seek out help and feedback, focus on coaching and mentoring Level 4 Collaboration and cooperation are paramount, feedback are reviewed and incorporated
  21. © Electric Cloud | www.electric-cloud.com Release Profile and CD Fitness

    Level 4 Level 3 Level 2 People Processes Tools / Technologies Level 1 Monthly 6 months or > Quarterly Weekly Daily
  22. © Electric Cloud | www.electric-cloud.com Transformative Benefits 10 min FASTER

    DEVELOP TO DEPLOY 90 days 99% improvement TIME 0 errors LESS ERRORS per cycle 10 errors 90+% improvement ERRORS 15 min FASTER DEPLOYMENTS 90+ min 80+% improvement TIME 6 hours FASTER DEVELOP TO DEPLOY 24 hours 75% improvement TIME minutes FASTER AUDITABILITY who, what, when, how 20 days 90% improvement TIME
  23. © Electric Cloud | www.electric-cloud.com Success Story: Family Search Largest

    genealogical organization in the world Employ ~1000 people Multiple web-based applications 24x7 availability requirement Challenges prior to CD: • Cannot deliver features to customer fast enough • Delivering features customers want? • System downtime impacts customer experience • Reduced developer productivity • Loss of continuity
  24. © Electric Cloud | www.electric-cloud.com Success Story: Family Search In

    the past we released products in one to three months; now we can go from commit to production every 10 minutes. Automation is a key part of making that happen.
  25. © Electric Cloud | www.electric-cloud.com Thought Leaders “People not practicing

    Continuous Delivery often doubt it can work. Once they’ve developed in this type of environment they can’t imagine ever going back.” - Gary Gruver, Agile Leader and Co-author: “Large Scale Agile Development” “I am excited to be a part of this industry-wide effort to elevate the state of the practice, and thank Electric Cloud and their partners for helping accelerate the adoption of DevOps practices.” - Gene Kim, DeOps researcher, co-author of "The Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win”