DevOps Culture: An Important Building Block

More than once has actor Tom Cruise felt “the need for speed.” In films like “Top Gun” in which the phrase appeared, and also “Days of Thunder” in which he played a race car driver, the most important priority was to get a vehicle to move really fast, preferably faster than any other of its kind. There’s a stark parallel between this perceived need and perhaps the strongest perceived need in business today – that same need for speed. Every business seeks to stay ahead of its competition by making everything happen faster and hopefully better. Products come to market faster. Messaging about those products come even faster. Everything everybody does must be done faster, so everything that impacts every process must move faster. Since most things are now run by software, software must move faster and get many things done more quickly. For that to happen, the software itself must be developed faster, deployed faster, in production faster, and continuously improved faster than ever before. This has led organizations to begin considering adopting DevOps culture in order to achieve these awesome benefits.

A DevOps Culture Requires Change

The similarities extend beyond the need to how we achieve speed.

Making any vehicle move faster is a “sum-of-the-parts” activity. The body of the vehicle is carved to be more aerodynamic. The engine is outfitted with better parts that fire the pistons faster. The drivetrain is improved to transfer the engine power to the wheels more efficiently. Those wheels are covered with superior tires that grab the road better, and the driver behind the wheel gets more and more training. Finally, the pit crew practices over and over again until they can execute a pit stop in record time. Everything and everyone contributes.

Creating a culture conducive to DevOps can be described with great similarity.

Based on the name, its easy to assume that DevOps occurs within the team of developers who create the software and the operations group who run the software for users. But the change required is cultural, and cultural change is pervasive across any organization. Everyone is impacted by it. Everyone experiences changes in paradigm, attitude, and approach.

In a 2017 McKinsey article, the writers recommend that those working to implement DevOps, “Push change from the top. Start it from the bottom.” As with all cultural change, nothing will happen quickly or suddenly. Culture is not changed. It is influenced, it is encouraged, and given credible evidence it slowly shifts.

Acceleration of processes is again accomplished by innovating and improving every component of the value chain. Large monolithic blocks of code that take months to develop, code, and implement give way to microservices in containers than are loosely coupled and much finer grained. These reductions make them far faster to develop, code, deliver, and deploy. Even users are encouraged to perform faster, specifically when it comes to providing feedback for further improvement.

Any process that will benefit from automation is quickly automated since automation performs far faster than any human. One of the acceptance criteria for every tool incorporated into a DevOps environment is speed of performance. Faster technology is incorporated at every level from servers and storage to code and compilers.

A DevOps Culture is Built on Trust

Approvals are the enemy. Approvals take time. Removed decision-makers may not feel the urgency. In a DevOps culture, decision-making is delegated down as far as possible so that as many people as possible can make a required decision and take productive action. Checklists, inspections, audits will all introduce far more latency and destroy the value of any DevOps initiative.

Teams become far more autonomous, more enabled, and more empowered, able to make decisions and create needed changes without waiting for someone else to go through their seemingly endless deliberations. At the same time, they also become more interdependent as they share responsibility for processes that cross from one to another. The crucial role of feedback in driving the next iteration of improvement only serves to further illuminate the importance of the high level of communication and collaboration that DevOps organizations must foster.

The growth-oriented mindset present in a DevOps culture tends to toss out the old rules. It’s okay to fail, as long as you fail quickly, learn, and recover quickly. The ultimate goal is getting quality working software delivered quickly and often. Any rule that delays that must be ignored or changed.

Another manifestation of trust is the elimination of blame. It really is unimportant who may have caused a particular failure or anomaly. Finger-pointing simply goes away, replaced with a united desire to rectify anything that may have gone wrong quickly, and without rancor.

The only important thing is to rectify the situation and provide quality working software as quickly and as often as possible.

A DevOps Culture Means More Collaboration than Control

It was in the aforementioned “Days of Thunder” that Nicole Kidman turned on Tom Cruise and declared that “control is an illusion, you infantile egomaniac!”

In a DevOps culture, “control” must be distributed. Teams become self-driven and self-managing. Improvement is controlled through testing with the desire to improve a pervasive element of everyone’s approach to their mission. Perfection is happily sacrificed on the altar of good working software that will quickly be further improved. The outcomes are what matters, what is consistently reward, not adherence to process or compliance with requirements.

Control over constant improvement is exercised through user feedback.

Indeed, in an interdependent, cross-functional culture like DevOps, there’s seldom certainty as to who is in control. It becomes attractive to cede as much control as possible to automated systems to eliminate any possible conflict. But automated tools, and automation in general, are not the sum total of DevOps.

Automate That Which Can Be Automated. Share Everything.

“Even with the best tools, DevOps is just another buzzword if you don’t have the right culture,” writes Martin Fowler, self-proclaimed author, speaker, and loud-mouth on the design of enterprise software. “An attitude of shared responsibility is an aspect of DevOps culture that encourages closer collaboration. It’s easy for a development team to become disinterested in the operation and maintenance of a system if it is handed over to another team to look after. If a development team shares the responsibility of looking after a system over the course of its lifetime, they are able to share the operations staff’s pain and so identify ways to simplify deployment and maintenance by automating deployments and improving logging.”

Continuous Improvement is the Product of Culture

DevOps is a marathon, not a sprint. It requires stamina and determination to remain fixed on the ultimate goal of constant and continuous improvement. “True DevOps unites teams to support continuous integration and continuous delivery (CI/CD) pipelines through optimized processes and automation,” says Waleed Bekheet, VP of Practice Solutions at global technology consulting company Onica. “A CI/CD approach enables efficiency in the building and deployment of applications, and automated application deployment allows for rapid release with minimal downtime.”

It may seem like a panacea, and the cynics among you may call it unrealistic, pie-in-the-sky, fluffy, or some other term that is derisive of new age thinking, but achieving continuous improvement is not that. It is the product of a culture created by the desire to do everything necessary to move from idea to implementation to increase success faster than ever before.

Planning a DevOps Initiative? Let Us Help!

Struggling to achieve alignment and collaboration within your organization? Not sure how to begin? We can help. Tiempo has assisted many organizations with adopting DevOps, and completing successful initiatives with minimal disruptive. From strategy and planning to implementation, Tiempo has the resources you need to make your initiative a success.

Schedule a DevOps Consultation