I had an opportunity this morning to have a face-to-face conversation with Thoughtworks Studio’s Jez Humble. Humble is the co-author of “Continuous Delivery,” which promotes going beyond continuous integration and partnering with the IT operations group to ensure the product is always production-ready. This doesn’t mean that the code is always deployed to production, though that is an option.
I asked Humble if I could play devil’s advocate and he got a smile on his face that welcomed me to hit him with my biggest punch. “Who would want the code to be deployed so often? I would think the customers would hate having the application changing constantly,” I said. Humble reiterated that deploying the production-ready code was an option, but not a necessity. “We’re talking about continuous delivery, not continuous deployment.” However, he said there were some companies, such as Amazon, that have been very successful at releasing small changes over time and reacting to customer responses to those small changes. He said that most people naturally resist change. However, if the changes are small and incremental and continually improving the overall application, then the customers are happy and the vendors are known for their innovation. Google is one such company that is known for their continual deployments and the overall general positive acceptance from their customers.
I asked if this type of model was primarily applicable for Web-based applications. Though Humble agreed that there were some types of applications where applicability was more clear, such as Web-based applications, that embedded software groups are using the model as well. And, again, it certainly can be beneficial to partner with operations throughout the application lifecycle, through continuous delivery.