ecmm

DevOps represents the fusion of software development and operations, so that faster innovation of new digital services is made possible. As such the transformation is mainly a journey of two parts:

  • Adopting a toolchain to better automate and speed up software deployment (Automation Maturity), and
  • New organizational team models to better support this accelerated pattern of working (Collaboration Maturity).

DevOps Maturity assesses both to define an integrative approach to advancing capabilities.

Capability  Level 1 - Repeatable Level 2 - Defined Level 3 - Optimizing Level 4 - Visionary
Collaboration Maturity Silo-based IT organization

Poor ad­hoc communication, no automation and unpredictable reactive processes.

Siloed automation with no central infrastructure, processes are managed but not standardized. Collaboration and shared decision making, central automated processes across the application lifecycle, processes are standardized across the organization. Business Capability Teams - Structured, agile PLM practices married with a new organizational team model based on BCTs - Business Capability Teams.

Collaboration processes are measured, automated processes metrics are collected realizing predictability of performance.

Teams responsible all the way to production - Cross-functional end-to-end product centric teams manage products throughout lifecycle.

Automation and Continuous Deployment A manual process for infrequent and unreliable releases.

Environments are manually provisioned.

Teams organized by platform/technology and have conflicting goals.

Deployments and provisioning of environments via expensive manual processes.

Infrequent and unreliable releases.

System integration happens after module development is completed.

Teams rely on manual testing after development is complete to find defects.

Data migrations are performed manually, no scripts.

Painful infrequent but reliable releases.

Automated provisioning of environments.

Siloed automation with no central infrastructure, processes are managed but not standardized.

Automated provisioning of environments.

Infrequent but reliable releases.

Change management controls are implemented, including a process to to detect unauthorized changes.

There is some automated acceptance testing.

Data migrations using versioned scripts, performed manually.

Frequent fully automated releases.

Changes to datastores automatically performed as part of the deployment process.

Teams practice trunk-based development with continous integration of all changes.

Collaboration and shared decision making, central automated processes across the application lifecycle, processes are standardized across the organization.

Clear product ownership and chain of responsibility in place.

Standard deployment process for all environments.

Common process for all changes.

Infrequent but fully automated and reliable releases in any environment.

Automated and versioned changes to datastores.

Frequent, fully automated, orchestrated deployments.

Fully automatic acceptance tests.

Deployment pipeline automatically rejects bad changes from version control.

Changes to datastores automatically performed as part of the deployment process.

Automated problem isolation and issue resolution.

Self­-service automation, self­learning using analytics and self­remediation enabling process, risk and cost optimization.

Reference Documents

  1. IBM DevOps Maturity Model
  2. HP DevOps Maturity Model
  3. Pivotal - Going Cloud Native
  4. Arug Gupta - Continuous Integration Maturity Model