a continuous delivery journey -...

33
Copyright © SAS Institute Inc. All rights reserved. A Continuous Delivery Journey SHOBHA SUBRAMONIAN APRIL 05, 2018 Picture source: QuizzClub.com

Upload: others

Post on 31-May-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A Continuous Delivery Journey - triagile.comtriagile.com/.../04/A-Continuous-Delivery-Journey.pdf · A Continuous Delivery Journey SHOBHA SUBRAMONIAN APRIL 05, 2018 Picture source:

Copy r i g ht © S A S I nst i t ut e I nc. A l l r i g ht s r e se r v e d.

A Continuous Delivery JourneySHOBHA SUBRAMONIAN

APRIL 05, 2018

Picture source: QuizzClub.com

Page 2: A Continuous Delivery Journey - triagile.comtriagile.com/.../04/A-Continuous-Delivery-Journey.pdf · A Continuous Delivery Journey SHOBHA SUBRAMONIAN APRIL 05, 2018 Picture source:

2

INTRODUCTION

• A Case Study in moving to Continuous Delivery

• One organization’s journey: How we made the transition

• Practices that may work for others

C o p y r ig h t © S AS In st i tu t e In c. Al l r ig h t s re se r ve d .

Page 3: A Continuous Delivery Journey - triagile.comtriagile.com/.../04/A-Continuous-Delivery-Journey.pdf · A Continuous Delivery Journey SHOBHA SUBRAMONIAN APRIL 05, 2018 Picture source:

3

AGENDA

• WHERE WE WERE

• OUR NEW DESTINATION

• CHALLENGES

• TRANSITION PLAN

• HYBRID APPROACH

• START OF THE JOURNEY

• ROCKY ROAD

• MINDSET SHIFT

• CODE DELIVERY MODEL

• WHERE WE ARE NOW

• WHERE WE WANT TO GET TO

• DEVOPS

C o p y r ig h t © S AS In st i tu t e In c. Al l r ig h t s re se r ve d .

Page 4: A Continuous Delivery Journey - triagile.comtriagile.com/.../04/A-Continuous-Delivery-Journey.pdf · A Continuous Delivery Journey SHOBHA SUBRAMONIAN APRIL 05, 2018 Picture source:

4

WHERE WE WERE

• On premise deployments

• Releases ~ once a year

• Long development cycle

• Agile sprints: Theoretically release-ready at end of each sprint

• However we were not actually release-ready!

• Big difference between being actually ready to release versus theoretically done

C o p y r ig h t © S AS In st i tu t e In c. Al l r ig h t s re se r ve d .

Page 5: A Continuous Delivery Journey - triagile.comtriagile.com/.../04/A-Continuous-Delivery-Journey.pdf · A Continuous Delivery Journey SHOBHA SUBRAMONIAN APRIL 05, 2018 Picture source:

5

WHERE WE WERE (Continued)

………Release Planning, Scoping

Development & Test Iterations Last BuildSignoffRelease/Ship

C o p y r ig h t © S AS In st i tu t e In c. Al l r ig h t s re se r ve d .

Page 6: A Continuous Delivery Journey - triagile.comtriagile.com/.../04/A-Continuous-Delivery-Journey.pdf · A Continuous Delivery Journey SHOBHA SUBRAMONIAN APRIL 05, 2018 Picture source:

6

OUR NEW DESTINATION

• Hosted environment on the cloud (using Amazon Web Services)

• Multi-tenant

• Single code base for all customers

• Short development cycle

• Continuous delivery

• Release every 4 weeks

• 4 week Agile sprints – goal to be release-ready at end of each sprint

C o p y r ig h t © S AS In st i tu t e In c. Al l r ig h t s re se r ve d .

Page 7: A Continuous Delivery Journey - triagile.comtriagile.com/.../04/A-Continuous-Delivery-Journey.pdf · A Continuous Delivery Journey SHOBHA SUBRAMONIAN APRIL 05, 2018 Picture source:

