DevOps is a funny term that will sound very much like inside baseball for those outside of the technology industry. It is, however, a complex-sounding term for a simple movement. The idea of DevOps (itself a conjunction of the term developer operations) is that those who build applications should have an active role in, and an understanding of, the operational management of those apps. Looking at it from the other perspective, those who are responsible for the operation of applications should have a firm grasp on development approaches.
In traditional IT shops, developers and operations teams are distinct. Developers' sole function is to "cut code." They create the applications and then throw them over the wall to operations, whose task it is to make those applications actually run on the infrastructure at their disposal. This separate approach ends up being somewhat adversarial, with developers thinking of operations teams as smelly geeks down in the basement who don't have a clue about what application users really want. Operations, for its part, thinks of developers as living on another planet with no real idea of what it takes to run a secure and high-performing IT shop.
Clearly, something had to change, and this is the idea behind DevOps. Take these two teams and ensure that good collaboration and communication happens between them. Encourage regular dialog and interaction between them and all of a sudden you have a situation where they're working together rather than butting heads.
But if that sounds like a recipe for more general organizational performance improvement, you'd be right. DevOps is, in my view, an approach towards organizational culture and management rather than an approach to technology, per se. Given my very strong views about this "culture-first" aspect of DevOps, I was interested to hear from Puppet Labs.
Puppet Labs is, of course, a vendor that creates an infrastructure operation system, Puppet. Puppet helps organizations large and small make their infrastructure far more efficient. Rather than having an approach that sees every server (be it physical or virtual) as a fresh unit, Puppet helps operationalize the setup and management of servers. As such, Puppet is one of the tools that helps realize the promise of DevOps.
Puppet has been running its State of DevOps report for four years now. Despite being run by a vendor, it is a fairly good perspective on where we are in the industry. Last year saw the survey clearly link IT performance to organizational performance, proving that IT is not just a cost center. This year, the focus was on better understanding the factors that predict organizational performance. Puppet wanted to drill down and find out what role IT leaders play in a DevOps transformation. So what did they uncover?
Here are some of the report's key findings, followed by my analysis:
Lean practices, when applied to software delivery, improve both throughput and stability, leading to higher organizational performance.
We're seeing the application of lean principles that have been well proven in manufacturing into IT applications. And, just like manufacturing, themes like reducing work in progress, introducing visual monitoring practices, and introducing feedback loops all help to improve the performance of IT.
High-performing IT organizations are seeing increased levels of stability and reliability.
Interesting. Deployment at a similar rate to previously, but with improved outcomes. This would appear to be a validation that building feedback loops into the development process improves outcomes incrementally.
The level of pain your team experiences during deployments is the best indicator of your IT performance.
Pretty obvious, increased process and efficiency around deployment is a general indicator that IT performance will be correspondingly poor.
IT leaders play a critical role in a DevOps transformation. This year’s survey results show that the top three predictors of organizational performance are culture, investment in DevOps and IT performance.
Music to my ears. DevOps is primarily a culture change that needs buy-in and advocating from leaders of IT organizations. It's great to see this fact being shown empirically through real-life organizations.
It doesn’t matter if your apps are greenfield, brownfield or legacy — as long as they are architected with testability and deployability in mind, high performance is possible.
DevOps isn't just for new apps. Rather, any application, existing or new, can benefit from these agile approaches. This is a positive finding for those organizations with legacy applications who previously thought DevOps wasn't for them.
It is heartening to see that these findings very much reflect my long-held views about DevOps, in that while it is often adopted from the bottom-up, it really is a management-led movement. Organizations that want to remain competitive need to ensure that they can move fast and innovate at will. DevOps is an embodiment of that desire, and hence it should ideally be championed by IT leaders. The culture change that indicates a successful transition to agility is the same culture change that helps DevOps to be successful (and, in the reverse, DevOps can be a good tool to help an organization become more likely to readily transition to more agile models).
There are no huge surprises in the report, but it is always good to get some empirical data about where we are in terms of moving to new models. This report is required reading for anyone interested in the specific space and, more generally, in how organizations can grow and prosper going forwards.
This article is published as part of the IDG Contributor Network. Want to Join?