Organizations are embracing DevOps, although they'd do well to steer past the known pitfalls that have caused several similar attempts to stumble. This is just paramount advice.
The Rightscale 2017 State of the Cloud report suggested that 72 percent of SMBs and 84 percent of enterprises have already adopted some DevOps practices. Promises of better customer satisfaction, productivity improvements, more business development, and greater agility are key factors driving the shift toward DevOps.
Is DevOps the perfect choice for all, then? Turns out the answer is not so straightforward.
Puppet's State of DevOps Report in 2016 highlighted significant differences between low-performing and high-performing DevOps team. High performers deploy codes 100 times faster, fail three times less, and recover 24 times faster than low-performing teams. And unlike the New England Patriots, they do this without cheating!
This underscores the fact that enterprises can go wrong in their DevOps strategy. This is why you should leverage this guide to enhance your understanding of DevOps, and avoid the most common mistakes that many enterprises and SMBs have already suffered from.
Mistake 1: Failing to consider staffing and resourcing
Unless you have clear understanding of the existing workloads of your DevOps teams and teammates, and their skills and ability to execute tasks, don't push the DevOps strategy on them. The first step should be to clearly quantify the workload of the team and the individual.
Next up, devise key performance indicators (KPI) and mechanisms to monitor them (but not like the AI in Orwell’s “1984”). Be prepared for adjustments in team sizes, work timings, etc. Talk to resourcing stakeholders to keep them prepared for ad-hoc requests.
Consider Agile resourcing options such as freelancers to manage sudden workload surges. Understand individuals' performance sweet zones by talking to their supervisors, and use the information to prioritize workloads. Without properly considering workloads and resourcing, you’ll be left with unmotivated teams, and programmers brushing up their resumes ready to jump to another company’s payroll.
Mistake 2: The bait of a DevOps department
A natural response of DevOps adopters is to create a new department in the organization to manage DevOps strategy and framework. In most cases, this only adds more processes and red tape, and takes the fizz out of the DevOps model. Of course, DevOps requires a leadership team, but not the kind that a traditional departmentalized ecosystem can deliver.
No new department can expect to get IT and operations to synergize just by forcing them to collaborate. (The team in “Remember the Titans” could not be forced to get along; they had to want to be respectful of one another.) Organizations would do better to stay focused on new DevOps processes, and not on creating a department out of it. Remember, DevOps is a drastic shift in the approach of developing and operationalizing IT tools, and not a new business function in itself.
Mistake 3: Letting panic percolate during the implementation phases
Ask your development and operations teams to deliver 10 releases a week instead of one, and expect nothing less than bewilderment from their end. That's the problem with DevOps; it's different from other technological shifts, because it comes with a cultural overhaul. The larger the enterprise and deeper the spread of current work-culture, the more difficult the DevOps strategy will become.
A salient option is to choose a measured and phased transition of DevOps implementation. Don't underestimate the need for employee training, education, and an adequate break in the period before you subject your DevOps implementation to the first round of evaluation. Initial sluggishness is a known downside of DevOps, and is best countered by deploying carefully selected DevOps teams on a carefully curated list of closely managed small projects.
This creates the right initial sentiment about the need to align organizational IT practices to the tenets of the DevOps model.
Mistake 4: Unflinching rigidity in DevOps implementation
Rigidity in the DevOps implementation is a toxic element that can disturb the entire recipe. Compliance to the core tenets of DevOps is, of course, critical. However, the model allows for intelligent adjustments to be made as demanded by the enterprise. Principles need to be stated to manage the initial phases and to ensure that the key pillars of DevOps stays stable upon the impact with potential obstacles.
These principles, however, are accommodating enough for adjustments based in internal benchmarking. When outcomes tend to divert from expectations, be prepared to backtrack and identify the root cause of the diversion, and make appropriate process adjustments, staying within the boundaries of DevOps.
Mistake 5: Expecting magic
DevOps is not going to manage itself. Deploy people to manage resources, budgets, goals, and progress. Prioritizing and breaking down projects into smaller timelines and milestones is the key to obtaining outstanding results from the DevOps model in the initial phases.
A well-scoped DevOps strategy is about continuous learning and continuous improvement. Selecting a steering team that has the foresight and operational expertise to manage this is a critical success factor for DevOps implementations in enterprises.
Remember, the DevOps model will bring success, provided the implementation is done diligently.
Mistake 6: Not responding correctly to the ‘pushback’
Expect a pushback from the rank and file when you bring in DevOps to your enterprise. It's the response to the pushback that matters. It's easy enough for managers and responsible stakeholders to stagger and agree for a “hybrid” DevOps model wherein parts of the IT are modernized, and others are allowed to work at the old pace, and are left for future reconsideration.
Automation of testing, continuous integration, and integrated configuration management are the core tenets of DevOps, and there's no place for compromises when it comes to implementing these practices in enterprises, even with massively scattered and spread out development and operations teams.
Application of Agile methodologies in a siloed fashion, while keeping the current engineering and development methodologies intact, is a surefire way for DevOps to fall on its face. Be prepared to manage the change, especially for teams that sit in different offices, and are geographically spread out.
View DevOps as a fluid framework, with a plenitude of scope for enterprises to make IT a true enabler for business success. Knowing the common mistakes, their outcomes, and how to prevent them as you embark on a DevOps journey for your enterprise will stand you in good stead.
If you want to see someone plan for the future and weigh the risks and rewards for every possible avenue, just watch “Last of the Mohicans” with Daniel Day Lewis. This was life and death! No matter how much pressure your job is tossing at you, at least you do not have to worry that if you make the wrong decision it will cost you your life! DevOps may be tough sledding at times, but with perseverance, you should come out on top and make it work for you.
Photo credit: Shutterstock