Advertisment

Managing the DevOps Churn – 3 Steps to Implementing Self-Learning Systems

author-image
DQINDIA Online
New Update
devops

By: Madhavan Krishnan, Vice President – Cloud Computing & DevOps, Virtusa

Advertisment

DevOps is a new exciting and far-reaching shift in IT delivery today. It promises a tempting higher productivity, lower cost and more business reliable systems. DevOps is culture, process, technology and people. Its strategy merges many disciplines into a cohesive set of organizing principles. DevOps is a new way of delivering IT systems that promises faster delivery and higher quality which is also a huge investment of time, energy and resources for IT organizations.

With the massive enterprise movement towards adoption of ‘Digital’ which has not only accelerated the adoption of DevOps in all kinds of projects but has increased its rage in Digital transformation initiatives particularly. Apart from the productivity benefits that DevOps brings in streamlining automation towards software development and roll out, it is the increased ‘Agility’ that DevOps deliver - has helped move its adoption to gain critical mass over-night. However, challenges remain – particularly in ensuring the alignment of the three dimensions – people, process and technology of a business system which are enabled by DevOps and are coordinated enough to achieve the desired outcomes. The ‘churn’ in each of the three dimensions with every software release, particularly with the constantly changing and evolving technology and operating procedure to support business requirements and end users and the impact it has on the ‘people’ dimension cannot be under-estimated, leading it to a burn out.

DevOps requires deep cultural and organizational change. That means changing a lot in behavior. It means throwing out decades of embedded explicit and implicit practices. Changing IT organizational structure is easy. We can put the developers and the operations people together in a room and tell them to get it done. But will those two different groups of people, with many years of different training and different experience, morph into a DevOps organization? Reshaping your team for DevOps and applications agility requires courage and dedication at the executive level. It will also take time and money, and will require hard decisions about team members.

Advertisment

To mitigate this churn effect, it is essential to implement a DevOps ‘composite system’ that manages this churn in a methodical and systematic way to bring some order to the seemingly chaotic mess of having to manage multiple moving blocks at the same time. The composite system should essentially be able to deliver the following capability

1. People - A visibility dashboard for all stake holders in DevOps value chain

With people, visibility and relevance of their work is of prime importance for them to feel connected to the mission. In a typical Software Development Life Cycle (SDLC) in an Agile methodology executed through DevOps, there are many stake holders involved starting from the business, developers, testers and support services personnel among others. In an integrated life cycle of constant and continuous software development, testing and rollout, the cycle can seem to be complex and never-ending. For a successful and motivated team which is committed to do their best, the system should provide a visibility dashboard customized to each individual, based on the role he / she is performing in a project. The dashboard could involve gamification and relative performance visibility of trends at an individual or group / project level. The purpose of such as dashboard is not just to improve the visibility and individual performance but also bring in an alignment and connect of each member of the team with a broader company mission.

2. Technology - An event driven technology automation directed through API integration

Advertisment

Number of technologies and platforms involved in a DevOps lifecycle can be unnerving and intimidating at the same time. Ultimately, the aim of deploying technology to a process is to simplify and create efficient systems. Towards the end, the DevOps technology architecture will have a need to be governed by two critical design principles –

1. An event driven architecture which enables asynchronous integration of data generated by different tools and technologies involved.

2. An API enabled interface at each level of DevOps process flow so that a change in underlying tooling does not have an impact on the business.

3. Process - Data driven self-learning system to constantly streamline and improve processes

In a system that is heavily laden with interconnected tools and technology, a typical DevOps process is heavily automated. This is however just a generation one maturity of DevOps evolution. Just as in the people dimension where team members are constantly measured, bench-marked and improved, systems and processes needs to evolve too, on a continuous basis. With so much automation, an integrated DevOps system generates a lot of data like build cycle times, testing cycle times, operational issues like issue resolution etc. which can be harnessed and ploughed back into the system. Next-gen maturity in DevOps is achieved with data enabled feedback engine which constantly improves the quality of DevOps processes and their performance.

To implement next generation DevOps, organizations need to consider a holistic approach to manage change at People, Technology and Process levels. Each of these dimensions will have unique needs and a keen understanding of what it takes to make the DevOps system work for all its stakeholders.

devops software-development-life-cycle
Advertisment