"If I leave you with anything today, it's automate, automate, automate."
That's Forrester analyst Robert Stroud in his Jenkins World talk "DevOps: Delivering on the promise of innovation, agility and velocity." As he laid out, manual automation silos remain a significant barrier to achieving DevOps, which promises to deliver both velocity and quality. A software pipeline without DevOps automated testing will get you no closer to continuous delivery.
So, while DevOps adoption has risen across the industry -- Stroud claimed adoption rates to be around 90% in his talk -- the vast majority of organizations still release at waterfall velocity. Forrester's research on infrastructure decision-makers found that in North America, only 18% release monthly or faster, and at the large enterprise level across the world, only 23% do it.
We can talk about collaboration and communication all day, but there's no magic wand that cuts your release time in half.
"DevOps isn't magic. It's math," Stas Zvinyatskovsky, managing director at Accenture Technology, said in a Jenkins World roundtable discussion.
Rapid feedback: To the left, to the left
"Essentially, the whole point of [automation] is to get from idea to code to users in as quick a time as possible," said Titus Fortner, solutions architect at Sauce Labs. "The only way you can make sure your users are getting what they need and what the company expects is if you're making sure certain quality metrics are in place, certain requirements have been met."
Shifting quality control left basically means an organization is catching bugs earlier in the process. Spending months at the end of a release cycle punching holes and fixing issues is inefficient, and it'll cost you. An IBM study found that "it is 100 times more expensive to fix a defect that is found after it has been released." That math should get most behind DevOps automated testing.
"The only way you can [get users what they need and what the company expects] is to be testing where we've written, built and deployed code," Fortner said. "Making sure you have the right tests in the right place to get rapid feedback. That's where I see things needing to be in the industry."
Developers as testers?
Here's why it makes sense
Shift left testing sums up an old idea test experts have talked about for a long time: Testers need to get involved early and often in the development process. It's about developers and testers coming together to own test automation in continuous delivery.
Shifting left with DevOps automated testing is also a concrete way to break down automation silos. Developers and testers will have to come together to define a single view of quality and new definition of done. With both groups working together to cook up unit tests, teams can build quality into the design process. With rapid feedback on small, autonomous tests, the developer who actually wrote the original code can fix bugs as they come up hourly, instead of in one huge block. And that will save you time and, therefore, money. If I get to leave you anything today, it's slide to the left.