From Iterative to Continuous Delivery, PNSQC 2014

  • Published on

  • View

  • Download

Embed Size (px)


The business team complained that 3-week release cycle was not fast enough. We changed to a continuous delivery cycle, releasing stories as soon as they were ready to be released. This presentation was given at the Pacific Northwest Software Quality Conference in 2014.


<ul><li> 1. Continuous DeliveryBridging Quality Between Development and CustomersJohn Ruberto, Director of Quality Engineering, Intuit, Inc.</li></ul> <p> 2. 22Great Innovative Place to Work22012 2011#8 Intuit Inc.2013Our 13thYear !! 3. 33Intuits missionTo improve our customers financial lives so profoundlythey cant imagine going back to the old wayCONSUMERSSMALLBUSINESSESACCOUNTINGPROFESSIONALS 4. 44I thought we were agile enough 3 Week release cycles Business team wanted to move faster Faster innovations Lots of change complete redesign Complex release environment (many products) We moved to Continuous Delivery Refreshed technology, team, and site When a story is complete it gets deployed. 5. 5SLDCDefineCode &amp;Unit TestIntegrationTestDeploySystemTest 6. 6Continuous IntegrationDefineCode &amp;Unit TestIntegrationTestDeploySystemTest 7. 7Continuous DeliveryDefineCode &amp;Unit TestIntegrationTestDeploySystemTest 8. 8Continuous DeploymentDefineCode &amp;Unit TestIntegrationTestDeploySystemTest 9. 93-Week Release CycleDefine Code &amp; UTSysTest3 WeeksDefine Code &amp; UTSysTestIterationNIterationN+1Deploy Deploy 10. 1010Benefits of Continuous Delivery Increase Velocity of Innovation Planning Flexibility Avoiding Technical Debt Teamwork 11. 1111Use Caution Requires a low cost of deployment You control deployment Regulatory environment might not be compatible Difficult to retrofit into existing applications Applications that operate extensively on data 12. 1212QuickBooks Support site Web-based support for 4 million small businessusers and accountants Design refresh across our product eco-system Ease is vital Old site: Lots of tech debt (50% of effort in eachrelease) 3-week release cycle - Scrum 13. 1313The Case for Change Quicker delivery = fewer customer frustrations Technology refresh was required to make thishappen Good for long term Good for engineering team Good for business 14. 1414People InvestmentsOLD NEW Collaboration Test First (TDD) Everyone Tests Accountability witheach build Deploymentautomation built in Structured Hand-off Build then test QA Tests Tests RevealProblems Manual Deployments 15. 1515Technology Investments Ruby / Ruby-on-Rails Rspec: BDD Framework Jenkins Chef Static Analysis/style checker Amazon AWS Selenium Webdriver 16. 16Deployment PipelineDeveloperMachineIntegrationPre-ApprProduction ProductionPassPassPassove Code Review Unit Test AccretiveTestCoverageDeploymentPipelinePractices Static Analysis Automated UAT Performance DeploymentValidation BusinessDecision toRelease 17. 1717Tips Make sure of business need &amp; business iscommitted Is your system compatible with CD Does your team have the Agile mindset? Your technology should support CI &amp; automateddeployment Start small and build incrementally 18. 1818Contact me: @JohnRuberto;A </p>