The pace of software releases has only accelerated, and DevOps is the reason things have sped up. Now, artificial intelligence and machine learning are also starting to play a role in this acceleration of code releases.
That's the word from GitLab's latest survey of 4,300 developers and managers, which finds some enterprises are releasing code ten times faster than in previous surveys. Almost all respondents, 84%, say they're releasing code faster than before, and 57% said code is being released twice as fast, from 35% a year ago. Close to one in five, 19%, say their code goes out the door ten times faster.
Tellingly, 75% are using AI/ML or bots to test and review their code before release, up from 41% just one year ago. Another 25% say they now have full test automation, up from 13%.
About 21% of survey respondents say the pace of releases has accelerated with the addition of source code management to their DevOps practice (up from 15% last year), the survey's authors add. Another 18% added CI and 13% added CD. Nearly 12% say adding a DevOps platform has sped up the process, while just over 10% have added automated testing.
Developers' roles are shifting toward the operations side as well, the survey shows. Developers are taking on test and ops tasks, especially around cloud, infrastructure and security. At least 38% of developers said they now define or create the infrastructure their app runs on. About 13% monitor and respond to that infrastructure. At least 26% of developers said they instrument the code they've written for production monitoring -- up from just 18% last year.
Fully 43% of our survey respondents have been doing DevOps for between three and five years -- "that's the sweet spot where they've known success and are well-seasoned," the survey's authors point out. In addition, they add, "this was also the year where practitioners skipped incremental improvements and reached for the big guns: SCM, CI/CD, test automation, and a DevOps platform."
Industry leaders concur that DevOps has significantly boosted enterprise software delivery to new levels, but caution that it still tends to be seen as an IT activity, versus a broader enterprise initiative. "Just like any agile framework, DevOps requires buy-in," says Emma Gautrey, manager of development operations at Aptum. "If the development and operational teams are getting along working in harmony that is terrific, but it cannot amount to much if the culture stops at the metaphorical IT basement door. Without the backing of the whole of the business, continuous improvement will be confined to the internal workings of a single group."
DevOps is a commitment to quick development/deployment cycles, "enhanced by, among other things, an enhanced technical toolset -- source code management, CI/CD, orchestration," says Matthew Tiani, executive vice president at iTech AG. But it takes more than toolsets, he adds. Successful DevOps also incorporates "a compatible development methodology such as agile and scrum, and an organization commitment to foster and encourage collaboration between development and operational staff."
Then organizations aspects of DevOps tend to be more difficult, Tiani adds. "Wider adoption of DevOps within the IT services space is common because the IT process improvement goal is more intimately tied to the overall organizational goals. Larger, more established companies may find it hard to implement policies and procedures where a complex organizational structure impedes or even discourages collaboration. In order to effectively implement a DevOps program, an organization must be willing to make the financial and human investments necessary for maintaining a quick-release schedule."
What's missing from many current DevOps efforts is "the understanding and shared ownership of committing to DevOps," says Gautrey. "Speaking to the wider community, there is often a sense that the tools are the key, and that once in place a state of enlightenment is achieved. That sentiment is little different from the early days of the internet, where people would create their website once and think 'that's it, I have web presence.'"
That's where the organization as a whole needs to be engaged, and this comes to fruition "with build pipelines that turn red the moment an automated test fails, and behavioral-driven development clearly demonstrating the intentions of the software," says Gautrey. "With DevOps, there is a danger in losing interaction with individuals over the pursuit of tools and processes. Nothing is more tempting than to apply a blanket ruling over situations because it makes the automation processes consistent and therefore easier to manage. Responding to change means more than how quickly you can change 10 servers at once. Customer collaboration is key."