the goals of DevOps

why are we doing this?


I have been thinking about the goals of DevOps and how these can be realised through objectives, strategy and tactics. Metrics are important too, because we need to know if what we are doing is having the desired effect. I have jotted down some bullet points from which to expand and develop later…

Goals

Increase revenues.
Enable innovation.
Minimising OPEX and CAPEX.
Doing more with less.

Objectives

Increase throughput, get new features and functionality into production quickly.
Reduce work in progress.
Deploy new software with zero downtime.
Improve quality in products and services — software has fewer bugs, systems and processes are more resilient.
Maximize the predictability, efficiency, security, and maintainability of operational processes.
Create a culture, environments and services which enable innovation.

Strategy

Define working model.
Create structure and establish core team.
Choose and prepare pilots as vehicles to delivering the technical pillars (infrastructure as code, CI/CD, Metrics monitoring and Tooling).

Tactics

Deliver Infrastructure as code using Test Driven Development(TDD).
Continuous integration.
Automated testing.
Continuous delivery (blue/green and canary releases).
Shared version control system.
Cloud, Microservices and PaaS.
Design and build for failure.
Phoenix servers and immutable systems.
Agile teams and common real-time communication channels.
Use best in class tooling form the agile community.
Full stack autonomous and empowered teams.

Metrics

Deployment frequency.
Change lead time.
Mean Time To Recover (MTTR).
Change fail rate.
Number and frequency of outages / performance issues.
Revenue/profit impact of outages / performance issues.
Number and cost of resources.