How Enterprises Can Overcome Barriers to DevOps
DevOps has been established for a while—about 10 years—but many enterprises are still encountering barriers to implementing it successfully.
For the record, via Webopedia: “DevOps (development and operations) is an enterprise software development phrase used to mean a type of agile relationship between development and IT operations. The goal of DevOps is to change and improve the relationship by advocating better communication and collaboration between these two business units.”
Some of the barriers to adoption of DevOps relate to a natural human resistance to new ideas and change in general. Other barriers are more measurable, such as budget constraints or a lack of specific skills. One of the main barriers to DevOps is a lack of camaraderie between Dev and Ops. In addition, some teams are wary of experimentation in an area where responsibilities have long been staked out.
In this eWEEK Data Points article, Ariel Assaraf, CEO of logs insight toolmaker Coralogix, explores these barriers to DevOps and proposes potential solutions that enable deeper cooperation to ultimately deliver higher quality products at a faster pace.
Data Point No. 1: Resistance to the Unknown
Humans are creatures of habit. We also need proof that new ways of doing things will benefit us and the way we work. One way to onboard skeptical employees to a DevOps culture is by creating a DevOps champion or champion team role. DevOps champions are subject matter experts who help grow awareness about DevOps’ effectiveness and encourage its adoption. Champions are able to provide the data, statistics and real-world examples to get colleagues excited about how they can harness DevOps to become more productive and automate the redundant tasks they dislike. The first question DevOps champions need to ask teams and individuals: What are your pain points?
Data Point No. 2: Collaboration Challenges
Enterprises often have an “us” and “them” culture. DevOps aims to promote collaboration between development and operations—teams with different ways of working. While development seeks to push new code to production faster, operations tries to maintain stable production systems, often trying to block rapid changes. At the same time, other stakeholders, such as finance departments and management, are wary of investing in costly enterprise-level solutions. Finally, there’s the natural resistance to change to contend with. A DevOps champion can be a mediator in this battle and help to address these barriers. A suitably skilled DevOps champion or team should be tasked to drive this program across the business. DevOps needs to be seen to be operational across the board, with buy-in from management and team leaders. What C-levels need to tell staff: We’re in the lifeboat with you.
Data Point No. 3: Obstacles to Experimentation
Teams and individuals may balk at experimentation, whether with new software or processes. This is because they are wary of the potential consequences if they fail. Failure can result in system downtime, loss of customers, crippled budgets, individual performance anxiety and fear of a management backlash. DevOps champions can help by assigning teams and individuals to perform the initial research and build sandboxes for experimentation, meaning places to test automation software. When deployed effectively, automation is the single most effective contributor to mitigating human errors and eliminating repetitive tasks.
Data Point No. 4: Monitoring Risks
In the Waterfall days, administrators often had to manually analyze long individual text logs. In DevOps environments, automated monitoring of production systems is essential. Today’s monitoring applications are integrated with the entire CI/CD process, including coding, testing and integration stages of development. Enterprise solutions provide smart monitoring, e.g., pinpointing areas of abnormal failures, providing visual overviews of the system health and correlating multiple data sources to form a complete picture.
Data Point No. 5: Complexities in Architecture
Interoperability is a core feature of DevOps software, enabling teams to interact with the interfaces between IT and business units without having to understand their machinations at a low level. Interoperability functions as the human version of an API with related but integrated systems transparent to developers and operators. Hybrid design brings its own challenges, such as disparate testing and deployment environments. These challenges can be mitigated by the use of microservices, all of which need to be blueprinted, standardized, documented and made available across the board as part of the company knowledge base.
Data Point No. 6: Planning and Measuring
No DevOps project can succeed without a plan. Again, this is where DevOps champions can carry the baton by inputting DevOps requirements into existing project plans. Project owners need to collaborate with DevOps champions who must continuously monitor the progress of projects. Continuous monitoring can verify the impact of disruptive strategies and adoption of DevOps processes.
Data Point No. 7: Limitations
DevOps focuses on enhancing time to market. Continuous delivery (CD) enables fast, automated deployment of new code. It’s important that the CD pipeline reflects the way developers work, and organizations need to include coders in the discussion when they plan deployment workflows. Pipeline templates can standardize the way delivery is implemented and measured across teams. CD needs to reflect continuous progress (CP). When champions are involved in developing project plans, they can monitor how DevOps has contributed to the success of completed deployment milestones.
Data Point No. 8: Budget
Open-source software is not necessarily free. It can be costly to train staff, and often there is inadequate support. Enterprises may need professional help assessing the true cost of open source versus paid solutions. The finance department and executives who can provide budgetary support need to understand why a specialist enterprise-level solution, although initially more costly, may be preferable to buying single-functionality software tools as the need arises. For smaller enterprises, open-source software may be more cost-effective. DevOps champions can provide the necessary figures to illustrate what tools are required and what ROI can be expected.
Data Point No. 9: Communicating
Global organizations may use remote teams or consultants for much of their development, especially during the COVID-19 pandemic. Geographically scattered around the world, the left hand (of a team) doesn’t seem to know what the right hand is doing. With many communication and storage solutions available, there is no good excuse for lacking the capability to effectively communicate digitally. Some of the challenges enterprises will need to address include managing digital meetings, avoiding unnecessary meetings, keeping remote colleagues in the loop and rolling out the resources people need to work from home.
Data Point No. 10: Legacy
Legacy infrastructure needs to be addressed in any DevOps plan. These applications don’t always integrate well with modern platforms and systems, but you can’t leave them out of the equation. Because the modern IT industry often employs a younger workforce that doesn’t know older programming languages, a freelance legacy specialist could be roped in to document the impact of legacy applications.
COVID-19 may make the barriers to adoption of DevOps more challenging because DevOps will have to be implemented remotely. Initially, there may be additional costs to set up remote offices at home and ensure effective digital communication.