Continuous Delivery is not like a conveyor belt

Blog Post created by vanbe05 Employee on Jul 4, 2016

Can we please stop using a conveyor belt as the visualization of continuous delivery? Over and over again when referring to continuous delivery, statements are made that you need to automate a "conveyor belt" type of process. Much like in a manufacturing plant or car assembly line.


Today, a continuous delivery pipeline must be highly adaptive, dynamically composed and made for change.

All things that a conveyor belt is not.


But is that the case? Is automating a continuous delivery process like a conveyor belt type of automation? I believe it is not, and let me give you a few arguments:

1. at a conveyor belt, everyone single person can hit the stop button and the entire chain stalls.

2. a conveyor belt is made to work at one specific speed only.

3. all parts of a conveyor belt must work at a predefined aligned speed.

4. there is only 1 route possible from start to end.

5. a conveyor belt and flexibility don't go together.


And while there might be examples where a continuous delivery pipeline can indeed be considered as a static hardcoded set of steps and operations, most will agree that that is not an ideal state. In today's (and tomorrows) world, continuous delivery operations must be highly adaptive to the type and nature of the change and application architecture (micro services, cloud native architecture). It must support multiple speed of operations, whereby some domains or even just some changes follow a different path between development and going live than others. The continuous delivery operations must be configured dynamically and "on the fly", in line with the framework and compliancy guidelines that accompany the changes that are being brought live. 


In all fairness, back in 2010 we also used a conveyor belt symbolization when we started to work in DevOps and Continuous Delivery. But as you go through more projects and gain more experience, insights change and concepts mature. I feel this is an example of the maturity increase that the continuous delivery concepts went through, from a static conveyor belt like approach to a dynamic highly adaptive method of working. And you should evaluate from time to time if your continuous delivery processes and platforms are built for the new adaptive way of working, and not that they are stuck in the first generation of a "conveyor belt" style of working.