Skip to main content

DevOps: The challenges

Habits are hard to break. Teams entrenched in siloed ways of working can struggle with, or even be resistant to, overhauling team structures to embrace DevOps practices. Some teams may mistakenly believe new tools are sufficient to adopt DevOps. The reality is that DevOps is a combination of people, tools, and culture. Everyone on a DevOps team must understand the entire value stream — from ideation to development and the end-user experience. It requires breaking down silos to collaborate throughout the product lifecycle.

"DevOps isn't any single person's job. It's everyone's job."

Robert Krohn - Head of Engineering, DevOps at Atlassian
Moving from legacy infrastructure to using Infrastructure as Code (IaC) and microservices can offer faster development and innovation, but the increased operational workload can be challenging. It's best to build a strong foundation of automation, configuration management, and continuous delivery practices to help ease the load. 
An over-reliance on tools can detract teams from the necessary foundations of DevOps: the team and organization structure. Once a structure is established, the processes should come next, and the tools should follow.
Many of our customers struggle to build an efficient and reliable release pipeline. The most common challenge facing our customers is standardizing on quality principles and establishing a DevOps transformation strategy. These are the top six challenges they are facing:
  1. Cultural Resistance: Cultural resistance is one of the biggest challenges in implementing DevOps. DevOps requires changing the organization's culture, including breaking down silos between teams, promoting collaboration, and embracing a continuous improvement mindset.
  2. Tool Selection: Many DevOps tools are available, and selecting the right tools can be challenging. Choosing tools that integrate well with existing systems and meet the organization's specific needs is essential. It also makes sense to standardize on a core set of tools for simplicity and to contain costs.
  3. Integration and Automation: Integrating and automating processes can be challenging, particularly in organizations with complex legacy systems. It is essential to clearly understand existing systems and processes before implementing DevOps practices.
  4. Skill Gaps: DevOps requires various technical and soft skills, including expertise in automation tools, testing, and collaboration. It may be necessary to provide training and education to employees to ensure they have the skills needed to implement DevOps practices effectively.
  5. Security: DevOps can pose security risks if security considerations are not adequately addressed. It is essential to ensure that security measures are integrated into DevOps processes and workflows from the outset.
  6. Measurement and Metrics: Measuring the effectiveness of DevOps practices can be challenging, mainly if there is no clear understanding of what to measure or how to measure it. It is essential to establish clear metrics and regularly evaluate the effectiveness of DevOps practices.
Implementing DevOps can be challenging, but faster software delivery, higher quality software, and improved team collaboration and communication make it well worth the effort. By addressing these challenges proactively, organizations can successfully implement DevOps and reap the benefits of this approach to software development.
Are you experiencing one or more of the following symptoms? Like most complex problems, focusing only on symptoms will lead to misdiagnosed solutions, but understanding the root causes will pave the way to long-term success.
Symptoms
Root Causes
Slow software delivery (increased lead times)
Bottlenecks in the CI/CD pipeline (lack of automation, manual instead of automated testing, lengthy turn-around time for pull requests, etc.)
Bureaucratic deployment delays (or CAB and release windows)
 
The high number of defects discovered in production (high change failure rate)
Inadequate coverage of quality, security, and testing scans earlier in the deployment process
Poor communication & collaboration between teams
Siloed teams
Lack of collaborative culture and leadership support
Need for training and coaching
The high number of dependencies on other teams
Lack of cross-functional DevOps teams
Monolithic architecture vs. microservices architecture
Inability to react quickly to changing market conditions
Long release cycles
Slow feedback loops
Bureaucracy: the team is not autonomous
Mean time to recovering from failure is too long
Poor or no monitoring in place
Development and operations teams divided instead of cross-functional
Poor return on investment for features delivered
Lack of well-defined and prioritized backlog
Failure to analyze feedback adequately to determine the next most important feature to deliver
Low developer satisfaction
Frequent context-switching due to too many tools or being pulled away from feature work to deal with crises frequently (see "High number of defects" above)
Duplicative work due to tools not being integrated (see "Slow software delivery" above)
Bottlenecks in the CI/CD pipeline (see "Slow software delivery" above) or due to dependencies on other teams (see "High number of dependencies" above)
By addressing these root causes, organizations can improve their DevOps practices and deliver high-quality software faster and more efficiently, increasing developer and stakeholder satisfaction.

Was this content helpful?

Connect, share, or get additional help

Atlassian Community