A DevOps journey
As a DevOps engineer, I would like to share one of the experiences I encountered during my career, when I discovered a very siloed organization. Through this testimony we will go through:
What is the DevOps principle?
DevOps is about cultural change to bridge the gap between teams. We also call that gap, the wall of confusion. When teams are separated by issue tracking system and transfer the work to the next team inline. This situation creates:
- a lack of end-to-end vision
- few feedback loops
- fewer opportunities to learn
This wall of confusion is at the opposite of the Three Ways: The Principles Underpinning DevOps. Some consequences are:
- low engagement from employees,
- low velocity to deliver value to customer,
- organizational complexity.
What does a DevOps Engineer do?
In my department, we had several development teams. In addition, we had one DevOps team appointed to support the code delivery to the department managing the on-premises infrastructure.
My team already had CI/CD pipelines in place that allowed them to reduce the deployment time from a weekend to 40 minutes. Despite this achievement, things were still confusing from a DevOps perspective. For example, after my onboarding, I received my first helpdesk issue. I was asked to create a git (code) repository. I started asking questions about workflow, branching strategy, etc. To my surprise, I was kindly advised to simply duplicate the template.
I was puzzled because with my previous experience as a developer, managing code repository was part of my job. A few minutes later, I received another ticket to create a build pipeline. I, then, started asking questions about SDK, test strategy, deployments requirements, etc. But, again, I was advised to duplicate the template. After these events, I asked myself “Why did they hire a DevOps engineer to duplicate templates?”
How to do DevOps when the organization is not?
To contribute to a more DevOps organization and improve software delivery, we identify three key priorities to start with:
- First, empowering the development teams.
To tackle this challenge, we started by positioning ourselves as a facilitator, working to reduce our involvement in the delivery process. For example, we no longer create code repositories or CI/CD pipelines. Instead, we provide governance, training and coaching, so that developers are able to use these tools autonomously. - Then, encouraging and supporting learning.
We created a DevOps guild across the IT department to share and learn around our DevOps core value of “quality, velocity, delivery”. With the guild and thanks to better relationships between different teams in the organization, we were able to create and drive cross-functional improvements. This resulted in cross-functional collaboration habits. - Finally, contributing to a broader transformation.
We also began contributing to a larger transformation program around value stream to create visibility into the flow of change and ensure an alignment of our contribution with the corporate strategy.
Find out more about key capabilities to drive improvement.
Which tool to use for DevOps: Platform transformation
The next big step in our journey was the opportunity to migrate part of our services to a public cloud and experiment the concept of Platform as a Service (PaaS) for engineers. The idea was to increase team autonomy and reduce collaboration overhead by standardizing the collaboration interface. Concretely, our cloud team did a great job by providing standard services for developers on Azure DevOps and AKS. This allowed developers to manage their services deployment as code and abstract complexity of container orchestration on Kubernetes.
Which are the DevOps Lifecycle Challenges?
There are still some challenges in our DevOps journey.
- First of all, DORA Metrics as DevOps KPIs are still difficult to measure.
There are several reasons for this, but fundamentally, we believe that as we have become more mature about DevOps practices, measurement will become clearer.
- Our second challenge is to be able to scale our platforms for developers’ concept to provide more services and extend the experimentation to other teams.
Which are the benefits of a DevOps organization?
We went from a siloed organization to one that is able to collaborate on value creation, leveraging DevOps best practices and platform as a service (Paas).
Moreover, this DevOps journey has been possible because it was part of a larger transformation program. I would like to thank my managers for their trust and their personal investment in this transformation which has made it a great adventure and human experience.
Read more Insights on Software Product Engineering topics.