“They need to know not just what has to happen to get the piece of code from the developers’ IDE into the repository, but what it takes to get this process all the way into production,” he said. “Then you have to have the openness to say the way we are doing it now probably isn’t the best way; let’s all get together and figure out how to make this process better.”
In addition, development teams should already have a Continuous Integration approach in order to achieve Continuous Delivery. (Continuous Integration, the process of merging code into a shared repository throughout the day, precedes Continuous Delivery.)
“What happened over a decade ago was that every company delivering software realized they needed source code management; you couldn’t have source code sitting in developers notepads effectively,” said Mik Kersten, CEO and cofounder of Tasktop. “That triggered these companies’ tooling off the way that they build software, and that triggered the fact that they needed to get build off developers, which triggered the whole Continuous Integration movement.”
Getting over the Continuous Delivery obstacles
Implementing any strategy comes with its difficulties, and it is especially difficult with Continuous Delivery because unlike methodologies like agile, there are no official guidelines to applying it to the organization, according to XebiaLabs’ Phillips.
“Continuous Delivery doesn’t have an obvious implementation plan,” he said. “It is still stuck at the stage where it is a great idea. I mean, how can you say no to faster, better, cheaper? But nobody really knows how to do it, and the only examples you can look at don’t translate very well to the kinds of organizations that are looking at it right now.
“It is a little frustrating because it means there is interest, but there is a significant bottleneck in terms of people actually knowing how to adopt it.”
There many not be any manifesto yet, but many organizations have already turned to Continuous Delivery, and their successes and failures can be a lesson to Continuous Delivery organizations to come.
“The first thing teams should do is see how other people are doing it,” said Atlassian’s Wittman. “What works for them based upon the types of software that they are building.”
While a Continuous Delivery process often involves other methodologies such as agile, continuous integration and continuous deployment, these processes are all still working toward the same goal and should not be viewed as siloed processes, according to Electric Cloud’s Wallgren.