continuous delivery
play

Continuous Delivery Jez Humble, ThoughtWorks Studios @jezhumble - PowerPoint PPT Presentation

Continuous Delivery Jez Humble, ThoughtWorks Studios @jezhumble #continuousdelivery JAOO 2010, rhus Agile 101 "Agile" team Centralized QA IT Operations Analysis + Design Development Integration + QA Release and operation


  1. Continuous Delivery Jez Humble, ThoughtWorks Studios @jezhumble #continuousdelivery JAOO 2010, Århus

  2. Agile 101 "Agile" team Centralized QA IT Operations Analysis + Design Development Integration + QA Release and operation Customer Testing + Showcase Iteration 0 1 2 3 4 The "last mile"

  3. web 2.0 disrupting traditional businesses http://code.flickr.com/

  4. releasing frequently feedback from users Customer developent Agile product development Eric Ries, “The Lean Startup” http://bit.ly/8ZoX5F

  5. releasing frequently feedback from users reduce risk of release John Allspaw: “Ops Metametrics” http://slidesha.re/dsSZIr

  6. releasing frequently feedback from users reduce risk of release real project progress

  7. agile manifesto Our highest priority is to satisfy the customer through early and continuous delivery of valuable software

  8. production-ready software Fast, automated feedback on the production readiness of your applications every time there is a change - to code, infrastructure, or configuration

  9. continuous delivery Customer Delivery team Constant flow of new features into production Software always production ready Releases tied to business needs, not operational constraints

  10. value stream mapping Product Product Product Final testing opportunity planning and Development Release discovery and approval assessment estimation 2 3 days 1 week 10 days 7 weeks 1 week hours Value-added time Elapsed time 1 week 10 days 3 days 5 days 2 days

  11. deployment pipeline Delivery team Version control Release Build & unit Automated User acceptance tests acceptance tests tests Check in Trigger Feedback Check in Trigger Feedback Trigger Feedback Check in Trigger Feedback Trigger Feedback Approval Approval Feedback

  12. deployment pipeline

  13. deployment pipeline

  14. principles • create a repeatable, reliable process for releasing software • automate almost everything • keep everything in version control • if it hurts, do it more often, and bring the pain forward • build quality in • done means released • everybody is responsible for delivery • continuous improvement

  15. ask this question • “How long would it take your organization to deploy a change that involved just one single line of code? Do you do this on a repeatable, reliable basis?” • What gets in the way of getting software out of the door? Mary and Tom Poppendieck, Implementing Lean Software Development, p59 .

  16. practices only build your binaries once deploy the same way to every environment smoke test your deployments keep your environments similar if anything fails, stop the line

  17. continuous integration Professor Plum P1 P2 P3 P4 P4 P1 P2 P3 P4 P5 P3 P4 P5 P1 P2 G3 B2 G1 B1 G2 Mainline B1 B2 B1 B2 P4-5 P1-2 G1 G2 P3 G4 G5 G6 G3 G1 G2 G3 G4 G5 G6 Reverend Green G3 G4 G2 everybody checks in to mainline use branch by abstraction for architectural change use feature bits to switch off incomplete features Diagram invented by Martin Fowler

  18. different kinds of testing Business facing AUTOMATED MANUAL Showcases Support programming Functional acceptance Usability testing tests Critique project Exploratory testing Unit tests Non-functional Integration tests acceptance tests System tests (performance, scaling, ...) AUTOMATED MANUAL / AUTOMATED Technology facing Diagram invented by Brian Marick

  19. canary releasing

  20. data migration

  21. objections Visibility and control over locking down Compliance - automation over documentation Auditing - see who does what Make it easy to remediate outages

  22. people are the key Get everyone together at the beginning Keep meeting Make it easy for everyone to see what’s happening Continuous improvement (kaizen)

  23. thank you! http://continuousdelivery.com/ http://studios.thoughtworks.com/go http://thoughtworks.com/

Recommend


More recommend