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

Continuous Delivery is more than just Tooling, ...

Continuous Delivery is more than just Tooling, It's a Mindset

So your organisation wants to implement Continuous Delivery. But is your organisation ready for this ? Does it have the right mindset ? To be successful with Continuous Delivery, you have to adopt the proper mindset as a whole organisation. Just throwing tools at it will not do the job.

Thierry de Pauw

May 03, 2016
Tweet

More Decks by Thierry de Pauw

Other Decks in Technology

Transcript

  1. @tdpauw thinkinglabs.io The goal of Continuous Delivery is to sustainably

    minimise the lead time to create positive business impact.
  2. @tdpauw thinkinglabs.io The Principle of the 3 Ways • Increase

    Speed • Improve Stability • Culture of Improvement
  3. @tdpauw thinkinglabs.io #1 - Increase Speed Maximise the flow of

    the software delivery process. Development Operations Customer Business
  4. @tdpauw thinkinglabs.io Repeatable and reliable process for delivering software. This

    means • automate the hell out of it, • and everything is under version control.
  5. @tdpauw thinkinglabs.io Bigger batches = bigger risks • Release process

    is more often practiced • Finding out what went wrong is easier • Rolling back small changes is easier • Roll forward a new version
  6. @tdpauw thinkinglabs.io Your application is always in a releasable state

    on mainline. Ready for release does not mean actually releasing. Software with unfinished work can still be released. Every build is a potential release candidate.
  7. @tdpauw thinkinglabs.io Trunk Based Development • Make changes incrementally •

    Hide unfinished new functionality • Branch by Abstraction
  8. @tdpauw thinkinglabs.io Trunk Based Development • Make changes incrementally •

    Hide unfinished new functionality • Branch by Abstraction • Feature Toggle
  9. @tdpauw thinkinglabs.io #2 - Improve Stability Creating feedback loops at

    all stages of the pipeline. Development Operations Customer Business
  10. @tdpauw thinkinglabs.io Build quality into the code from the start,

    don't test it in later. 2 kinds of inspections • Inspection after the defect occurred • Inspection to prevent defects
  11. @tdpauw thinkinglabs.io Testing is not a phase, it is part

    of your development process. Everybody is responsible for the quality.
  12. @tdpauw thinkinglabs.io Move away from the Test Ice Cream Cone

    Unit Tests Acceptance Tests End to End Tests Manual Tests
  13. @tdpauw thinkinglabs.io "If a system is not improving, the result

    is not steady state. Instead, because of entropy, organisational performance declines." -- Mike Rother, Toyota Kata: Managing People for Improvement, Adaptiveness and Superior Results
  14. @tdpauw thinkinglabs.io Repetition and practice leads to mastery. If it

    hurts, do it more often. Bring the pain forward.
  15. @tdpauw thinkinglabs.io Optimising for throughput and for speed gets you

    to lower costs and higher quality. Where in the past optimising for cost and quality got you neither.
  16. @tdpauw thinkinglabs.io Version Control Test Driven Development Automated Configuration Assume

    - Verify Automated Infrastructure Acceptance Test Driven Development Deployment Pipeline Consumer Driven Contracts Trunk Based Development Exploratory Testing Continuous Integration Smoke Tests Evolutionary Architecture Test Data Management Database Migrations Monitoring & Alerting Canary Deployments Required Technological Changes
  17. @tdpauw thinkinglabs.io Required Organisational Changes Empowered Product Teams Everyone is

    On-Call Cross-Functional Teams Continuous Change Review Small Batch Sizes Traceability of Changes Shared Incentives Upskill Employees Blameless Post-Mortems Conway's Law Alignment Continuous Improvement
  18. @tdpauw thinkinglabs.io “When considering an agile transformation, consider adopting Continuous

    Delivery because it embodies the technical heart of Agile.” -- Mary Poppendieck, Pitfalls of Agile Transformations
  19. @tdpauw thinkinglabs.io @tdpauw thinkinglabs.io Hello, my name is Thierry de

    Pauw, @tdpauw Continuous Delivery consultant Agile Technical coach Lean and XP Software Engineer Founder of ThinkingLabs shy, introvert, opinionated dark chocolate, coffee Ghent, Belgium