freedom and responsibility
TRANSCRIPT
![Page 1: Freedom and Responsibility](https://reader033.vdocuments.us/reader033/viewer/2022042701/55a797501a28ab7a1f8b4873/html5/thumbnails/1.jpg)
Freedom and ResponsibilityContinuous Delivery and DevOps
![Page 2: Freedom and Responsibility](https://reader033.vdocuments.us/reader033/viewer/2022042701/55a797501a28ab7a1f8b4873/html5/thumbnails/2.jpg)
Mike RuangutaiHead of Platform Engineering
@
Previous lives
![Page 3: Freedom and Responsibility](https://reader033.vdocuments.us/reader033/viewer/2022042701/55a797501a28ab7a1f8b4873/html5/thumbnails/3.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022042701/55a797501a28ab7a1f8b4873/html5/thumbnails/4.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022042701/55a797501a28ab7a1f8b4873/html5/thumbnails/5.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022042701/55a797501a28ab7a1f8b4873/html5/thumbnails/6.jpg)
Why do we want to do continuous delivery?
![Page 7: Freedom and Responsibility](https://reader033.vdocuments.us/reader033/viewer/2022042701/55a797501a28ab7a1f8b4873/html5/thumbnails/7.jpg)
How many believe we are paid to write code?
![Page 8: Freedom and Responsibility](https://reader033.vdocuments.us/reader033/viewer/2022042701/55a797501a28ab7a1f8b4873/html5/thumbnails/8.jpg)
We are paid to make decisions.
![Page 9: Freedom and Responsibility](https://reader033.vdocuments.us/reader033/viewer/2022042701/55a797501a28ab7a1f8b4873/html5/thumbnails/9.jpg)
Decisions lead tooutcomes.
![Page 10: Freedom and Responsibility](https://reader033.vdocuments.us/reader033/viewer/2022042701/55a797501a28ab7a1f8b4873/html5/thumbnails/10.jpg)
Positive Negative
Outcome
![Page 11: Freedom and Responsibility](https://reader033.vdocuments.us/reader033/viewer/2022042701/55a797501a28ab7a1f8b4873/html5/thumbnails/11.jpg)
How do we make decisions quickly and adjust to enable the business?
![Page 12: Freedom and Responsibility](https://reader033.vdocuments.us/reader033/viewer/2022042701/55a797501a28ab7a1f8b4873/html5/thumbnails/12.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022042701/55a797501a28ab7a1f8b4873/html5/thumbnails/13.jpg)
Ideas
Build
Code
Measure
Data
LearnBuild, Measure, Learn
Eric RiesCTO, IMVUFounder Lean Startup Movement
![Page 14: Freedom and Responsibility](https://reader033.vdocuments.us/reader033/viewer/2022042701/55a797501a28ab7a1f8b4873/html5/thumbnails/14.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022042701/55a797501a28ab7a1f8b4873/html5/thumbnails/15.jpg)
What does this have to do with product engineering?
![Page 16: Freedom and Responsibility](https://reader033.vdocuments.us/reader033/viewer/2022042701/55a797501a28ab7a1f8b4873/html5/thumbnails/16.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022042701/55a797501a28ab7a1f8b4873/html5/thumbnails/17.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022042701/55a797501a28ab7a1f8b4873/html5/thumbnails/18.jpg)
Who is doing continuous delivery?
![Page 19: Freedom and Responsibility](https://reader033.vdocuments.us/reader033/viewer/2022042701/55a797501a28ab7a1f8b4873/html5/thumbnails/19.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022042701/55a797501a28ab7a1f8b4873/html5/thumbnails/20.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022042701/55a797501a28ab7a1f8b4873/html5/thumbnails/21.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022042701/55a797501a28ab7a1f8b4873/html5/thumbnails/22.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022042701/55a797501a28ab7a1f8b4873/html5/thumbnails/23.jpg)
FutureSmart Printer Software
Embedded Software Systems powering HP printer, scanner, and multi-function devices.
Gary Gruver - VP, Quality Engineering
![Page 24: Freedom and Responsibility](https://reader033.vdocuments.us/reader033/viewer/2022042701/55a797501a28ab7a1f8b4873/html5/thumbnails/24.jpg)
What is continuous delivery?
![Page 25: Freedom and Responsibility](https://reader033.vdocuments.us/reader033/viewer/2022042701/55a797501a28ab7a1f8b4873/html5/thumbnails/25.jpg)
“Reduce the cost, time, and risk of delivering incremental changes to users.”
– Jez Humble, author Continuous Delivery , VP @ Opscode
![Page 26: Freedom and Responsibility](https://reader033.vdocuments.us/reader033/viewer/2022042701/55a797501a28ab7a1f8b4873/html5/thumbnails/26.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022042701/55a797501a28ab7a1f8b4873/html5/thumbnails/27.jpg)
“…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](https://reader033.vdocuments.us/reader033/viewer/2022042701/55a797501a28ab7a1f8b4873/html5/thumbnails/28.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022042701/55a797501a28ab7a1f8b4873/html5/thumbnails/29.jpg)
Continuous IntegrationWhat does it mean to be doing continuous integration?
![Page 30: Freedom and Responsibility](https://reader033.vdocuments.us/reader033/viewer/2022042701/55a797501a28ab7a1f8b4873/html5/thumbnails/30.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022042701/55a797501a28ab7a1f8b4873/html5/thumbnails/31.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022042701/55a797501a28ab7a1f8b4873/html5/thumbnails/32.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022042701/55a797501a28ab7a1f8b4873/html5/thumbnails/33.jpg)
Automated TestingWho is responsible for quality?
When does quality become important?
![Page 34: Freedom and Responsibility](https://reader033.vdocuments.us/reader033/viewer/2022042701/55a797501a28ab7a1f8b4873/html5/thumbnails/34.jpg)
“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](https://reader033.vdocuments.us/reader033/viewer/2022042701/55a797501a28ab7a1f8b4873/html5/thumbnails/35.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022042701/55a797501a28ab7a1f8b4873/html5/thumbnails/36.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022042701/55a797501a28ab7a1f8b4873/html5/thumbnails/37.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022042701/55a797501a28ab7a1f8b4873/html5/thumbnails/38.jpg)
DevOpsBuilding a Culture of Trust
![Page 39: Freedom and Responsibility](https://reader033.vdocuments.us/reader033/viewer/2022042701/55a797501a28ab7a1f8b4873/html5/thumbnails/39.jpg)
Where we are today…
Organizational gatekeepers to control risk and increase trust.
![Page 40: Freedom and Responsibility](https://reader033.vdocuments.us/reader033/viewer/2022042701/55a797501a28ab7a1f8b4873/html5/thumbnails/40.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022042701/55a797501a28ab7a1f8b4873/html5/thumbnails/41.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022042701/55a797501a28ab7a1f8b4873/html5/thumbnails/42.jpg)
Agility without SafetyIs easy.
![Page 43: Freedom and Responsibility](https://reader033.vdocuments.us/reader033/viewer/2022042701/55a797501a28ab7a1f8b4873/html5/thumbnails/43.jpg)
Safety without AgilityIs easy.
![Page 44: Freedom and Responsibility](https://reader033.vdocuments.us/reader033/viewer/2022042701/55a797501a28ab7a1f8b4873/html5/thumbnails/44.jpg)
Safety with AgilityIs hard.
![Page 45: Freedom and Responsibility](https://reader033.vdocuments.us/reader033/viewer/2022042701/55a797501a28ab7a1f8b4873/html5/thumbnails/45.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022042701/55a797501a28ab7a1f8b4873/html5/thumbnails/46.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022042701/55a797501a28ab7a1f8b4873/html5/thumbnails/47.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022042701/55a797501a28ab7a1f8b4873/html5/thumbnails/48.jpg)
DevOps is about Freedom and Responsibility.
![Page 49: Freedom and Responsibility](https://reader033.vdocuments.us/reader033/viewer/2022042701/55a797501a28ab7a1f8b4873/html5/thumbnails/49.jpg)
Summing it all up.
![Page 50: Freedom and Responsibility](https://reader033.vdocuments.us/reader033/viewer/2022042701/55a797501a28ab7a1f8b4873/html5/thumbnails/50.jpg)
Pillars of Continuous Delivery
Continuous Delivery
Continuous Integration
Automated
TestingDevOps
All three are fundamental.
![Page 51: Freedom and Responsibility](https://reader033.vdocuments.us/reader033/viewer/2022042701/55a797501a28ab7a1f8b4873/html5/thumbnails/51.jpg)
Pillars of Continuous Delivery
Continuous Delivery
Process
TechnologyPeople
Alternatively you can look at it this way.
![Page 52: Freedom and Responsibility](https://reader033.vdocuments.us/reader033/viewer/2022042701/55a797501a28ab7a1f8b4873/html5/thumbnails/52.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022042701/55a797501a28ab7a1f8b4873/html5/thumbnails/53.jpg)
People.People are the root of the creative process. And getting to continuous deliver will be a creative endeavor.
![Page 54: Freedom and Responsibility](https://reader033.vdocuments.us/reader033/viewer/2022042701/55a797501a28ab7a1f8b4873/html5/thumbnails/54.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022042701/55a797501a28ab7a1f8b4873/html5/thumbnails/55.jpg)
How do you know you’ve done it?
![Page 56: Freedom and Responsibility](https://reader033.vdocuments.us/reader033/viewer/2022042701/55a797501a28ab7a1f8b4873/html5/thumbnails/56.jpg)
“…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](https://reader033.vdocuments.us/reader033/viewer/2022042701/55a797501a28ab7a1f8b4873/html5/thumbnails/57.jpg)
Thanks!