What is DevOps? If you don’t directly work on the development of IT systems then this might be a strange concept, but for any executive who needs to purchase new technology systems, or modify existing ones, this is an important concept to be aware of.
In short, DevOps refers to Development Operations. It is a combined set of software development practices that bring together the development of software with the with IT operations. The aim is to create an environment where the systems development lifecycle can be shorter and more features and updates can be performed – in general, it aims to bring IT development much closer to the business that is being served.
The broad goals span the entire lifecycle of a software project:
- Increased frequency of project deliveries
- Faster time to market on the original delivery
- Lower failure rate of delivered software
- Shorter lead time between business requests and fixes being applied
- Faster recovery time when failure does occur
By using a DevOps approach the IT team can maximize the predictability of new releases. Efficiency and security are both increased and the code becomes easier to maintain.
IBA Group has conducted research into the effect of using a DevOps approach to software development – although this research was focused on mainframe DevOps. These are some of the key findings:
- 20 x faster to recover when software fails
- 22% less time spent on rework to fix problems
- 30 x more deployments of new software
- 40 x lower failure rate of delivered software
- 50 x greater IT team satisfaction
All this data comes from real mainframe client projects at IBA Group. Deployment becomes more reliable and more frequent when people work together using this type of framework. The IT team uses a form of system thinking, which really means that they create a culture of shared responsibility for the project. This culture encourages transparency and shared responsibility – problems that one team member may have hidden in a regular organization are shared and managed together.
Automation is also an important part of the DevOps culture. The aim is to automate all the routine tasks a developer usually needs to manage. This also creates a far more satisfied developer who can focus on the more interesting and challenging parts of the project. This naturally leads to better quality and performance – enhancing the reputation of the team.
Most executives outside IT are not really familiar with software development practices, but it is becoming more important to understand because a different approach to the way that software development is managed leads directly to business effects, such as better quality, fewer failures, and a team with higher satisfaction in their job. DevOps is well established as a practice with a decade of conferences and articles all exploring how it can be used effectively. If you need to purchase any form of software development from an IT company then how they are managing DevOps should be one of the first things you ask.