This article introduces you to DevOps. You will understand DevOps from a simple definition.
According to Donovan Brown, who works at Microsoft,
DevOps is the union of
- Process and
to enable continuous delivery of value to end users.
Ok. Let’s understand DevOps from the point of view of this definition
First, busting the myth:
DevOps is neither a tool nor a technology. DevOps is we People following a Process that are enabled by Products to deliver value to end users.
The key here is the delivery of value to end users.
You (People) can follow all the software process in the world using the latest tools and technologies (Products), but towards the end, if you are not able to deliver value to end users, then there is just no point in bragging that:
I follow DevOps! Oops!
So DevOps or any other fancy process/term that may pop up in the future is always about making end users happy! Yay! With DevOps, you are able to do that faster and faster in an iterative and incremental way. The customer is happy. The business reaps profits. Win-Win.
Let’s understand how these 3 components of DevOps add value.
In my opinion, this is the most important factor and that’s the reason Why People is placed ahead of Process and Products in the DevOps definition.
The most important aspect of the People part of DevOps is the cross-functional collaboration.
The Dev and the Ops teams within the organization need to collaborate effectively to achieve a common Organizational goal, which is usually higher profits/revenue. If they have different goals, then the organizational goal is superseded by the departmental goals. The collaboration is lost, and the organizational goal is buried under the carpet.
The need of the hour is to have one common goal for your cross-functional teams.
Having a separate goal for the development team and the operations team will cost your business dearly. Aligning their goals will enable them to work together for a greater organizational cause.
But why there is so much importance on aligning their goals?
Traditionally, the Dev and the Ops do not share the same goal. That is expected, as the Dev teams are paid to make changes or to create new features as fast as possible and push them to production. And the Ops team are paid to stabilize the production environment, or to make sure there are fewer changes possible. So inherently, there is a contradiction in what they are trying to achieve. There will be challenges in making the 2 teams work together effectively.
That’s the people part of the definition. You need to get this aspect absolutely right. If you can’t, don’t bother moving to the next steps.
When you’re working with DevOps, you need to adopt a process that continually adds value. You add value by:
- Eliminating waste in the system
- Getting Continuous feedback
If something is blocking the flow of value to the end user, for example, manual Handouts, or waiting time due to work not completed by other teams, or other manual efforts, they are considered waste, and they impede the flow of value to the end user.
You can remove the waiting time, automate the manual tasks, but again, in the end, if you are not giving the users what they need, then your effort has come to nothing.
You need to have a continuous feedback system, to constantly receive feedback from the customer of how the product is doing in production so that you can use the feedback to build new features that are really important to end users.
Now, you must have observed, I have used the terms ‘end user’ and ‘value’ throughout this post. That’s the essence of DevOps. All you care is delivering value to your users so that your users are successful, you are successful and DevOps is the engine that fuels the value addition.
Finally, we talk about products or tools that enable the DevOps process.
Tools are important as they foster automation of your processes which eliminates manual mistakes.
And the elimination of these mistakes eliminates waste. Observe, how Product circles back and complement Process?
Eliminating waste increases your teams’ productivity which allows them to deliver the value faster to the customer.
Here is a YouTube video explaining the same concepts:
To put together, DevOps is:
- People across teams coming together for a common organizational goal,
- Through a Process that adds value to end users,
- Using some of the popular DevOps tools (Products) to enable continuous delivery of value to end users
And no wonder why the word ‘DevOps’ is a portmanteau of Development and the Operations team, as it is all about bringing these 2 teams together.
If you are getting started and looking to learn more to get a big picture of DevOps, check out this course.
If you are like me, you would enjoy a fantastic novel on DevOps which is about the journey of an IT manager who uses DevOps to turnaround the organization and helps the business win.
As always, please leave your comments. I’d really appreciate them.
Want to be notified as soon as I post? Subscribe to RSS feed / leave your email address in the subscribe section. Share the article to your social networks with the below links so it can benefit others.