Freedom and Responsibility

57
Freedom and Responsibility Continuous Delivery and DevOps

Transcript of Freedom and Responsibility

Page 1: Freedom and Responsibility

Freedom and ResponsibilityContinuous Delivery and DevOps

Page 2: Freedom and Responsibility

Mike RuangutaiHead of Platform Engineering

@

Previous lives

Page 3: Freedom and Responsibility

Kareo

Expansion stage start-up providing SaaS clinical and practice management software.

$15 billion in patient claim transactions annually

18,000 doctors and healthcare providers

39 million patient records including

ePrescriptions

Drug-to-drug interaction

Patient-drug allergies

Lab orders and results processing

Weekly software releases, with road map to daily releases.

Page 4: Freedom and Responsibility

IGN | GameSpy

Platform-as-a-Service for triple-A and independent game developers and publishers.

300 million users across all major gaming platforms.

70 million monthly views on IGN.com

1100 web, application, and database servers

Peak traffic:3 billion requests/day 25,000 data transactions/second

Release on commit, aka Continuous Deployment

Page 5: Freedom and Responsibility

What I learned along the wayUnderstand why you want to change

Get early wins; this journey will likely take years

Do Continuous Integration first

Early software starts monolithic and will require architecture changes

Culture of trust and continuous improvement

Page 6: Freedom and Responsibility

Why do we want to do continuous delivery?

Page 7: Freedom and Responsibility

How many believe we are paid to write code?

Page 8: Freedom and Responsibility

We are paid to make decisions.

Page 9: Freedom and Responsibility

Decisions lead tooutcomes.

Page 10: Freedom and Responsibility

Positive Negative

Outcome

Page 11: Freedom and Responsibility

How do we make decisions quickly and adjust to enable the business?

Page 12: Freedom and Responsibility

Adrian CockcroftChief Architect, Netflix

• Originally coined by military Air Force strategist John Boyd

• Predominant philosophy in many Bay Area companies

OODA Loop

http://en.wikipedia.org/wiki/OODA_loop

Page 13: Freedom and Responsibility

Ideas

Build

Code

Measure

Data

LearnBuild, Measure, Learn

Eric RiesCTO, IMVUFounder Lean Startup Movement

Page 14: Freedom and Responsibility

Goal: To get around this loop

as fast as possible.In the same time duration:

Opponent: 3 decisionsYou: 6 decisions

You have the advantage.

http://en.wikipedia.org/wiki/OODA_loop

Page 15: Freedom and Responsibility

What does this have to do with product engineering?

Page 16: Freedom and Responsibility

Maslow’s Hierarchy of NeedsAs product engineers, our goal is to get as high up this hierarchy as possible.

And getting higher requires the ability to make more decisions, use more data, and take more actions than your opponent.

At minimum get here

Goal is to get here

Page 17: Freedom and Responsibility

Continuous Delivery

http://en.wikipedia.org/wiki/OODA_loop

Enables product engineering teams to get around this loop quickly by delivering software up the value stream frequently and consistently.

Page 18: Freedom and Responsibility

Who is doing continuous delivery?

Page 19: Freedom and Responsibility

Steven Greene - VP, Program Management

Mike Saha – Director, Release Engineering

• 900+ deployments annually• 8 releases/day• 25 core products• Up to 120,000 automated tests

• 120+ Scrum teams• Multi year transformation

Page 20: Freedom and Responsibility

FutureSmart Printer Software

Embedded Software Systems powering HP printer, scanner, and multi-function devices.

Gary Gruver - VP, Quality Engineering

• $2 billion LOB• 400 engineers across four

continents• Re-architected from ground up• 10 million lines of code

• 75,000 lines of code churn/day• 15,000 testing hours/day

• 3 year transformation, 2008 - 2011

Page 21: Freedom and Responsibility

FutureSmart Printer Software

Embedded Software Systems powering HP printer, scanner, and multi-function devices.

Gary Gruver - VP, Quality Engineering

Cost Driver Improvements

Page 22: Freedom and Responsibility

FutureSmart Printer Software

Embedded Software Systems powering HP printer, scanner, and multi-function devices.

Gary Gruver - VP, Quality Engineering

Cycle Time Improvements

Page 23: Freedom and Responsibility

FutureSmart Printer Software

Embedded Software Systems powering HP printer, scanner, and multi-function devices.

Gary Gruver - VP, Quality Engineering

Page 24: Freedom and Responsibility

What is continuous delivery?

Page 25: Freedom and Responsibility

“Reduce the cost, time, and risk of delivering incremental changes to users.”

– Jez Humble, author Continuous Delivery , VP @ Opscode

Page 26: Freedom and Responsibility

1. Software is deployable throughout its lifecycle.

2. The team prioritizes keeping the software deployable over working on new features.

3. Anybody can get fast, automated feedback on the production readiness of their systems anytime somebody makes a change to them.

4. You can perform push button deployment of any version of the software to any environment on-demand.

Page 27: Freedom and Responsibility

“…a business sponsor could request that the current development version of the software be deployed to production at a moment’s notice – and nobody would bat an eyelid, let alone panic.” - Martin Fowler

Page 28: Freedom and Responsibility

Pillars of Continuous Delivery

Continuous Delivery

Continuous Integration

Automated

