DevOps: A Cultural Transformation
When the Agile software development methodology was introduced, it forced the IT system to adapt to the need of deploying software at an ever-increasing rate. Today we are in a place where we have drawn the road map, albeit a faint one at least, for enterprises to shift towards Agile software development; but the journey has not been easy. DevOps addresses the problem of how a company can deal with these problems, but just like Agile before it, there is a lot to learn.
More than just an upgrade to your toolbox
When introducing DevOps to an organisation many start by bringing in new tools, but the tools are rarely the problem or the solution. While suitable tools are undoubtedly helpful for increasing agility and collaboration, there are two major challenges. The first is restrictions from traditional IT, such as resource availability, lack of speed and agility, and costs. The second challenge is convincing people to adopt a DevOps culture and changing their behaviour in order to act accordingly to its principles and practices. The public cloud provides the solution to barriers traditional IT presents whilst simultaneously is a driver for changing the culture, mentality, and ultimately behaviour of an organisation.
DevOps is not the domain of a single individual or team. Everyone needs to buy into the culture, and everyone needs to own it. This is absolutely the key to a successful transformation. Whether you’re in development, testing, operations, sysadmin, management, or HR, it’s about bringing everyone together, eliminating silos, and understanding that you are one unit working on a common goal; delivering better, faster, and smarter software to increase end user value.
What do you need to consider when transitioning to a DevOps culture?
Here are a few values that you should pay attention to when getting ready to implement DevOps practices in your organisation.
Transparent and efficient communication
When moving to DevOps, the number one thing to get right is to enable and encourage transparent and efficient communication throughout the company. In traditional organisations functions are usually separated and siloed. There might be no cross-
departmental integration with IT operations and developers; operations seek organisational stability, developers seek change, and testers seek risk reduction. We need to get the communication and collaboration between development, QA, and IT operations working.
Deliver value to the end users
DevOps is a culture that should involve everyone that is involved in delivery of value to end users. Everything your staff does, from management to testers and devs to ops, should ultimately deliver value to the end users.
Don’t be afraid of the learning curve
Introducing a unified development and operation practice in any company is a big change, let alone an enterprise; be aware of the benefits and the dangers –and learn. The best way to learn is by acting. Indeed, the classical model of learning starts from planning a step, applying or testing the theory, acting on it, having an experience, and then reflecting and forming a conclusion from it in order to develop a theory. DevOps actually helps you to apply this approach –it helps you to learn, and to learn fast — which takes us to the next step.
Embrace experimentation… and failure!
Automated deployment might help you to deliver value faster. Might. The important thing here is that you will never find out if people don’t have permission or the time to experiment. There are a great deal of benefits for you to discover if you empower teams to tinker, test, and try new things out. There is nothing wrong with failure. In fact, it should be encouraged as that will allow you to iterate and innovate.
Changing processes is necessary
Your current set of processes will have evolved over time, and by nature we are creatures of habit, which means changing processes and established ways of working is always difficult, but it’s absolutely necessary. To make them as logical and efficient as possible, you will have to remove the inconsistencies of current processes whilst introducing some completely new ones, most importantly testing and automation. As a rule, your processes should be automated wherever possible. Reduce manual operations to the minimum and introduce testing at all levels, from the traditional unit level to the integration and infrastructure level.
Renew the toolset
To succeed you need an improved and extended toolset, with cloud services being the most important. The possibility to instantly create small, isolated environments needs to be fully automated. You have to be able to build, test, deploy and operate; tearing it down, rebuilding it, and scaling it into production without changing the toolset is an unique advantage. To be able to implement DevOps, deploying, managing, and monitoring all the resources for your solution has to happen as a group, rather than handling them individually.
DevOps will help you become more competitive through digital transformation, and the cloud will help ensure the successful implementation of DevOps across your organisation.
DevOps is not a team or a product, it is a culture that needs to pervade everyone in
the organisation; not just developers and operations — everyone. Although the toolset needs to be renewed, the real change has to happen in people’s minds. And so the main matter is not only to convince people to approve DevOps but also to embrace the values and start acting by them.
At AltoStack, our mission is to help organisations accelerate their time to value from the cloud by designing, building, and optimising their infrastructures in the public cloud.
We are a team of DevOps fanatics and a core part of our work is helping organisations leverage the cloud to increase the speed and success of cultural transformation.