DevOps isn’t a fixed methodology or process; it’s a community of practice and a set of principles. DevOps advocates Damon Edwards and John Willis described DevOps in 2010 with the acronym CAMS: culture, automation, measurement and sharing. Here's a quick overview of these core elements of DevOps and why they’re so important for IT managers who want to build an effective DevOps organization.
DevOps is a cultural undertaking, so it's about more than acquiring new tools and taking on new practices. It’s about setting expectations and priorities, and the fundamental beliefs that guide them. Our 2015 State of DevOps Report showed there's a strong link between culture and successful management practices, much of it coming out of lean management principles and a collaborative approach to problem solving. For DevOps to succeed, that collaboration has to take place both within and between teams.
Automation is a given in any team that has embraced DevOps; it’s just the way everything is done. Automating common and repetitive processes frees up time for higher-level work and opens up opportunities for innovations that wouldn’t be possible otherwise.
Integrating feedback into the work is a fundamental part of agile and lean practices. For mature organizations, this means measuring everything that moves in production, and sharing those measurements with everyone involved in software development and delivery — not just the ops team, or just the devs. Measuring and reporting everything can seem overwhelming, though. So start with just the crucial measurements, one or two things that everyone agrees really matter. It could be deployment frequency, lead time to changes, mean time to recovery, change fail rate — whichever seems the most important to where your team is right now. Gathering and sharing these metrics will show you where you've got opportunities for quick wins — and these boost everyone's morale.
Today’s organizations and software require teams of people with different skills and specialized knowledge. To work efficiently, it’s important to work well together, and sharing is how you get there. Expose metrics to everyone within your organization who might be interested. Keep things simple and clear — explain how these metrics affect software delivery and overall company performance. Sharing progress data will also help foster a more effective DevOps culture.
When identifying and making changes to how you and your team work, it’s useful to think about those changes in terms of culture, automation, measurement and sharing. Base your choices on maximizing opportunities in these areas, and you should find yourself well on your way to breaking down silos and improving your organization.
There's a lot more to DevOps thinking, planning and execution, and Gareth Rushgrove covers how to work with your operations team, the development team and higher-up managers in his paper, Get Started with DevOps: A Guide for IT Managers. Check it out for practical guidance, as well as DevOps philosophy.
Aliza Earnshaw is managing editor at Puppet Labs.
- There's a fun SlideShare on DevOps principles for IT managers we think you'll enjoy.