Continuous Delivery

Continuous delivery is a way to build software faster, with less stress. It brings together all of the capabilities that we discuss below: task management, code management, and automated testing.

When to use continuous delivery

You should use continuous delivery if:

You provide an online service: Web, SaaS, PaaS, online gaming, online big data, or mobile apps with Web service back ends. If you provide online services, you need to move to continuous delivery, or your competitors will race ahead of you.

Your release times are getting longer and longer. As your app gets more complicated, you may find that it takes longer to test and release. This is a sign that you should move to automated testing, continuous integration, and continuous delivery.

You are developing a new product and using lean startup techniques to test and evolve it.

You have a big project with a lot of contributors. Batch management will often fail in this case. Continuous delivery techniques will help you accept contributions from a large and diverse group of contributors, inside and outside of your core organization.

You need to release frequent security patches. Bad guys out there want to manipulate our systems to show ads, run compute-intensive algorithms, steal passwords and financial information, and view commercial and government secrets. With Chinese hackers going against the NSA, it's literally spy versus spy. We are caught in the crossfire, forced to issue frequent updates. You can think of continuous delivery as extending your security patch process to your software development activities.