What is DevOps?
What is DevOps?
DevOps is the practice of development engineers (Dev) and operations (Ops) working together in the entire development- and service lifecycle, from design through the development process to production support. In order to achieve this, the traditional separation between development and operations needs to be broken. This because both areas of expertise are required to successfully deliver and maintain software which meets the functional and non-functional requirements.
The following example will give you a better understanding of the differences between the traditional approach (development and operations divided) and a DevOps team.
Dev and Ops divided
The development team builds a piece of software, tests it and hands it over to the operations department where they are responsible for integrating the new software, running it, maintaining it and supporting it. Sometimes developers will give operations some sort of guidance on how to deal with production issues. But in many cases, operations has limited to knowledge of the production environment to begin with.
With this divided setting, both departments don’t have a lot of information on how the other works and what they need. Therefore, it can be hard for Ops to find the root problem when facing issues. This can cause downtime and delay in developing new features.
DevOps team
A true DevOps team works with the principle “You build it, you run it”. So the team that develops a feature, is also the team that’s responsible for running and maintaining it. This way, it is easier to locate bugs and fix them.
“You build it, you run it“
– Werner Vogels CTO @Amazon –
Why DevOps?
Before going into the main advantages that DevOps has to offer, it is important to state that DevOps should not be a goal on its own, it is a practice that helps you to achieve your goal. It can help you shorten your time-to-market, or it can help you improve the collaboration between Dev and Ops by letting them work together in one team.
Other major advantages include:
- Get changes into production quickly while minimizing risks in software quality and compliance
- Early detection and faster resolution of problems and thus creating a higher quality product
- A continuous flow of software delivery
- Less dependency by eliminating waste (unnecessary hand-overs)
- More time to innovate (instead of fixing or maintaining)
How to start with DevOps?
When starting with DevOps it is important that you gain insight into your current development process and thus the value chain. As the main character in The Phoenix Project discovers, there are roughly three phases of looking at your value delivery chain that help improve it
Every business unit, every team, every person plays a part in the delivery of concepts to cash. Everyone involved needs to understand the flow and how their work adds value to the end result. Value stream mapping is an excellent tool to help you achieve this.
Next, make sure that you are able to measure the produced value, don’t just assume that value is delivered. Also, make sure that this measured value is also fed back into your delivery chain, so that all people are involved and engaged in the process.
Once it is clear how the work of any person, team or business unit affects the value delivered, you can start working on shorter iterations with feedback loops, and experiments. After all: if you can deliver more regularly, it is easier for everyone involved to adapt to the measured outcomes of what you have produced. This kind of continuous experimentation can seem dangerous to start with, but is vital to be able to keep up with competitors.
Our DevOps services
DevOn helps organizations to radically improve their software development. We help them with their DevOps transformation through consultancy and training. Moreover, we educate software organizations to take the next step towards Continuous Delivery, DevOps and Digital Disruption in order to stay ahead of the competition in the rapidly changing market. DevOn has three fields of expertise: Test Automation, Continuous Delivery, and DevSecOps.
Secondly, we also offer self-steering AI Powered High-Performance Teams who will deliver high quality operating software every sprint.