The DevOps Mindset: Why Some DevOps Transitions Fail (And Some Don’t)
/If you’ve been working in tech for a few years, you’ve probably seen a devops transition. The experience tends to be illuminating, which is to say it often reveals volumes about company management, for better or for worse. Restructuring in any company is a difficult process, but devops restructuring is uniquely difficult to pull off. It’s never smooth, but differences in company culture and communication are magnified during a devops transition and often translate directly to differing levels of success. Some companies get there with only minor bumps and scrapes along the way. Others go through the expense and effort only to find themselves bleeding capital and talent as their org charts devolve into utter chaos.
The difference is the mindset. The key to devops restructuring is to reorient your development and operations practices around the goal of continuous software delivery. It’s more than just adding this team here and these roles there—if the changes you are making aren’t totally in service of the goal of delivering software continuously, your restructuring is doomed to fail. More broadly, this means that there is no one-size-fits-all solution for converting to devops, and neither is there a discrete endpoint where you can dust off your hands and declare the restructuring to be over and done. That is the devops mindset; a perpetual commitment to live delivery of excellent software. Every other move you make has to be in service of that goal.
Excellent Software
It should go without saying that the product you deliver has to be quality. Your prior infrastructure was hopefully dedicated to creating a good product, but the shift to live service will test that infrastructure like never before. Quantify your ROI as early as possible and monitor it continuously. Metrics are paramount; bundle them along with your deliverables to demonstrate the value at every step of your process. That said, the nature of devops communication is a two-way street. It is vital that your monitoring process is feeding back into your development objectives. The effectiveness of that feedback loop can make or break your devops transition.
Live Delivery
The most high-profile piece of the devops puzzle is the shift to live delivery, as well as the piece your project managers are probably having nightmares about as soon as you announce the restructuring. Suddenly, your release timeframe is a matter of weeks rather than months to a year. This compounds all the usual headaches of software development—QA in particular—and requires you to solve these problems as they come within an equally minuscule timeframe.
Part of the mindset for this approach is a paradigm shift away from traditional testing and deployment methods. Accept that part of your resources are now dedicated to live QA and, further, consider those resources to be fluid. There will be times where development will need all hands on deck to combat a critical issue, and times when a release proves stable enough to divert some development resources to anticipate a future need.
Perpetual Commitment
A world-class devops infrastructure is always forward-thinking and continuously improving itself. So your entire team has their expert azure devops certification; what next?
To be effective, devops infrastructure needs to be future-proofed and forward-thinking; simply focusing on what works today will surely doom you to eternally playing catch-up. That means continuous revisions and a real commitment to the virtues of agility. It's all too common for organizations to claim the importance of agility but in practice remain set in their ways until external circumstances force change onto them. Devops infrastructure is at its most effective when you are prepared for changes before they need to happen, so expect to continually tweak roles and responsibilities. What clicks for one project isn't guaranteed to work for the next. Managing a devops team is like devops itself; it requires sharp intuition and holistic solutions, and the commitment to change for the better must be perpetual.
A devops restructuring is a daunting challenge, and even the best plans for one will go awry. You will not be able to anticipate every issue. The best solutions to the challenges posed by a transition to devops infrastructure begin with mindset--a focus on what works and a readiness to undergo continuous change. That mindset is the difference between a disastrous devops shift and an effective one.