DevOps is not a framework but a way to live a culture and a professional movement to improve communication, collaboration and integration between software developers and IT operations. This article explains what behind this movement is.
If you have never heard of DevOps, give a look to this article first: DevOps: why should I bother and what do I need to start?
DevOps Basics, The Self-Made Problem
Due to different interests, a lot of silos were built in the service delivery chain and segregation of duties was the main goal. Segregation of duties is important for the definition of processes and it is also requested by internal and external control systems. This causes problems which might be known:
Automated Service Delivery Chain
The future solution must break down the silos without removing the segregation of duties everywhere. As an example, there could be a tool chain which takes over the responsibility of the segregation of duties. An automated tool chain, which is able to control every change from the Dev to the Ops and is as fast as a high-speed train. This chain allows the development team to execute changes and everything is tested, tracked and comprehensible without any manual steps.
From People Oriented to Team Oriented
An important success factor to break down the silos is the building of interdisciplinary teams, which work together, find solutions together, and improve the service delivery chain together. To achieve this, you need a culture of trust and understanding. Everyone must get closer together and understand how the other part is thinking. Communication training is an option, but it’s normally focused on individuals and not on teams. Communication is only one part of team building. Collaboration is the other part.
How You Can Use DevOps
DevOps breaks the silos. Lots of articles mostly associate this idea with technologies like toolchain and automation procedures, but DevOps is more than that. DevOps is a holistic approach. The DevOps institute founded 10 years ago has a fairly clear understanding of that what DevOps should be:
The main principles of DevOps are represented by the following “3 ways” (the 3W):
1st Way: Flow (left to right) – Try to move very efficiently and fast from Dev(elopement) to Op(eration)s, taking into account the desired quality.
2nd Way: Feedback (right to left) – Implement on the way to the left as many feedback loops as possible, so that the improvement can go on.
3rd Way: Experimentation and learnings – Always find new ideas and opportunities to build stable and “antifragile” (keep this word in your mind) systems and to improve the things you are doing.
Here you can find out more about the DevOps Institute
Support the 1st Way: The Flow
How to move very efficiently and fast from development to operations? Important is of course the tool chain. Automation helps to bring something fast, efficient and secure to production. This chart gives a very good overview about supporting tools. Open source solutions are hereby always a good choice as code can be easily modified for own purposes.
Be careful, you should not simply buy a tool and think the work is done with it. Gartner says about the DevOps implementation, that 50% of the challenges are people issues, only 8% technology issues.
For a holistic approach there are additional very important things to know about DevOps. For example all the lean principles like value stream mapping, Kanban and ChatOps, which helps a DevOps team to understand what they have to do and how they can work together in a better way.
Support the 2nd Way: The Feedback
Lean Methods are useful but if no conflict or a feedback culture is implemented there will be problems. How and when can someone tell a colleague that something is wrong or that he could do things better? How can an organization learn from mistakes? If no constructive feedback can be given, it will be a very difficult challenge to implement DevOps. What is needed is a “leadership thinking” which supports healthy human interactions.
Support the 3rd Way: Experimentation and Learning
Without any problem new silos can be built with DevOps, but this risk can be avoided by continuous experimentation and learning: make simulation days; make (secure of course) hacking days to find out, what is able to destroy or hinder the current solutions or processes. When the blocking impediments are known an organization is able to make the “ways” and the solution stronger, resilient, safer and “antifragile”.
Even security can benefit from agile practices. Normally, security is a top-down topic with a lot of strong regulations, audits and given parameters. Often not very attractive. What about if the teams decide how to protect a solution? Let them find out what the best way is and let them learn from each other.
Do you know the competitions in schools, where different teams have to protect an egg in the best way?
Imagine the egg represents the system and an organisation would do similar competitions for security topics. The result might become something a little bit “unconventional”, but if requirements are covered and everybody is motivated, why not implementing it? Once good solutions is found, why not support security as a code?
Other Supporting Activities
DevOps does not fight against existing frameworks like ITSM; DevOps works together with them and makes these processes better and faster. DevOps does not live in a vacuum. It is very important that all the frameworks like Agile, Lean and ITSM are embedded in the DevOps culture and thinking.
If someone believes DevOps is a step forward to anarchy, he is wrong. DevOps measures what is possible and defines a lot of standards, but everybody is a part of it.
Additionally to this, the right architecture needs to be identified. Software must be architected in a way that test automation, monitoring and experimentation are enabled; “antifragile” systems must be designed. Micro-services, containers, virtualization, cloud solutions are very good steps to make a system more flexible, stable and robust.
Do you remember Star Trek? Ok, Borgs were not very friendly contemporaries but the ships they had were incredible and a great example of an antifragile system. Have you ever seen an architect or an operator on this ship? The old Star Trek ship Enterprise had (only) Scotty and fortunately they never lost him…
What you can get from DevOps
An organization will get fast, secure and efficient processes and infrastructures to move from “Dev” to “Ops”, and that is quite a lot! Benefits for a company are:
- Automated process steps and flows
- Agile and lean processes and culture for continuous improvement
- An agile culture to quickly solve future problems
Each company must first define what they expect from DevOps in detail and they have to ensure a strong management attention. Not every application or solution needs the same attention of DevOps:
A “bimodal” organisational structure can be implemented for DevOps.
What is the outlook for DevOps? One extension is called “BizDevOps”. The leading “Biz” refers to the word “Business”, which means that all the above-mentioned principles can be applied together with the business.
DevOps is a holistic approach. Technology is very important, but culture, people and “act accordingly” are the other key factors to implement DevOps successfully in a company.
Never miss an update by following us and subscribing to our monthly newsletter!