DevOps delivers savings and speed, so focus on strategy
If there's one thing that the DevOps community fetishizes, it's speed. Release velocity is the glitziest measuring stick by which conference circuit speakers, case study writers, and DevOps evangelists can compare successes. In spite of all the chatter, though, the truth is that speed of delivery is only a secondary driver for many organizations. In fact, a recent survey released by YouGov shows that release velocity came in dead last among seven DevOps motivations.
Survey results: Cost savings trump speed
Conducted among more than 500 development and IT professionals, the survey, sponsored by HPE, examined both motivations and influencers of DevOps motivations. When queried about the drivers for carrying out DevOps transformations, 48 percent of respondents reported that their top motivation was reducing the cost of delivery. That was followed closely by increasing release quality and reducing failed deployments. But only about one-third of participants named release velocity as a major motivation.
"While most associate DevOps with a desire to move faster, cost and quality are even more common motivations," the report explained.
These top-identified motivations likely reflect the fact that, at the end of the day, a business will judge its software on how good it is and how it affects the business financially. That's why Uniface CIO Aad van Schetsen says the No. 1 goal of DevOps at his firm is to improve software quality.
"Although speed of delivery and costs are key performance indicators, the overall quality of the software is far more important for the overall success of the project," says Schetsen. His firm creates low-code application development and deployment software. "It will influence the usability and adoption rate of the software by the end users and dramatically improve ROI—with the latter being the most important reason to build software in the first place."
That doesn't mean that the emphasis on speed is entirely misplaced. In fact, if this survey had questioned a slightly different audience—say CTOs, CIOs, and line-of-business executives—speed as a motivator may have pulled in higher numbers. For many business executives, time to market can make or break the business's ability to compete and maximize revenue.
Software delivery velocity correlates with growth
Consider one study by Enterprise Management Associates. It showed that companies that increased software delivery frequency by 10 percent or greater were 2.5 times more likely to experience double-digit revenue growth than companies that decreased release times, kept them flat, or increased them by less than 10 percent. But it's important to remember that speed for its own sake is nothing to brag about.
"From our point of view, today’s rapidly evolving market makes the speed of delivery critical to staying relevant and competitive. The ability to move quickly enables you to respond to the changing needs of customers and the agility of formidable competitors," says Dave Allen, director of DevOps engineering at Sungard Availability Services. "However, this can become a double-edged sword. For example, if you increase the speed of delivery without increasing the release quality, you will just put out bad stuff faster."
Fortunately, DevOps is not a zero-sum game. Most adherents say that calculating the benefits is more complicated than comparing one improvement metric against another. DevOps is rewriting that old rule of thumb, "Pick two: good, fast, or cheap."
Speed vs. cost vs. quality: Striking the right balance
"Organizations are looking for new ways to have it all, so to speak. All the organizations we work with are trying to strike a delicate balance between speed, cost, and quality," says Ash Conway, CEO of software-testing firm Bugwolf. "However, the savviest organizations are gaining ground, not through compromise of one factor or another, but through innovation.
In fact, the beauty of the DevOps approach is that its benefits not only stack, but also tend to beget one another.
For example, Peter Chestna, director of developer engagement for software security firm Veracode, says that speed is probably the company's No. 1 motivator for DevOps. But he explains that the investment put in to speed up delivery also directly increases quality and lowers cost of delivery.
"This is due to the automation that must take place to achieve the kind of velocity that’s possible in DevOps. The highest-velocity teams find a way to standardize and automate things that used to be done by people," he says. "That has multiple benefits."
On the quality side, the shift to automation requires that organizations make processes highly repeatable, thereby cutting a lot of the human mistakes that are inherent in manual processes.
"As you find new areas to test or deploy, you write it once in code and the value is realized by the entire team," Chestna explains.
What's more, faster release schedules usually mean smaller releases, which greatly reduce the complexity and cost of finding and eradicating defects.
"Releasing in smaller increments means that code review is smoother and actually increases code quality as a whole, because the size of each review is significantly smaller," says David Dyball, head of DevOps for Artfinder, an online art marketplace. "Any issues that are detected can be fixed just as quickly due to the speed of a streamlined release process."
Meanwhile, with regard to cost reduction, the automation brought in to speed up the process also democratizes a lot of actions, cutting down on expensive specialized workers and bottlenecks in the pipeline.
"There are costs associated with hand-offs between people, including queuing and context switching. Through automation, the capital cost approaches zero, and the time needed to accomplish the task from a calendar perspective also drops by orders of magnitude," Chestna explains. "The net of these efforts is an increase in the percentage of time spent writing new functionality versus the time spent testing and deploying."
Don't think quality vs. cost vs. speed; think value
Given the interdependence between quality, cost, and speed, it might be more useful to shift definitions a bit. Todd Williams, president of eCameron, a consultancy that focuses on rescuing problem software projects, believes that the argument about the balance between these factors will always rage on. But when he's discussing projects with clients, he thinks that it might be more useful to discuss delivering value on an appropriate schedule.
"So, when I look at firms referring to quality and cost, what I really think they're looking for is value," he says. "I don't think anybody's going to say, 'Well, you know, we want something really low quality.' The customer wants to see value; they say 'I've got something I need, and I need to get it at a certain price.' Developing something fast that fails to meet business needs is a waste of time. Iterative processes help suss out the needs better, but you still need people that listen and understand."