7

Application(Source code, OS, Hardware)

AWSCustomer A

Customer B Customer C

OUR NEW DESTINATION (Continued)

Customer A’s data

Customer B’s data

Customer C’s data

C o p y r ig h t © S AS In st i tu t e In c. Al l r ig h t s re se r ve d .

Page 8: A Continuous Delivery Journey - triagile.comtriagile.com/.../04/A-Continuous-Delivery-Journey.pdf · A Continuous Delivery Journey SHOBHA SUBRAMONIAN APRIL 05, 2018 Picture source:

8

OUR NEW DESTINATION (Continued)

Release Planning, Scoping

Development & Test

Release

C o p y r ig h t © S AS In st i tu t e In c. Al l r ig h t s re se r ve d .

Page 9: A Continuous Delivery Journey - triagile.comtriagile.com/.../04/A-Continuous-Delivery-Journey.pdf · A Continuous Delivery Journey SHOBHA SUBRAMONIAN APRIL 05, 2018 Picture source:

9

CHALLENGES

• Typically the key to continuous delivery or release is:

• But Automation is not achieved in a day

C o p y r ig h t © S AS In st i tu t e In c. Al l r ig h t s re se r ve d .

Page 10: A Continuous Delivery Journey - triagile.comtriagile.com/.../04/A-Continuous-Delivery-Journey.pdf · A Continuous Delivery Journey SHOBHA SUBRAMONIAN APRIL 05, 2018 Picture source:

10

CHALLENGES (Continued)

What is the automation we are looking for ?

• Automation of Unit testing

• Automation of Functional / End-to-End testing

• Automation of Regression testing

• Automation of Builds

• Automation of Deployment

• Automation of Deployment validation / Health checks

• Automated promotion and deployment to Stage

• Automated promotion and deployment to Production

C o p y r ig h t © S AS In st i tu t e In c. Al l r ig h t s re se r ve d .

Page 11: A Continuous Delivery Journey - triagile.comtriagile.com/.../04/A-Continuous-Delivery-Journey.pdf · A Continuous Delivery Journey SHOBHA SUBRAMONIAN APRIL 05, 2018 Picture source:

11

CHALLENGES (Continued)

Other challenges:

• New leading-edge Cloud technology

• Design of Architecture with new Amazon Infrastructure Services and Platform Services

• Design and layout of various Instances / Environments

• Design of Code promotion process

• Development practices for Cloud, Multi-tenancy

• Security, Stability, Performance

• Extensive training; Some Hiring of new talent

C o p y r ig h t © S AS In st i tu t e In c. Al l r ig h t s re se r ve d .

Page 12: A Continuous Delivery Journey - triagile.comtriagile.com/.../04/A-Continuous-Delivery-Journey.pdf · A Continuous Delivery Journey SHOBHA SUBRAMONIAN APRIL 05, 2018 Picture source:

12 Slide from

Page 13: A Continuous Delivery Journey - triagile.comtriagile.com/.../04/A-Continuous-Delivery-Journey.pdf · A Continuous Delivery Journey SHOBHA SUBRAMONIAN APRIL 05, 2018 Picture source:

13

TRANSITION PLAN

• An initial (Early Adopter / Beta) version would be released in ~10 months

• Allowed time for setup of our new delivery framework

• And training of resources

• Not going into detail about our Beta release…

• …but at the end of this phase, we had:• An operational software product in the cloud with 2 Early Adopter customers

• Next, we had to make the leap to continuous delivery• As we started bringing on additional customers• As we moved from Early Adopter / Beta to full Production mode

• For this we arrived at a Hybrid approach.

C o p y r ig h t © S AS In st i tu t e In c. Al l r ig h t s re se r ve d .

Page 14: A Continuous Delivery Journey - triagile.comtriagile.com/.../04/A-Continuous-Delivery-Journey.pdf · A Continuous Delivery Journey SHOBHA SUBRAMONIAN APRIL 05, 2018 Picture source:

