MATURITY LEVEL
Level 1
Ad-Hoc
Level 2
Repeatable
Level 4
Measured
Level 5
Optimized
PEOPLE
PROCESS
TECHNOLOGY
• Silo based
• Blame, finger pointing
• Dependent on experts
• Lack of accountablility • Manual processes
• Tribal knowledge is the norm
• Unpredictable, reactive • Manual builds and deployments
• Manual testing
• Environment inconsistencies
• Managed communications
• Limited knowledge sharing • Processes establishes within silos
• No standards
• Can repeat what is known but
can’t react to unkowns • Automated builds
• Automated tests written as part of
a story development
• Painful but reapeatable releases
• Collaboration exists
• Shared decision making
• Shared accountability • Processes automated across SDLC
• Standards across organization • Automated build & test cycles for
every commit
• Push button deployments
• Automated user & acceptance testing
• Collaboration backed on shared
metrics with a focus on removing
bottlenecks • Proactive monitoring
• Metrics collected and analyzed
against business goals
• Visibility & predictability • Build metrics visible and acted on
• Orchestrated deployments with
auto rollbacks
• Non functional requirements
defined and measured
• A culture of continuous
improvement permeates through
the organization • Self services automation
• Risk & cost optimization
• High degree of experimentation • Zero downtime deployments
• Immutable infrastructure
• Actively enforce resiliency by
forcing failures
Figure 1: The DevOps maturity model focuses on the degree that an
organization is able to obtain value from DevOps processes and technology.
Some development organizations attempt to separate
development and operations groups, but that route
quickly becomes dysfunctional. A better approach is
to combine them into a single role: a DevOps man-
ager. As your development needs expand, increase
the number of DevOps managers you have. This keeps
organizations small, nimble, and focused on a specific
purpose within the systems they build and operate.
Step 4: Define a DevOps Process
There are many resources that tell you how to define
a DevOps process, which is simply automated agile.
However, there are as many types of DevOps pro-
cesses as there are types of organizations, so you’ll
have to pick the one that best suits your needs.
Figure 2 shows a complete DevOps process you can
use as a starting point. You may not need some of the
steps, or you may have to add more. What should be
consistent is your support for continuous develop-
ment, integration, testing, deployment and opera-
tions. The tools and the steps you use will vary based
on your business and technology requirements.
DevOps in the Cloud
This process typically spans traditional platforms,
such as a Linux, Apache, MySQL, and PHP/Python/
Perl (LAMP) stack, to newer public or private clouds.
Figure 2 shows a typical demarcation line. However,
the process can span all cloud platforms and cloud
DevOps tools, or all traditional platform and on-prem-
ise DevOps tools.
Step 5: Define Your Target Cloud Platform
Defining the target platform for application hosting is
important for two reasons. First, the target platform
has a great deal to do with the DevOps tools you
select, especially operational automation tools. Sec-
WINTER 2016 | THE DOPPLER | 11