I have seen
quite a few people mixing up these terms: lead time and cycle time.
I am not
sure about the reason for the confusion. I think Continuous Delivery
provides a great example for explaining each one of these important parameters:
lead time and cycle time.
Manufacturing
Lead time and cycle time are concepts from manufacturing, therefore I use the drawing below for explaining it. On it, a sample manufacturing assembly line, depicting a visual representation for lead time (L) and cycle time (C).
Lead time and cycle time are concepts from manufacturing, therefore I use the drawing below for explaining it. On it, a sample manufacturing assembly line, depicting a visual representation for lead time (L) and cycle time (C).
- Lead time: the amount of time a work item takes from the beginning to the end of the workflow
- Cycle time: the interval of time between two consecutive work items leaving the workflow.
The
assembly line provides a visual and physical representation for the workflow.
In manufacturing, the workflows as well as the work items are visible. This is
not the case on Software delivery. Neither workflow nor work items are naturally
visible.
Continuous Delivery
Continuous Delivery is a software development discipline that fosters faster and more frequently releases. The deliverable is incrementally built on the delivery workflow (represented on the drawing below), starting on coding, and ending on production. Continuous Delivery relies on high levels of build, integration, test, and deployment automation.Continuous Delivery
Below is a representative drawing for Continuous Delivery.
Now I will
mix the drawings (Continuous Delivery and assembly line) a little bit.
This drawing
creates a visual representation for work items moving on a Continuous Delivery
workflow. The box coming out of the assembly line represents a deliverable reaching production. The red X mark with the red arrow represents a work item taken out of the assembly line (failed some test).
- Lead time: The amount of time a work item takes since it is first committed until it reaches production.
- Cycle time: the interval of time between two consecutive deliverable to production.
Continuous Delivery fosters faster and more frequently releases, or using the manufacturing terms: Continuous Delivery fosters shorter release lead time and cycle time.