18
Continuous Delivery Bridging Quality Between Development and Customers John Ruberto, Director of Quality Engineering, Intuit, Inc.

From Iterative to Continuous Delivery, PNSQC 2014

Embed Size (px)

DESCRIPTION

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. http://bit.ly/1xCuKWD

Citation preview

Page 1: From Iterative to Continuous Delivery, PNSQC 2014

Continuous DeliveryBridging Quality Between Development and Customers

John Ruberto, Director of Quality Engineering, Intuit, Inc.

Page 2: From Iterative to Continuous Delivery, PNSQC 2014

222

Great Innovative Place to Work

2

20112012

#8 Intuit Inc.

2013

Our 13th

Year !!

Page 3: From Iterative to Continuous Delivery, PNSQC 2014

333

Intuit’s mission

To improve our customers’ financial lives so profoundly…they can’t imagine going back to the old way

CONSUMERSSMALL

BUSINESSESACCOUNTING

PROFESSIONALS

Page 4: From Iterative to Continuous Delivery, PNSQC 2014

444

I 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.

Page 5: From Iterative to Continuous Delivery, PNSQC 2014

55

SLDC

Define

Code & Unit Test

Integration TestSystem Test

Deploy

Page 6: From Iterative to Continuous Delivery, PNSQC 2014

66

Continuous Integration

Define

Code & Unit Test

Integration TestSystem Test

Deploy✔

Page 7: From Iterative to Continuous Delivery, PNSQC 2014

77

Continuous Delivery

Define

Code & Unit Test

Integration TestSystem Test

Deploy

✔✔

Page 8: From Iterative to Continuous Delivery, PNSQC 2014

88

Continuous Deployment

Define

Code & Unit Test

Integration TestSystem Test

Deploy✔

✔✔

Page 9: From Iterative to Continuous Delivery, PNSQC 2014

99

3-Week Release Cycle

Define Code & UTSys Test

Define Code & UTSys Test

IterationN

IterationN+1

Deploy Deploy3 Weeks

Page 10: From Iterative to Continuous Delivery, PNSQC 2014

101010

• Increase Velocity of Innovation

• Planning Flexibility

• Avoiding Technical Debt

• Teamwork

Benefits of Continuous Delivery

Page 11: From Iterative to Continuous Delivery, PNSQC 2014

111111

• 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

Use Caution

Page 12: From Iterative to Continuous Delivery, PNSQC 2014

121212

• Web-based support for 4 million small business users and accountants

• Design refresh across our product eco-system

• Ease is vital

• Old site:

– Lots of tech debt (50% of effort in each release)

– 3-week release cycle - Scrum

QuickBooks Support site

Page 13: From Iterative to Continuous Delivery, PNSQC 2014

131313

The Case for Change

• Quicker delivery = fewer customer frustrations

• Technology refresh was required to make this happen

– Good for long term

– Good for engineering team

– Good for business

Page 14: From Iterative to Continuous Delivery, PNSQC 2014

141414

• Collaboration

• Test First (TDD)

• Everyone Tests

• Accountability with each build

• Deployment automation built in

People Investments

OLD NEW• Structured Hand-off

• Build then test

• QA Tests

• Tests Reveal Problems

• Manual Deployments

Page 15: From Iterative to Continuous Delivery, PNSQC 2014

151515

• Ruby / Ruby-on-Rails

• Rspec: BDD Framework

• Jenkins

• Chef

• Static Analysis/style checker

• Amazon AWS

• Selenium Webdriver

Technology Investments

Page 16: From Iterative to Continuous Delivery, PNSQC 2014

1616

Deployment Pipeline

Developer Machine

IntegrationPre-

Production Production

Pass

Pass

Pass

Approve

• Code Review• Unit Test• Accretive

Test Coverage

Deployment Pipeline

Practices • Static Analysis• Automated UAT• Performance

• Deployment Validation

• Business Decision to Release

Page 17: From Iterative to Continuous Delivery, PNSQC 2014

171717

• Make sure of business need & business is committed

• Is your system compatible with CD

• Does your team have the Agile mindset?

• Your technology should support CI & automated deployment

• Start small and build incrementally

Tips

Page 18: From Iterative to Continuous Delivery, PNSQC 2014

181818

Contact me:– [email protected]

– Blog.ruberto.com

– @JohnRuberto

– Linkedin.com/in/ruberto

Q&A