Enterprises are embracing DevOps on their march towards digital transformation in response to the mounting pressure to increase operational efficiency and decrease costs. Forrester named 2017, "the year of enterprise DevOps" as its report showed that 63% of organizations that answered their Global DevOps Benchmark survey have either implemented or are expanding on their implementation of DevOps. The data also indicates that the trend has continued into 2018, as 27% of responders planned on DevOps implementation within 12 months.
Successful adoption of DevOps requires time and careful consideration. The rush to emulate the long exemplified positive results of DevOps pioneering companies such as Netflix, Amazon, Google, and Facebook poses its own problems. Many enterprises fail to take a strategic approach to DevOps, which can have a Pandora's box of consequences.
Common repercussions of rushed DevOps implementation without careful, strategic consideration include botched toolchain, struggling with legacy systems, unsafe deployments, and frustrated developers.
To help organizations identify their shortcomings and begin their journey of adoption, here are common missteps and pitfalls to avoid while transitioning to DevOps.
Inadequate Hiring Practices
The main barrier to successful DevOps adoption is the people.
Since 2014, the flurry of enterprises looking to one-up their competitors with faster time-to-market and innovative software solutions has had a heavy impact on the job market.
According to Indeed, the role of "DevOps Engineer" has consistently landed in the "Top 10 Best Jobs in the US" list. As a result, there is an increasing number of Software Engineers changing their specialty to DevOps in an attempt to increase their marketability. However, not all those who transition are qualified, therefore diluting the talent pool. Managers who rush to hire, risk bringing in a person who does not share the DevOps vision or someone who is technically underqualified, potentially derailing the DevOps transition plan.
At Atlassian, the two most essential attributes of DevOps software engineers are "communication" and "empathy." Atlassian also prioritizes seamless collaboration and a customer-first mindset, all qualities that go beyond technical skills and experience. Taking a cue from Atlassian, it is important that hiring managers hire for well-rounded engineers with cultural and technical fit.
No Plan or Training
DevOps has many moving parts which require strategically planned initiatives. Standardized processes, operational procedures, tools strategy, process definitions, well-defined milestones, and clear responsibilities for everyone involved, are paramount to successful DevOps adoption.
Onboarding DevOps champions is vital to the success of the transition; however, it is only the tip of the iceberg. Developer training, planning, and establishing metrics to measure team progress are also essential. Enterprises transitioning to DevOps can fuel intelligent decisions and identify areas of improvement with data-driven reports.
Raising organizational DevOps literacy and giving each team time and space to embrace the new culture is critical. Failure to do so may result in deep-rooted technical, operational, or cultural barriers in the long-term.
Many DevOps teams tend to have somewhat of a "MacGyver" approach to tooling. When something is missing, custom code and DIY scripts are built to fill in the gaps as agile, low-cost solutions. However, the ability for teams to work together and streamline the software delivery process is directly impacted by the toolchain they choose to adopt as part of the DevOps shift.
According to TechRepublic, a survey by cloud sandbox provider Quali found that most DevOps teams are deploying a mixed bag of tools to support their continuous delivery and deployment efforts, which results in inconsistent and unreliable deployment workflows across the enterprise. This practice can later create several obstacles (and added costs) for the organization, such as:
- Build up of technical debt
- Problems integrating DIY tools into existing infrastructure
- Teams spending more time firefighting and fixing these tools rather than innovating
Teams left to continue stitching together their own toolsets, hinder standardization and sabotage the many benefits of DevOps adoption.
Lack of Proper Automation
When modernizing current software and systems, companies mainly want automation for increased developer productivity and reduced room for human error. However, this tunneled focus on rapid development and deployment to get ahead of the competition often overlooks quality. Faster development of lower quality software is a folly of poorly conceptualized transition plans.
Automation of the entire software development lifecycle (SDLC) and cross-team collaboration can help mitigate against such follies. With the right automation platform, teams can optimize, standardize, and improve the quality of their software. However, overhauling an entire software delivery system with a new automated platform can prove to be expensive and time-consuming.
As an answer to the above conundrum, Armory offers an enterprise-ready solution that leverages Spinnaker, a continuous delivery platform that allows for multi-cloud deployments with sophisticated cloud-native deployment features like canary and blue/green deployments; one-click rollbacks; and SLA on a per-pipeline basis providing application health.
Armory provides enterprises a path to consistently safe and highly automated deployments while integrating with tools already in use by the engineering teams.
Spinnaker enables automation in everything from environment creation to deployment, and organizations can standardize deployment workflows across application teams to shorten the time-to-value and speed up innovation.
DevOps adoption process and barriers vary significantly between organizations; therefore it is critical to manage expectations and understand that DevOps is not an "on-off" switch.
With careful planning, structured management, engaged developers, and appropriate tools, enterprises can successfully align themselves with the true north of DevOps.