04 Oktober 2016

Agile methodologies and DevOps can lay the foundation for continuous deployment, but there are several organizational, cultural, and technological changes that have to occur before they can be put into play. Here are six vital steps to take in your journey toward successful continuous deployment.

In an IT universe that contains some companies still working on annual software releases, frequent software updates can be a competitive advantage. No discipline supports software updates on a more rapid schedule than continuous delivery.

The question for most organizations is how to get from agile -- or even waterfall -- to continuous delivery. The answer comes in meaningful steps.

Continuous delivery is defined by some as a process in which code can be released to production at any time. Others define it as a system in which software is constantly revised, with revisions pushed out to production as soon as they're available.

How often can those revisions occur? There are cloud service providers that talk of releasing scores of revisions a day.

Continuous delivery is part of a "continuous" hierarchy. The steps on the hierarchy are:

  • Continuous integration: Code is written, integrated, and tested within the development environment. Walls between the three functions are broken down to make one smooth, continuous process.
  • Continuous delivery: Software and component revisions are made ready for deployment on a continuous basis. The organizations might choose to hold those revisions for scheduled releases, but the gating factor is the schedule, not revision availability.
  • Continuous deployment: Every revision is deployed as soon as it's delivered. The code pipeline never shuts down, because automation processes take care of all the deployment steps.