Why Failure is Critical to DevOps Culture
Source – informationweek.com
One of the first steps in DevOps is to understand the need for some failures and learn from them.
It’s no secret that in order to fully adopt a DevOps culture, it requires acceptance of change from the C-level, down. The tricky part is that there is no roadmap or “step-by-step” guide to change a company’s culture, because every company is vastly different. A business can’t simply say, “Right now we’re going to start doing DevOps,” because so much of the change is cultural and requires an ongoing conversation to see the bigger picture.
One critically important concept for any organization beginning to adopt its own DevOps culture is by accepting the idea of “Learning from Failure.” If your team or company culture does not place a high value on learning and striving for improving upon failure in processes, tools, and individuals in a continuous manner, then any efforts to roll out DevOps will fail. This is why the ‘culture of DevOps’ comes up so frequently and why it frustrates many who strongly hold on to ‘old-view’ methods of managing development and operations.
Unfortunately, (and understandably) many companies have a hard time grasping this idea of failure as a success. Naturally, companies want to be able to mitigate as many instances of outages and glitches, which can not only be financially detrimental but can also tarnish the brand image. But if a company has the mindset of limiting failure, that can directly conflict with wanting to improve and stay ahead of the market competition. The only way to do that is to continuously learn, and if we’re not allowing ourselves to learn because we’re attempting to prevent mistakes (which is effectively impossible), then no growth occurs.
Of course, this is easier said than done, and is something that requires a “safe space.” Companies need to create a culture where failure is okay and understand that everyone is there to learn from each other. This is exactly what blameless postmortems, a process for evaluating the success (or failure) of a project’s ability to meet business goals, are designed to help with. It’s important to not point fingers, because everyone is there to understand the same thing: what can we learn?
Additionally, without this acceptance of failure within an organization, many employees may be inclined to cover up mistakes in an effort to avoid reprimand. If there is a mentality that “heads will roll,” and someone could lose their job when these issues are surfaced, all that does is incentivize silence and complacency. To an employee, there’s no value to letting everyone know what they experienced, what they did, what the results were, and what they were thinking. However, some companies with a working DevOps culture actually reward employees for uncovering flaws and failures as they can now use that information to improve the overall functionality and availability.
Trust is essential for this to occur, and again, that starts from the top. Encouraging “learning from failure” is the quintessential aspect of DevOps that makes it what it is, and is an area where many organizations and IT pros fall short. When we empower teams to continuously learn from their mistakes, their ability to adapt and grow becomes a differentiating factor, contributing to their organization’s success. After all, isn’t that the ultimate goal for any business?