If organizations want to maximize the benefits they experience as a result of embracing DevOps, they’ll need to avoid these “gotchas”.
If you’re going to adopt DevOps, you better do it right.
According to the RightScale 2017 State of the Cloud report, 84% of enterprises and 72% of small to medium-sized businesses have adopted some DevOps practices. These organizations are attracted to DevOps benefits like greater agility, improved customer satisfaction, greater employee morale, greater productivity and business growth.
However, not every organization that embraces DevOps experiences these benefits. The 2016 State of DevOps Report from Puppet found big differences between high-performing and low-performing DevOps teams. High performers deploy code 200 times more frequently while enjoying a 24 times faster mean time to recover and a three times lower change failure rate. In addition, workers at high-performing teams were 2.2 teams more likely to recommend their organization as a great place to work.
Similarly, a CA Technologies report titled “Accelerating Velocity and Customer Value with Agile and DevOps” found that when compared to less advanced organizations, advanced DevOps teams experienced 26% lower IT costs, 37% greater business growth, 31 percent better operational or process efficiency, 33% higher-quality apps, 30% greater employee productivity, 23% better customer experience and a 31% improvement in employee recruitment and retention.
But in order to achieve those benefits, organizations will have to avoid the nine big mistakes that DevOps teams often make.
[DevOps in the enterprise will be a key theme when Interop ITX opens at the MGM Grand in Las Vegas the week of May 15-19. Check out the DevOps Track agenda here.]
1. Emphasizing speed over quality
Many organizations adopt DevOps because they want to decrease the amount of time it takes them develop and deploy new code. However, experts say that increasing speed at the expense of quality is a big mistake. After all, it does little good (and possibly some harm) to release applications faster if those applications don’t function as intended.
To keep quality high, experts advise that development teams conduct testing as early in the development process as possible, a practice often described as “shifting left.” Yet few development teams seem to be adopting this philosophy. “Testing Trends in 2017,” a Dimensional Research report commissioned by Sauce Labs, found that only 19% of development teams follow the best practice of writing tests alongside code when they check it in.
2. Deploying too infrequently
On the opposite side of the spectrum, some DevOps teams are still struggling to speed up their development processes. The Puppet report found that while high-performing DevOps teams deploy code multiple times per day, low-performing teams might deploy new code only once a month or even just a couple of times per year. High performers averaged 1,460 deploys per year, compared to just seven per year for low performers. That allowed the high performers to experience lead times that were 2,555 times faster than the low performers.
3. Staying in the experimental stage
Most experts advise starting small when adopting DevOps, and organizations appear to be following that advice. The RightScale report found that only 30% of organizations had adopted DevOps company-wide, while 28% had adopted it for business units or divisions and 27% had adopted DevOps only for certain projects or teams. In the Sauce Labs study, the numbers were even lower, with only 10% of respondents saying that their entire organizations had adopted DevOps.
But starting small doesn’t mean that you should stay small forever. The CA Technologies survey discovered that “only around a third of businesses” had achieved maturity in their use of DevOps. The report found that as a result of this lack of maturity, most organizations are experiencing higher costs, slower growth, longer development times and lower customer satisfaction than they would be if they had adopted DevOps more broadly.
4. Failing to change the culture
Many experts say that the most difficult aspect of any DevOps adoption is changing the people and culture in an organization. This showed up in the CA Technologies study when survey participants were asked about the barriers to DevOps maturity at their organizations. About a third (34%) said that the culture and mindset in their companies were too resistant to change. More than a quarter (28%) pointed to a lack of senior management commitment and understanding as a major DevOps barrier. If organizations want to be successful with DevOps, their leaders must encourage staff to try new approaches, and they must be willing to set an example for the team.
5. Plowing ahead without sufficient training and expertise
Another important piece to changing an IT department’s culture is making sure that staff get the training and skills they need to make DevOps work. The SDxCentral 2016 Cloud Automation and DevOps Report found that 68% of organizations not using any DevOps tools said that a “lack of expertise” kept them from using those tools. Similarly, in the CA Technologies survey, 32% of those surveyed pointed to “inadequate in-house skills or knowledge” as a key obstacle to the implementation of DevOps. Investing in training or hiring experienced DevOps practitioners can help smooth the process of adopting the approach.
6. Deploying insufficient automation
In perhaps one of the biggest DevOps failures in history, an IT worker at Knight Capital manually deployed new trading software to eight servers. Everything went fine with seven of the servers, but the employee reportedly forgot a step on the eighth. The software began out-of-control trading, losing the company $440 million and causing Knight’s stock price to collapse.
One key lesson from the incident is that organizations should rely on automation rather than manual deployment processes whenever possible. Puppet Labs says its research supports that conclusion, noting, “The use of continuous delivery practices — deployment automation and continuous integration and testing, combined with version control for all production artifacts — predicted lower levels of deployment pain, higher IT performance, and lower change failure rates.”
7. Not having the right tools
In the CA Technologies study, 36% of respondents cited “integrating the right tools and techniques” as one of the biggest obstacles to DevOps, and 35% pointed to “tools availability” as a problem. Simply buying a continuous deployment tool or deploying Docker isn’t enough to transition your firm to a DevOps approach, but not having the necessary automation tools can hold teams back from seeing the maximum benefit from their DevOps efforts. The key is to find tools that meet your needs and that your staff are willing to use.
8. Allowing too many branches
One of the mantras of Agile software development and DevOps practices is that developers should work off the master or trunk code rather than creating a lot of branches. It can be difficult to break developers out of the habit of using branches if they have been accustomed to a traditional waterfall environment. However, limiting branches can be highly beneficial. In its State of DevOps report, Puppet wrote, “We found that having branches or forks with very short lifetimes (less than a day) before merged into trunk and less than three active branches in total, are important aspects of continuous delivery, and all contribute to higher performance. So does merging code into trunk or master on a daily basis.”
9. Neglecting security
By many accounts, security remains one of the biggest challenges for DevOps teams. In fact, the CA Technologies survey found that security concerns were the number one obstacle to DevOps, cited by 38% of respondents. In the same vein, the Puppet survey found that high-performing DevOps teams “spend 50% less time remediating security issues than low performers.” Clearly, these high-performing teams have found ways to communicate their security objectives and to build security into the early phases of the development process.Cynthia Harvey is a freelance writer and editor based in the Detroit area. She has been covering the technology industry for more than fifteen years. View Full Bio