This paper talks about moving toward a realistic and functional DevOps culture from current dev and ops model without creating a huge disruption in ongoing business.
What does DevOps mean?
We have come full circle! With the advent of IT in the ‘90s, when software development and delivery was evolving, we had a “DevOps” model running very well within the organization. The ownership of development, quality testing, deployment, and fixing production incidents lay with the developer and developers were not far away from operational nuances of the applications they developed. With IT maturing in two decades, and huge development requirements pouring in, and also to some extent, realization of difference in skillsets required for all the activities of the PLM cycle, the need for different roles for every step in the software lifecycle management was felt. This led to the bifurcation of roles and tasks done; we now have IT Development doing software development and Operations taking responsibility of the run part. This resulted in more hand-offs and hence is more time consuming. The outcome is conflict between the continuous changes IT development is bringing and operations’ need for stability making them resistant to change. The net outcome is that, the sponsors (business) are looking at two teams having regular conflicts, hence neither realizing the business needs on time nor ensuring the right stability.
DevOps as a Solution
And now, again, we are looking for a solution to provide business with change and stability in parallel. Everyone wants to move toward a setup of dev and ops together, aka DevOps. Why? Well, there are four prime reasons for it-
Misconception: And while we are at the DevOps concept, it becomes important to establish a clear difference between DevOps and CICD. There is a misconception around DevOps as implementing CICD pipeline
Approach
The approach to achieve a functional DevOps culture can be done in three stages-
1. Assessing As-is Ways of working of an organization
Fig 1- Step1 - As-Is assessment
Fig 2 – To-be team structure in DevOps set-up
3. Create building blocks to move toward To-be model
Implementation steps
Following steps are enablers to implementing effective DevOps –
Fig 3- Implementation steps
Creating a Feedback Loop
DevOps in itself is a continuous improvement in ways of working. It is of utmost importance to enable feedback mechanism
With this, we can develop a good feedback and communication mechanism to work on and improve on those to cultivate a stable IT setup.
Gradually, we will see a decline in manual efforts being spent on most operations tasks and almost everything being automated. This would eventually lead us to our nirvana stage of “No-Ops” support at all; thus marking the successful completion of realistic functional DevOps and moving toward End State.
An initial step toward realistic DevOps culture can be stated as success, once the below parameters are showing improvements:
Once this reaches acceptable KPI levels, the organization can move forward to full-fledged DevOps with the entire automation suite in place and then toward the final journey of No-Ops.
Ajai Ramachandran
Partner, Communication BU, Wipro Limited.
Ajai Ramachandran is a Solutions Lead heading the Transformation program, T-Mobile Netherlands as part of the Communications BU. He has 19+ years of experience working with various service providers across world.
Mansi Dubey
Consultant, Communication BU, Wipro Limited.
Mansi Dubey is DevOps consultant working for T-Mobile Netherlands, Transformation program as part of the Communications BU. She has 6+ years of experience working with various service providers across Europe.