DevOps is fundamentally about changing culture. One of the primary objectives when starting a DevOps initiative is to achieve a cultural change in the organisation as a whole. To be successful with DevOps you need an organisation that takes responsibility for the full picture and not only optimises parts of processes. A good illustration of a well functioning DevOps organisation is to view the organisation and its processes as part of large manufacturing plant.
If you optimise parts of the full process you will have bottlenecks where work is piled up and not processed in time, due to other processes are not tuned in accordance with the rest of your organisation. In a fully functioning DevOps organisation the full process is optimised and work flows smoothly through different steps in the processes. With experience and knowledge, many processes can even be automated.
DevOps will change responsibilities
You also have to create an acceptance from various parts of the organisation that will have a different set of or redefined responsibilities from what they are used to. Among other things, working DevOps style means that developers have to accept a higher level of responsibility for the production environment, which means that they to a higher degree have to make sure that the code they commit do not break anything and if it does it needs to be easy to remediate. Operations have to be prepared to hand over parts of their responsibility to developers and give developers access to tools, logs, alarms and other information they need to understand and assume part of the responsibility for the production environment. Operations also have to create self service capabilities for developers to be able to spin up new instances of development, test or even production instances. However, the ultimate responsibility for the production environment will probably remain with operations in most organisations, which means that operations also have to create solid and easy-to-execute routines for restoring backups or restoring earlier code images in the production environment to get things back up quickly if ”shit hits the fan”.
Working DevOps style further means that teams have to be cross-functional and embrace an agile methodology with a joint cooperation and acceptance for continous improvement. Developers, testers, information/IT security and operations have to work together to improve processes and automate where possible. This new way of thinking requires a culture change, where these functions often today work in separate silos and optimizes their own processes.
The first step in the CAMS model
We have used the CAMS (Culture, Automation, Measurement, Sharing) as the foundation for our DevOps Ready model. The CAMS acronym was originally established when talking about DevOps by Damon Edwards and John Willis already in 2010. We think it gives a good introduction to what is important when looking to implement a DevOps style of work. The first step in the model is about establishing a DevOps kind of culture in your organisation. To be able to achieve this and get everyone ”onboard” this new initiative, management support and of course enough budget will be crucial. You need to secure the support of a sponsor that has the power to explain and steer both developers and operations in the right future direction.
To ensure future success and get everyone excited about the new initiative can be to start up small and then scale up. If you are able to find a suitable project in your organisation where a DevOps style of work would be beneficial, use this project as a model for a larger implementation. Let the project test out tooling, processes and routines. Once tested and accepted it is much easier to gain acceptance from a broader audience and you can also use the original team members as advocates to promote the new way of working. It is also much easier to gain acceptance and interest if you have a ”good example” to showcase. We call this approach ”Thing Big – Act Small – Scale Fast”. If you have a concurrent initiative for a microservices architecture implementation, this is a good project to use as a model, as these kinds of projects almost requires a DevOps style of work.
To be long term successful with the DevOps implementation you will need to continiously evaluate and improve chosen processes, routines and tooling. Remember that first successful implementation of a DevOps style of work is just the starting point. Part of the long term success of the model is a constant evaluation and questioning on if we are doing things in the most efficient way and if we can automate something that isn’t already automated. This leads us to the next steps of our DevOps ready model through CAMS – Automation, Measurement and Sharing. We will tell you more on these steps and their specifics in coming blog posts on the DevOps Ready Model.
DID YOU LIKE THIS? THERE IS MUCH MORE TO LEARN
- Are you DevOps Ready? Part 1
- Are you DevOps Ready? Part 3
- Are you DevOps Ready? Part 4
- Are you DevOps Ready? Part 5