14

HYBRID APPROACH

• We would have a release every 4 weeks

• However, every release would follow a 3-sprint (12-week) cycle

• 3 Sprints / Phases:• Story Development and Testing

• Integration Testing

• Release Candidate and Production Deployment

• This essentially meant a small waterfall for each release

• Over time, we would reduce the length of this cycle

C o p y r ig h t © S AS In st i tu t e In c. Al l r ig h t s re se r ve d .

Page 15: A Continuous Delivery Journey - triagile.comtriagile.com/.../04/A-Continuous-Delivery-Journey.pdf · A Continuous Delivery Journey SHOBHA SUBRAMONIAN APRIL 05, 2018 Picture source:

15C o p y r ig h t © S AS In st i tu t e In c. Al l r ig h t s re se r ve d .

Page 16: A Continuous Delivery Journey - triagile.comtriagile.com/.../04/A-Continuous-Delivery-Journey.pdf · A Continuous Delivery Journey SHOBHA SUBRAMONIAN APRIL 05, 2018 Picture source:

16

HYBRID APPROACH (Continued)

• Dev & Test phase• Majority of work for release done in this phase

• Common sprint in Jira for all teams

• Same sprint schedule: Same start and end dates

• Cut over to Integration phase• Small team focused on Integration phase tasks

• Cut over to Release Candidate phase• Even Smaller team focused on RC phase tasks

C o p y r ig h t © S AS In st i tu t e In c. Al l r ig h t s re se r ve d .

Page 17: A Continuous Delivery Journey - triagile.comtriagile.com/.../04/A-Continuous-Delivery-Journey.pdf · A Continuous Delivery Journey SHOBHA SUBRAMONIAN APRIL 05, 2018 Picture source:

17

START OF THE JOURNEY

• We were to start continuous delivery in September 2015.

• And put out a release every 4 weeks after that.

• We had a complex product suite that had:• 11 teams (most in Cary, NC; some in India, UK, and other locations)• Every team had 6-12 members (Dev + Test)• 4 project managers

• We had set standards across the program for: • Jira practices • Story template and Workflow• Acceptance criteria

C o p y r ig h t © S AS In st i tu t e In c. Al l r ig h t s re se r ve d .

Page 18: A Continuous Delivery Journey - triagile.comtriagile.com/.../04/A-Continuous-Delivery-Journey.pdf · A Continuous Delivery Journey SHOBHA SUBRAMONIAN APRIL 05, 2018 Picture source:

18

ROCKY ROAD

• Most teams had been together only a few months

• Still going through Storming, Norming - Transitioning to Performing

Source: Okpalad, based on Tuckman and Jensen

C o p y r ig h t © S AS In st i tu t e In c. Al l r ig h t s re se r ve d .

Page 19: A Continuous Delivery Journey - triagile.comtriagile.com/.../04/A-Continuous-Delivery-Journey.pdf · A Continuous Delivery Journey SHOBHA SUBRAMONIAN APRIL 05, 2018 Picture source:

19

ROCKY ROAD (Continued)

• First continuous delivery release did not come in September

• … or in October …

• Our scope was too large for one sprint

• We did not achieve Minimal Viable Product (MVP) in sprint

• Could not complete testing which was still largely manual

• We continued work to complete most of the scope

• And addressed build, deploy and other challenges

• We finally delivered in December – 3 months beyond plan

C o p y r ig h t © S AS In st i tu t e In c. Al l r ig h t s re se r ve d .

Page 20: A Continuous Delivery Journey - triagile.comtriagile.com/.../04/A-Continuous-Delivery-Journey.pdf · A Continuous Delivery Journey SHOBHA SUBRAMONIAN APRIL 05, 2018 Picture source:

20

ROCKY ROAD (Continued)

• Retrospectives to see how to reign in the scope

