Consider these lessons – ideally, before you get started with Robotic Process Automation, experts say. This prep work will help you – and your bots – reach RPA success.
Getting started with CI/CD: 4 success factors
How can CI/CD speed up your software development pipeline? First of all, it’s more about culture and process than tools
3. Optimize processes before automating them
Automation is fundamental to CI/CD and, increasingly, IT in general. But automation itself won’t fix broken processes.
“Automating a process that never worked in the first place is a recipe for disaster,” says Eugene Duma, DevOps engineer at Squadex.
This is table stakes for long-term CI/CD success, and a reason to consider starting small and expanding from there. This is also a good cultural test: If too many people are chomping at the bit to drop CI/CD tools into the existing pipeline without really evaluating the efficacy of its existing workflows and processes, that’s probably a sign that the team isn’t quite ready to take the CI/CD plunge and that some additional planning is needed.
“Optimize before automating – don’t integrate a bad process into CI/CD pipelines to just do the wrong thing more quickly and easily,” says Glenn Sullivan, co-founder at Snaproute.
[ How do we smooth the rocky road where operations and development artifacts meet? Read also: How an infrastructure team starts using CI/CD. ]
4. Emphasize "continuous" – and measure it
There are multiple reasons why CI/CD and DevOps fit well together, but one of them is philosophical: Just as there’s no finish line for DevOps, neither should you treat CI/CD as a one-off project. It’s all about the word “continuous,” as in continuous improvement, continuous measurement, and continuous optimization.
This depends upon not treating CI/CD as merely a technology and tooling choice but a mission of continuously getting better – and even doubting the efficacy of your tools.
Meera Rao, senior principal consultant at Synopsys Software Integrity Group, notes that most automated testing tools aren’t actually sophisticated enough to solve all of the complexity of modern applications. It’s another example of where automation does not mean eliminating human intelligence and decision-making.
“Learning from past mistakes and consistently improving requires an uncommon level of organizational maturity,” Rao says. “To improve over time, every defect, every undiscovered vulnerability, must trigger several business processes focused on root cause analysis, process improvement, and adding automation within the CI/CD pipeline.”
Rao adds that the philosophy of “continuous” must apply beyond the pipeline to include collaboration and measurements.
“Just like continuous integration and delivery/deployment, there also must be continuous collaboration across development, security, and operations teams, and the business as a whole,” Rao says.
This similarly applies to how you measure your efforts. It’s not an end-of-year-review, but an ongoing effort of gathering and evaluating data.
“CI/CD testing tools should provide continuous metrics and be able to seamlessly integrate within a common metrics dashboard so developers, managers, and business executives can see the risks, and also the progress being made,” Rao explains. “Reporting capabilities should highlight results and allow managers to incentivize developers to continually improve.”
The word “experiment” should also be part of your CI/CD vocabulary, says Joy Scharmen, director of DevOps at Optimizely. The point is not to merely define and track metrics but to act on them.
“An important aspect of successful CI/CD is experimentation, which allows businesses to innovate based on data-driven decisions,” Scharmen says. “With experimentation, businesses can measure the impact of the products they are building by testing them before and after release. It’s no longer logical for teams to design a feature, build it, launch it to production, and pray that it works. Teams need to be using techniques like agile and feature-flagging software in order to mitigate the risk of launching an unproven feature or experience to every customer at the same time.”
In part two of this article, we’ll explore common beginner’s mistakes to avoid with CI/CD.
[ How can containers fit in with CI/CD? Get the whitepaper: Principles of container-based application design. ]