from iterative to continuous delivery, pnsqc 2014

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

Upload: john-ruberto

Post on 19-Jun-2015

223 views

Category:

Engineering


1 download

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

TRANSCRIPT

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