• Scope for next release slashed significantly

• Minimized dependencies between teams

• Scrum of scrums held for close inter-team collaboration

• Sharepoint and Jira process standardization for consistent use

• Incorporation of Early Adopter feedback

C o p y r ig h t © S AS In st i tu t e In c. Al l r ig h t s re se r ve d .

Page 21: A Continuous Delivery Journey - triagile.comtriagile.com/.../04/A-Continuous-Delivery-Journey.pdf · A Continuous Delivery Journey SHOBHA SUBRAMONIAN APRIL 05, 2018 Picture source:

21

ROCKY ROAD (Continued)

• In 2016, we missed 4 out of 13 planned releases.

• In 2017, we only missed 1 out of 12 planned releases.

• (We did not do December releases anymore.)

C o p y r ig h t © S AS In st i tu t e In c. Al l r ig h t s re se r ve d .

Page 22: A Continuous Delivery Journey - triagile.comtriagile.com/.../04/A-Continuous-Delivery-Journey.pdf · A Continuous Delivery Journey SHOBHA SUBRAMONIAN APRIL 05, 2018 Picture source:

22

ROCKY ROAD (Continued)

• Automation was building up

• But Master Builds were still breaking often

• We developed stringent practices for teams to merge code

• Must pass automated tests (Lev 0) before requesting merge

• Merge to Master was controlled

C o p y r ig h t © S AS In st i tu t e In c. Al l r ig h t s re se r ve d .

Page 23: A Continuous Delivery Journey - triagile.comtriagile.com/.../04/A-Continuous-Delivery-Journey.pdf · A Continuous Delivery Journey SHOBHA SUBRAMONIAN APRIL 05, 2018 Picture source:

23

MINDSET SHIFT

• Meet the need to get new features to customers quickly• One of the biggest benefits of continuous delivery

• Plan significantly smaller scope to finish in a sprint

• Deliver basic functionality first – additions/embellishments after

• Not okay anymore to slip several half-finished stories

• Chunk up stories so they are “deliverable” in sprint

• Code must be production ready at end of sprint!

• No more moving out of planned dates

• Design of scope with the above in mind

C o p y r ig h t © S AS In st i tu t e In c. Al l r ig h t s re se r ve d .

Page 24: A Continuous Delivery Journey - triagile.comtriagile.com/.../04/A-Continuous-Delivery-Journey.pdf · A Continuous Delivery Journey SHOBHA SUBRAMONIAN APRIL 05, 2018 Picture source:

24

CODE DELIVERY MODEL

• Several build processes experimented

• Automated tools but still manual handoffs

• Monolith code base… but moving now to Microservices

• Goals:• Code coverage target – 80%

• Sprint completion target – 80%

• Defect rate below .1 defects per Story Point

• Weekly and monthly reports to track all this

C o p y r ig h t © S AS In st i tu t e In c. Al l r ig h t s re se r ve d .

Page 25: A Continuous Delivery Journey - triagile.comtriagile.com/.../04/A-Continuous-Delivery-Journey.pdf · A Continuous Delivery Journey SHOBHA SUBRAMONIAN APRIL 05, 2018 Picture source:

25

CODE DELIVERY MODEL (Continued)

INTEGRATION

MASTER / DEV

Features A & B complete -merged into MASTER

Feature C incomplete -

moves to next sprint

Features C, D, E complete -merged into MASTER

MASTER (Sprint N content) branched off as new release

Production

Rel moves from INT to RC phase –Rel 0.91

Rel deployedto Prod – Rel 0.91

Production release dateEnd of cycle for R0.91

Tool / process controlledpush

Start of cycle

Rel 0.91 Rel 0.92

RC (Release Candidate)

Sprint N Sprint N+1 Sprint N+2

Rel moves from INT to RC phase –Rel 0.92

MASTER (Sprint N+1 content)branched off as new release

