The software engineering capabilities of an organization decide its speed to market in terms of products and services. The software engineering comprises of the functioning of two departments viz. development and IT operations. However, these two are often seen working in silos with their own issues and priorities. Despite each one doing its best for their own function, the disconnect results in unexpected problems, friction and rework. This problem of 2 silos of development and IT operations further gets amplified by two latest trends – Agile Development and Large Scale cloud Infrastructure. Agile development makes the software releases much faster than earlier thereby increasing the load on the IT operations. Large scale cloud infrastructure usage by organization changes the intrinsic processes and control in the IT operations and subjects to external factors of cloud provider. DevOps is an answer to this tricky problem of synchronization between Development and Operations. DevOps was born in 2009 in Belgium, though the concept was seen evolving much before that in organizations like Amazon.
This concept leads to actual working and bonding together of development team and operations team enabling better knowledge diffusion. Previously this was experimented with “automated deployment pipeline”. However, DevOps is advanced and quite ahead of automated deployment pipeline. DevOps work culture brings vital feedback to both the silos – those in operations learn what issues might crop up when system goes in production while developers learn about the various characteristics of production environment they should keep in mind while designing and programming. Involvement of operations team in early phases of development shows a clear picture of how production will be carried out. Similarly, early interaction with operations team helps the development team to understand the priorities and tasks of the operation team.
The diagram below gives an overview of DevOps:
Benefits of DevOps:
- Enables faster time to market
- Promises to increase efficiency, maintainability, accountability, security and predictability of active work processes
- Increased interaction between departments
- Reduced lead time while solving issues/errors
- Helps to eliminate redundant systems
- Brings in cultural overhaul in the IT departments with better bonding
Let’s take an example of an ISV being a leader in the Healthcare provider market. Every company makes use of software to better manage its resources and handle out operations, especially if the company is a leader in the Healthcare market. This product is customized per state since each state in USA has different set of policies and regulations. When there is a regulation change in a specific state, the company has to upgrade its product as per the new regulatory rules in order to remain relevant in the market. This necessitates the product development team to make changes in the programs and pass it on to the product operations team.
Now, as the product operations team is responsible for installation of the product on client’s IT environment, it has to deal with various configurations depending upon the technology platform. Thus the two departments have their own strengths and challenges to deal with, while ensuring task completion before the regulation comes into effect.
In order to identify the possible mistakes and capabilities, DevOps will help both the teams for changes and alterations with due considerations of various release configurations. The operation team understands the new requirements with due respect to technology utilized. DevOps will not only shorten overall time from design to market release but also reduce the chances of errors.
Adoption of DevOps is a clear path of discovery since people and processes don’t change overnight. While DevOps brings in some new processes and tools, there is no reason to throw existing good practices away on either side like CMMI or ITIL.
The larger benefits of DevOps can be reaped by adopting to systems-thinking, leadership changes and by applying statistical process control for increasing predictability and customer satisfaction.
At Harbinger Systems we have helped clients for DevOps. We have learnt new tactics and strategies through our experiences and would like to share with our readers. Read more about Haribnger’s experience with DevOps tools here.