Calculator Inputs
Example Data Table
These sample stages illustrate common CI/CD patterns with parallel checks and gated steps.
| Stage | Duration (min) | Group | Retries | Retry prob (%) |
|---|---|---|---|---|
| Checkout | 2 | 1 | 1 | 10 |
| Build | 8 | 1 | 1 | 8 |
| Unit Tests | 10 | 2 | 2 | 12 |
| Lint | 3 | 2 | 1 | 5 |
| Integration Tests | 18 | 3 | 2 | 18 |
| Deploy | 6 | 4 | 1 | 6 |
Formula Used
1) Expected stage time
Each stage is modeled as base work plus expected retry overhead.
p is RetryProb% ÷ 100. RetryWork% estimates partial rework on each retry.
2) Parallel group time with runner limit
Stages in the same group run concurrently, but only up to available runners.
The calculator uses a greedy longest-first scheduling approximation to estimate makespan.
3) Total pipeline time
P50 and P90 are estimated via simulation by applying ±Variability% to each stage’s expected time.
How to Use This Calculator
- Enter global overheads like queue time, setup, artifacts, and approvals.
- Set the number of parallel runners available in your build system.
- Add stages with durations and a group number for parallel branches.
- Configure retries to reflect flaky tests or intermittent deployments.
- Use contention to model shared databases, throttling, or rate limits.
- Submit to see expected time plus P50/P90 for planning buffers.
- Download CSV or PDF to share estimates with stakeholders.
FAQs
1) What does the “Group” field mean?
Stages with the same group number are treated as parallel branches. Groups run in ascending order, so group 1 finishes before group 2 begins.
2) How are runner limits applied?
If a group has more stages than runners, the calculator batches them. It uses a longest-first greedy schedule to estimate the group’s completion time.
3) What’s the difference between expected, P50, and P90?
Expected is a deterministic estimate from averages. P50 is a typical simulated outcome. P90 is a buffered target that finishes within that time about 90% of simulated runs.
4) How should I set retry probability?
Use historical failure or flake rates if you have them. If not, start with 5–15% for flaky tests and adjust after comparing the estimate to real pipeline runs.
5) What does “Retry work (%)” represent?
It estimates how much of the stage must be repeated during a retry. For example, 50% means half the stage’s base duration is expected to repeat on each retry.
6) When should I increase contention?
Increase it when builds compete for shared resources, such as databases, build caches, network bandwidth, or rate-limited services. It inflates the final time rather than individual stages.
7) What units should I use for time fields?
All time inputs are in minutes. The results are displayed in minutes and HH:MM:SS to help with planning and communicating schedules.
8) What’s included in the exports?
CSV includes totals, overhead breakdown, group times, and stage details. PDF includes a compact summary with totals, overheads, groups, and top time-consuming stages.