Dear DevOps, I Hate You!
Dear DevOps, How are you? I have been meaning to write to you for a while now, just to tell you how much I hate you and to tell you that you are dead to me. Why you ask? Let me explain, DevOps but before I do that, a little background.
Since the day I heard of Agile and its power in enabling teams to think in small increments to gain big, substantial results, I have been a fan. The sheer agility and velocity the principles of Agile brought were exciting. When business and end users started demanding more frequent releases and higher quality applications, I even adopted extreme programming techniques and furthered automated testing efforts, to the extent that functionality was tested automatically (and magically) when I clicked the Build button. I couldn’t help but notice everything on the development and testing side working perfectly until code was moved to higher environments. Often times the bottlenecks were performance issues identified much later than I would’ve liked, security issues identified too late in the game and the worst being, IT operations, release and deployment teams. Why can things not be as smooth across the lifecycle I thought to myself and discussed when possible in forums where likeminded folks as me hangout.
And then, something wonderful happened. A wise friend of mine called Google, introduced me to you – DevOps he said and I gasped, first in disbelief, then in pure joy. I must say, I was fascinated – at first by you, your pure and simple thought process, and boy! Was it love at first sight?
I was thrilled to have found a friend, a confidant, an ally that shared the same thoughts and I finally found someone that can eliminate those bottlenecks that were bothering me, I had finally seen someone that can make Continuous Delivery a reality! I was thrilled the more I thought of the unlimited possibilities, the end less fun we all could have again and I could see the happy hours again like a light at the end of the tunnel.
One day, not long after I discovered you, during a conversation, a colleague referred to you as “Nothing but Agile, more like Agile 2.0” – He’s just Jealous I thought, nothing could dampen my spirits at that time. Now I think, How Naïve of me?
Fast-forward a few months. I conducted a workshop for a client on Continuous Delivery. In a meeting after the workshop with the senior IT leadership, you became the core of the conversation. We have DevOps! One of them exclaimed. I was overjoyed. I couldn’t wait to finally see you in action, in your full glory. I was shown a few tools, scattered across and used by the development and testing teams. I was surprised, definitely not even close to what I imagined you to be like. That same week, I was at a conference where I met an IT leader (who I had a lot of respect for) who proudly claimed, we have DevOps! I couldn’t wait to learn more, may be he could show me a picture. On probing, I learnt that he had a “DevOps team” that worked alongside his development, testing, release and IT operations. They automated a few tasks on setting up servers / virtual environments.
This time DevOps, I was shell-shocked. I was distraught.
“Nothing but Agile 2.0” “A toolset not adding much value” “A Team setting up servers / virtual environments” kept ringing in my ears. How wrong I was! Or was I really?
The more I thought about it, the more I loathed you, I started looking at you as a radical extremist taking sides and going rogue on the very thing you were meant to be. How I thought of you and how you turned out to be. You let me down! At that minute, I hated you and you were dead to me in that current form that people perceived and referred to you as.
I went back to the drawing board. I wrote down what you stood for, what you were meant to be on one side – You are a culture, a mindset, a philosophy, you bring collaboration, you eliminate wait times and at one point you stood for continuous delivery!
Along side, I started another list. If my vision was seamless and Continuous Delivery and Improved agility, velocity and more frequent high quality release my goal, what should I do?
This is what I came up with:
- Collaborative Culture
- Near Zero Wait times
- Continuous Development
- Continuous Testing
- Continuous Integration
- Continuous Build and Deploy to Pre Production
- Extreme automation that includes testing and manual tasks
- Continuous Release and Deployment to Production
- Continuous Monitoring and Feedback loop that enables proactive issue fixes that I find in production
- No more “tossing over the fence” mindset
- One Team – One Dream thinking
- Metrics that can help track status and health across the board
I was content with the list I had come up with, it looked comprehensive and one that could make my continuous delivery dream a reality.
As I took and step back and reviewed the list in front of me, something struck me as amazing. This is what (at least most of what) you – DevOps always stood for and intended to bring! Then I understood you. It was never your fault. It was perceptions of a few folks, circumstances, the changing tool landscape, and the way people interpreted what DevOps was!
DevOps, You are a philosopher, a way of life, and a way of truth! What you need is an ally, a conductor that can orchestrate, a collaborative culture and top down push that enables teams to adopt you as a philosophy. You needed Orchestrated Engineering to make Continuous Delivery a reality. And you, only you can make it happen. It is not only about Dev and Ops, it is about everyone on the value chain.
At Qentelli my friend, we understand you and you remain our philosopher for life. To us, you really mean TestDevSupOps, that is what you really meant to be and will always mean to us. We have implemented a methodology based on what you preached and have a comprehensive solution for continuous delivery, I recently published a book on it too, and it is called Continuous Delivery through Orchestrated Engineering and principles of DevOps.
Meanwhile if people chose to remain ignorant and use you as a toolset or as a team that performs continuous / automated deployments of environments and code, so be it. It doesn’t tarnish your reputation or take away your core essence.
My bad DevOps! You were right all along and I still rank you high up there in the Continuous Delivery Value Chain! I love you right back my friend.