3. 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.
4. 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
5. What I learned along the way
Understand 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
11. How dowe make decisions quicklyandadjustto enablethebusiness?
12. Adrian Cockcroft
Chief 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
16. Maslow’sHierarchy
of Needs
As 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
19. 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
20. 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
21. FutureSmart Printer Software
Embedded Software Systems
powering HP printer, scanner, and
multi-function devices.
Gary Gruver - VP, Quality
Engineering
Cost Driver Improvements
22. FutureSmart Printer Software
Embedded Software Systems
powering HP printer, scanner, and
multi-function devices.
Gary Gruver - VP, Quality
Engineering
Cycle Time Improvements
23. FutureSmart Printer Software
Embedded Software Systems
powering HP printer, scanner, and
multi-function devices.
Gary Gruver - VP, Quality
Engineering
25. “Reduce the cost, time, and risk of delivering incremental
changes to users.”
– Jez Humble, author Continuous Delivery , VP @ Opscode
26. 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.
27. “…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
30. 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.
31. 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.
32. 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
34. “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
35. 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
39. Where we are today…
Organizational gatekeepers to control risk and
increase trust.
40. Diametric opposition
Product 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
45. DevOps is…
A culture shift that encourages collaboration and
communicationto foster building better-quality
software more quickly and more reliably.
46. An environment where developers, QA, and operations
draw on each others’ expertise to eliminate waste and
bottlenecks in the development lifecycle.
47. DevOps
and
OODA
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
52. 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…
53. People.
People are the root of the creative process. And getting
to continuous deliver will be a creative endeavor.
54. 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.
56. “…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