A common belief within DevOps circles is that automation not only enables greater frequency of delivery and deployment, but improves its overall success rate. Whenever manual intervention is required, the chances of errors creeping in increases. Human error is a significant factor in many an outage, after all ...
Earlier this year DEVOPSdigest compiled an epic list of expert opinions about 30 Must-Have Tools to Support DevOps. While all of the 30 tools included on the list can augment an organization's DevOps initiative, none of them — not even all of them together — can guarantee DevOps success alone. First and foremost, DevOps requires a culture change. In DEVOPSdigest's list of 17 Ways to Define DevOps, the very first definition is: A Cultural Revolution.
So the perfect next topic to explore is "culture change" – a phrase that is often used – maybe overused? – when talking about DevOps. The term culture change does not speak for itself, however. What exactly are we talking about when we say that DevOps requires a culture change? That question is what this list endeavors to answer.
DEVOPSdigest asked experts across the industry – including analysts, consultants, vendors and even users – what they think is the most important cultural change an organization can make to ensure DevOps success. The result is a broad range of answers that delves deep into what DevOps is really all about.
As usual with these types of lists, many of the expert opinions could fit into multiple categories. Some overlap, while others contradict each other. Although the list is categorized for practical purposes, this is not meant to be an exercise in categorization. This is an opportunity to gain guidance from some of the world's leading DevOps experts on what DevOps truly means, from a cultural perspective, how to make DevOps a reality in your organization, and ultimately gain the benefits DevOps has to offer.
This list of top culture changes to make DevOps a reality will be posted in 5 parts over the next 2 weeks. Part 1 covers the executive and management perspective.
1. TOP DOWN SUPPORT
In all the cases where I've seen this accomplished successfully, the most important aspect of cultural change relates directly to top-down support for DevOps, there can't be a bottom-up approach. There needs to be close alignment between IT and business leadership, with common vision and goals shared by the CIO, VP of Applications and business leaders. For example, if you have developers bringing exciting new features to market, but IT has not be prepared to capture that innovation, you're not going to achieve the desired results. You also have to start small to be successful, ideally choosing one project around a new feature, ensuring buy-in from the top around common goals, and empowering the involved team to lead a cultural transformation that showcases the benefits and ROI.
VP, DevOps Product and Solutions Marketing, CA Technologies
The biggest DevOps challenge that many organizations face is the corporate policies that separate development and IT. It is critical that IT be given the freedom and resources to enable and empower DevOps, so the teams can use agile methodologies to shorten release cycles and reduce deployment time. This culture change may require executive sponsorship to break down these walls.
Director of Engineering, Sencha
Making time for improvement is a key to realizing DevOps in an organization. Executives must make it a priority not only verbally but in their actions as well.
Improvement Coach, LeanKit
DevOps is the set of technical practices, cultural norms and architecture that enables the fast flow of work from Dev to Ops to the customer, while preserving world-class availability, reliability, and security. This is all about building a safe system of work where small teams are able to quickly and independently develop, test, and deploy value to the customer, in order to increase developer productivity, create organizational learning and high employee satisfaction, and ultimately help organizations win in the marketplace.
founder of IT Revolution and co-author of "The Phoenix Project" and upcoming "DevOps Handbook
The empowerment of individuals is key to culture change. The ability for people to make decisions without feeling their job is on the line is key, even if the decision turns out to be wrong. DevOps is about experimentation. Experiments will often fail, but each experiment is another learning point.
VP of Market Development and Insights, AppDynamics
At the end of the day, people are the "invisible hand" of DevOps. As executives, you cannot manage every single bit/decision along the pipeline, so you need to empower your teams – from management, mid-tier and all the way to the practitioners in the trenches to "think DevOps" and make the right decisions. Then you'll create a movement that has a rhythm, and self-organization, all of its own. The key is to turn your DevOps heroes into DevOps champions in order to disseminate their best practices across the organization, and pretty soon you'll have a team of champions.
CTO, Electric Cloud
Empowerment must go hand-in-hand with skills. There are companies who rotate roles across operations and development. Everyone develops the skills needed to automate deployment and operations. Operations is a huge aspect of a product.
Founder and Chief Product Officer, SwiftStack
Devolving decision making down and developing a servant leadership style. It's the old Netflix "freedom and responsibility" concept. Individuals that are closest to the problem have to be given the remit to decide how to fix it. Of course, there are expectations in terms of their behavior hence the responsibility part of the earlier statement. Individuals given this new found "freedom" have to exercise it appropriately. Overall, this is a very hard thing to accomplish because the middle management that exists within many firms have grown up with the Frederick Taylor mentality of the roles of management versus labor.
Research VP, IT Operations, Gartner
DevOps culture only works if the people involved have the permission to make decisions without involving everybody in this decision. This greatly improves the way you handle issues and deliver the best experience to your customers.
Online Performance Consultant and Founder of Blue Factory Internet
DevOps only becomes real when the DevOps team members receive full permission to do their job. It is not sufficient to create a new team or rename an existing one "DevOps" – you need to trust the team and actually give them the right tools and permissions to get the job done properly. DevOps team members are usually enthusiastic to get things done, and if they get the full "buy-in" from the organization and sufficient budget resources from the start, they will be able to create the right infrastructure and show off their best performance at the right time.
Accountability is paramount. Without establishing a core ethos of shared responsibility, any DevOps initiative is bound to fail from the start. In order to cultivate a thriving DevOps culture, developers need to be both empowered and obligated to take ownership and responsibility for any issues caused in production.
Head of Product Management, BigPanda
6. ELIMINATE THE BLAME GAME
It's really important to communicate without playing the blame game – shift the mindset for people to focus mainly on the work being done rather than the people behind the work.
Product Manager for ElectricFlow, Electric Cloud
Blame games are a particularly insidious threat to DevOps success. DevOps teams need to be ready to accept failure and move on. When they can't, troubleshooting and triage processes become less of a learning experience and more of a "whodunit?" At best, blame games shift a team's focus away from the constant improvement of processes, products and services. At worst, they prevent a team from learning to collaborate as individual employees worry more about staying out of the crosshairs.
VP of Products and Co-founder, Datical
Blameless is Best.
Instructor, University of St. Thomas
7. ELIMINATE FEAR OF FAILURE
Organizations must accept that it's ok to fail! They should fail fast and Fail often. Experimentation is the best way to progress.
Partner Program Manager, DevOpsGuys
Fundamentally, DevOps is about increasing the velocity of building, testing and releasing applications. Therefore, a top culture change is to embrace a "fail fast, fail forward" mentality. Dev and Ops professionals can't be scared of "breaking things in production", as speed is vital. This culture change requires the ability to detect emerging production problems rapidly (fail fast), using an APM solution, and to garner feedback on what went wrong in order to improve future release quality (fail forward).
Director of Technology Strategy, AppDynamics
Transparency — both on communicating the business justification behind IT efforts which imparts a sense of purpose across teams, and on rewarding failure which sets teams on a path of continuous experimentation and improvement.
Sr. Product Marketing Manager, Riverbed
Check out Top Culture Changes to Make DevOps a Reality - Part 2, covering the relationship between Dev and Ops teams.