C o p y r ig h t © S AS In st i tu t e In c. Al l r ig h t s re se r ve d .

Page 26: A Continuous Delivery Journey - triagile.comtriagile.com/.../04/A-Continuous-Delivery-Journey.pdf · A Continuous Delivery Journey SHOBHA SUBRAMONIAN APRIL 05, 2018 Picture source:

26

CODE DELIVERY MODEL (Continued)

• Developers only push code to Feature branches

• When ready to merge to MASTER, they send a request to Merge Contacts.

• Merging code into INTEGRATION requires a higher level of care • Needs approval from manager

• Merging code into RC requires extreme care • Needs approval from manager and director

C o p y r ig h t © S AS In st i tu t e In c. Al l r ig h t s re se r ve d .

Page 27: A Continuous Delivery Journey - triagile.comtriagile.com/.../04/A-Continuous-Delivery-Journey.pdf · A Continuous Delivery Journey SHOBHA SUBRAMONIAN APRIL 05, 2018 Picture source:

27

WHERE WE ARE NOW

• We are now delivering a release reliably every 4 weeks

• We have recently achieved 80% of planned scope delivery• This is intermittent though – and still needs work

C o p y r ig h t © S AS In st i tu t e In c. Al l r ig h t s re se r ve d .

Page 28: A Continuous Delivery Journey - triagile.comtriagile.com/.../04/A-Continuous-Delivery-Journey.pdf · A Continuous Delivery Journey SHOBHA SUBRAMONIAN APRIL 05, 2018 Picture source:

28

WHERE WE WANT TO GET TO

• Ability to deploy once a day in production automatically• Especially for defect fixes

• Ability to deploy without any downtime / outage

• Ability to complete releases in 1 sprint versus 3 sprints

• Requires Automation of all testing and deployment pipeline

• Elimination of manual handoffs

C o p y r ig h t © S AS In st i tu t e In c. Al l r ig h t s re se r ve d .

Page 29: A Continuous Delivery Journey - triagile.comtriagile.com/.../04/A-Continuous-Delivery-Journey.pdf · A Continuous Delivery Journey SHOBHA SUBRAMONIAN APRIL 05, 2018 Picture source:

29

WHERE WE WANT TO GET TO (Continued)

• Reduce build time. Currently 3+ hours

• Ability to deploy only a component versus monolith

C o p y r ig h t © S AS In st i tu t e In c. Al l r ig h t s re se r ve d .

Page 30: A Continuous Delivery Journey - triagile.comtriagile.com/.../04/A-Continuous-Delivery-Journey.pdf · A Continuous Delivery Journey SHOBHA SUBRAMONIAN APRIL 05, 2018 Picture source:

30

DEVOPS

DevOps is:

• The collaboration between Development and Operations

• To identify efficiencies and techniques

• To Speed up the delivery of the release to the customer

Page 31: A Continuous Delivery Journey - triagile.comtriagile.com/.../04/A-Continuous-Delivery-Journey.pdf · A Continuous Delivery Journey SHOBHA SUBRAMONIAN APRIL 05, 2018 Picture source:

31

DEVOPS (Continued)

Page 32: A Continuous Delivery Journey - triagile.comtriagile.com/.../04/A-Continuous-Delivery-Journey.pdf · A Continuous Delivery Journey SHOBHA SUBRAMONIAN APRIL 05, 2018 Picture source:

32

Questions?

C o p y r ig h t © S AS In st i tu t e In c. Al l r ig h t s re se r ve d .

Page 33: A Continuous Delivery Journey - triagile.comtriagile.com/.../04/A-Continuous-Delivery-Journey.pdf · A Continuous Delivery Journey SHOBHA SUBRAMONIAN APRIL 05, 2018 Picture source:

33

Contact info: [email protected]

linkedin.com/in/shobha-subramonian-1967016

C o p y r ig h t © S AS In st i tu t e In c. Al l r ig h t s re se r ve d .