TestingDevOps

To become a continuous delivery organization, DevOps, Automation Testing, and Continuous Integration are integral parts of the process.

Page 29: Freedom and Responsibility

Continuous IntegrationWhat does it mean to be doing continuous integration?

Page 30: Freedom and Responsibility

1. Software is deployable throughout its lifecycle.

2. The team prioritizes keeping the software deployable over working on new features.

3. Anybody can get fast, automated feedback on the production readiness of their systems anytime somebody makes a change to them.

4. You can perform push button deployment of any version of the software to any environment on-demand.

Page 31: Freedom and Responsibility

1. Engineers are checking in code several times a day to trunk; feature branches are frowned upon.

2. Builds are generated and automated tests are executed to validate the integrity of the software.

3. Builds and test times are kept fast to ensure fast feedback cycles.

4. Testing is done continuously in a production mirrored environment.

Page 32: Freedom and Responsibility

Delivery team

• Checks in

Version control

• Triggers

Build & Unit Tests

• Triggers

Automated Acceptance

Test

• Approval

User Acceptance

Test

• Approval

Production Release

Continuous Delivery Pipeline

Continuous Integration pipline

Page 33: Freedom and Responsibility

Automated TestingWho is responsible for quality?

When does quality become important?

Page 34: Freedom and Responsibility

“Cease dependence on mass inspection to achieve quality. Improve the process and build quality into the product in the first place.”- W. Edwards Deming

W. Edwards Deming

Created Total Quality Movement after World War II in Japan.

Core to Japan’s dominance of US car manufacturers

Page 35: Freedom and Responsibility

Two implications to software development:

1. Testing is not something we do after development is complete. Testing should happen all the time.

2. Testers are not responsible for quality. Everyone is responsible for quality.

W. Edwards Deming

Created Total Quality Movement after World War II in Japan.

Core to Japan’s dominance of US car manufacturers

Page 36: Freedom and Responsibility

Functional AcceptanceUsability

ExploratoryShowcase

Non-functional acceptance(performance, scaling)

UnitIntegration

Automated Manual

Automated Automated | Manual

Technology Facing

Development Support Product feedback

Business Facing

Page 37: Freedom and Responsibility

Cheapest way to fix a bug is to not check it in in the first place.That is why automated tests are important.

Page 38: Freedom and Responsibility

DevOpsBuilding a Culture of Trust

Page 39: Freedom and Responsibility

Where we are today…

Organizational gatekeepers to control risk and increase trust.

Page 40: Freedom and Responsibility

Diametric oppositionProduct paid to ideate changes.

Developers are paid to make changes.

QA are paid to question changes.

Operations are paid to prevent changes. Often times because they end up having to support those changes.

*Change = Risk

Page 41: Freedom and Responsibility

Goal: To get around this loop

as fast as possible.If this is our goal, then work center silos detract from this goal.

Continuous Delivery will ultimately fail.

http://en.wikipedia.org/wiki/OODA_loop

Page 42: Freedom and Responsibility

Agility without SafetyIs easy.

Page 43: Freedom and Responsibility

Safety without AgilityIs easy.

Page 44: Freedom and Responsibility

Safety with AgilityIs hard.

Page 45: Freedom and Responsibility

DevOps is…

A culture shift that encourages collaboration and communication to foster building better-quality software more quickly and more reliably.

Page 46: Freedom and Responsibility

An environment where developers, QA, and operations draw on each others’ expertise to eliminate waste and bottlenecks in the development lifecycle.

Page 47: Freedom and Responsibility

DevOpsandOODA

Metrics:• Performance • Availability• Usability• Cohort• Traffic

Product enablement:• Feature toggles• Canary testing• A/B testing

Using Product and Technology metrics to move higher in Maslow’s Hierarchy of Needs

Development:• CI Server• Infrastructure Automation• Test Automation• Agile architecture, i.e. micro services

DevOps

Page 48: Freedom and Responsibility

DevOps is about Freedom and Responsibility.

Page 49: Freedom and Responsibility

Summing it all up.

Page 50: Freedom and Responsibility

Pillars of Continuous Delivery

Continuous Delivery

Continuous Integration

Automated

TestingDevOps

All three are fundamental.

Page 51: Freedom and Responsibility

Pillars of Continuous Delivery

Continuous Delivery

Process

TechnologyPeople

Alternatively you can look at it this way.

Page 52: Freedom and Responsibility

Achieving Continuous Delivery is hard. But it is fundamental.

It will likely take us a while to get there. But the most critical requirement are…

Page 53: Freedom and Responsibility

People.People are the root of the creative process. And getting to continuous deliver will be a creative endeavor.

Page 54: Freedom and Responsibility

Among other things, we should have:

1. The Culture of Trust which is created by giving responsible people the freedom to make decisions (and experiment).

2. The tools and technology that provide responsible people the data they need to make decisions.

3. A process that gives responsible people the fast cycle times needed to make quick decisions - OODA.

Page 55: Freedom and Responsibility

How do you know you’ve done it?

Page 56: Freedom and Responsibility

“…a business sponsor could request that the current development version of the software be deployed to production at a moment’s notice – and nobody would bat an eyelid, let alone panic.” - Martin Fowler

Page 57: Freedom and Responsibility

Thanks!