DevOps Mechanisms, Metrics, Tools > Metrics > Lead Time
Lead Time
Lead time is what users experience while waiting for a request to be served or receiving a finished software release. The following figure illustrates the concept of the lead time metric. When a consumer requests a service or submits a support request, the time that spans from when the request is received until it is approved can vary dramatically due to separation of duties, legacy processes or fragmented business processes.
The lag time from when a request is received to when it is approved.
After the request is approved, the consumer may be required to wait further as work on the request may not begin right away. This can occur when a request is placed in a queue due to lack of human resources to perform the task (also known as queue time).
The queue time represents the time between request approval and when actual work on the request starts.
Finally, work on the request starts and is eventually completed. The amount of time it takes for that work to be completed is referred to as implementation time.
The implementation time represents the amount of time it takes to complete work on a request.
A typical user experience is based on the following formula:
lead time = waiting for approval time + queue time + implementation time
Common stages that collectively comprise the lead time.
Because lead time is what the user experiences, it is important to focus on its optimization. It is common for an organization to only focus on minimizing implementation time while overlooking the fact that a lot of time is lost in approval and queue time. DevOps can reduce lead time significantly by implementing integrated processes, integrated tools and integrated automation.
With DevOps, several lengthy legacy tasks and processes can be automated, which in turn automates the processes of approving and implementing the changes. For example, an environment that employs both DevOps and IaC may follow a process similar to the example shown in the following figure, which can take days or even weeks.
With DevOps and IaC this type of process can take minutes, depending on the type of infrastructure resources required.
Different stages may have different lead times, but what the user ultimately experiences is the sum of the lead times.
While each DevOps stage may have a different lead time, the user experiences the total lead time for all stages combined.