The people I meet on my travels often ask what I do. And it is always my pleasure to rave about how DevOps changed my life.
Let us never forget that DevOps is about culture, people, and process, not just tools or technology.
Software may enable good culture and behavior. But technology brings a benefit if and only if it diminishes a limitation. And the most important limitations to address are the explicit and implicit rules that uphold the status quo, or “doing it the way we always have.”
For example, I bought a kettlebell for exercise. But unless I change my routine and deliberately make time to swing that heavy thing, I'm not getting any of the benefits.
In the same way, DevOps tools necessitate a change in behavior. Sometimes that's adopting a new workflow, such as using PR Comment Commands instead of running Terraform on local workstations. Other times it's a change in culture, like being more permissive and trusting developers with self-service infrastructure.
There are four key areas of limitations that we should consider anytime we're adopting a new tool.
- How does this build on our capabilities for Continuous Delivery?
- How does this enable loosely coupled architecture that scales?
- In what way is this improving our product and process capabilities?
- Is this moving us towards Lean management and monitoring that creates faster feedback cycles?
As a result of these changes we can expect higher levels of organizational performance.
According to Accelerate, 2018, by Forsgren, Humble, & Kim, high-performing teams compared to low-performing teams have:
- 46 times more frequent code deployments
- 440 times faster lead time from commit to deploy
- 170 times faster mean time to recover from downtime-causing failures
- 5 times lower change failure rate (1/5 as likely for a change to fail)
Beyond this, DevOps also reduces burnout, increases job satisfaction, and allows us to experiment and not fear failure or reproach for failing at work.
DevOps is the means by which we achieve high organizational performance. To do so, we must change our processes, enable our people, and adopt a DevOps culture. And we need to focus on those behavioral changes as much as we need the tools, software, and technology that unlock our capabilities of continuous delivery, scalable architecture, and management and monitoring.
When we do this, we find higher levels of job satisfaction, ownership, accountability, and trust within our work and teams.
That's why I'm here in DevOps. What about you?