The era of monolithic IT projects where changes were applied occasionally after release is history now. It does not matter if we are talking about projects in the cloud or on-premise. There is one goal: manage solution efficiently and shorten the time spent on management and changes implementation together with deployment. That is why more and more organizations are introducing DevOps practices as one of the crucial parts of the path to success. This is the first article from the series where I would like to explain what DevOps is and what are the benefits related to its adoption in the organization.
What is DevOps?
Many different definitions of “DevOps” term can be found and many of them are misconceptions and anti-patterns. You could have come across terms like:
- DevOps is a special team
- It involves only development teams and administrators
- DevOps is crucial for the startups only
All the above are not definitions of DevOps and it is highly important to clarify it.
DevOps is the combination of cultural philosophies, practices, and tools that increases an organization’s ability to deliver IT solutions and services fast and efficiently.
Thinking about DevOps in the context of a specific tool or team is wrong. DevOps also is often described as a set of practices to follow to achieve the planned end result in the shortest time possible.
There are four pillars of effective DevOps:
- Collaboration – the process of building towards a specific outcome through supporting interactions and the input of multiple people
- Affinity – teams and departments within the organization need to have strong relationships
- Tools – An accelerator to drive change based on the organization’s culture and direction
- Scaling – Ability to adopt other pillars of the effective DevOps during the organization’s growth
Why organizations should adopt DevOps?
DevOps mitigates the risk of slow reaction to market changes in an environment of uncertainty, complexity, and rapid change. Adoption of DevOps as a practice allows the organization to quickly use its technical capabilities, to create and deploy solutions to support it, to act based on data it has and to adapt to changing market conditions.
DevOps accelerates the company technical capabilities by affecting the following metrics:
- shorter time to market (improved deployment/release frequency)
- lower failure rate
- shorter lead time between fixes
- shorter mean time to recovery
Organizations around the world already invested in the DevOps and benefit from it, based on the worldwide 2018 State of DevOps Report prepared by leading experts in this area.
Interesting fact is that organizations using DevOps as a practice are:
- 44 times more likely to use repeatable testing patterns – which saves time
- 44 times more likely to improve their tooling – which increases quality and efficiency
- 27 times more likely to use configuration management tools for standardizing deployments – which improves quality
- 24 times more likely to make monitoring and alerting configurable by teams – which helps build stable and predictable software releases
I mentioned that DevOps is not only a purely technical process. When DevOps is adopted across the entire organization in the business project lifecycle, it goes way beyond just a technical tool or process. There are a lot of other benefits:
- standardized deployment tools and patterns
- stable and reliable deployments
- a common way of communicating and prioritizing business requirements
- improved collaboration between teams
I encourage you to look at the five stages of DevOps evolution in the organizations presented in the 2018 State of DevOps Report:
Each stage presented above is defined by two key practices (with one exception for the initial stage):
Now you understand that DevOps is not one tool or one team. It is not one practice and one process. DevOps is the combination of cultural philosophies, practices, and tools that increases an organization’s ability to deliver IT solutions and services fast and efficiently. In the next article, I will present a tool called Azure DevOps which can be a central hub for managing best DevOps practices.