Designing a CI/CD pipeline developers will not route around
A pipeline succeeds when it is fast enough to trust and strict enough to matter. Getting that balance wrong is why teams disable checks.
An internal platform succeeds when using it is easier than not using it. Mandates without ergonomics produce workarounds.
As an organisation grows, every team solves the same problems independently: how to provision a service, wire up logging, get a database, deploy safely. The results diverge and the collective maintenance cost grows.
A platform provides a supported path through those decisions so teams can focus on their product rather than on infrastructure archaeology.
A golden path is an opinionated, well-supported route that covers the common case: a template that produces a service with logging, metrics, a pipeline, and sensible defaults already wired in.
It must remain optional. Teams with genuinely different requirements need a documented way to deviate, or they will deviate anyway and hide it.
Platforms that are mandated rather than adopted tend to be worked around, and the workarounds become the real platform.
The failure mode is a two-year programme to build a comprehensive platform nobody asked for. Start with the single most painful repeated task — usually provisioning a new service or getting an environment — and make that excellent.
Expand based on what teams actually ask for next, which is rarely what the platform team predicted.
Platform teams can be busy and ineffective, and the difference is measurable. Track time from a new service being requested to it running in production, and how much of a product team's time goes on infrastructure concerns.
Survey the developers using it, and read the support requests. Recurring questions indicate documentation gaps or genuinely confusing design, and they are the clearest available roadmap.
If adoption is voluntary and rising, the platform is working. If it needs mandating, something about the ergonomics is wrong and no amount of policy will fix it.
The economics start working somewhere around several delivery teams. Below that, shared templates and good documentation achieve much of the benefit without a dedicated team.
It is a specific approach within it: rather than every team operating everything, a platform team provides paved routes so product teams retain ownership without rebuilding the same foundations.
Time from idea to running service, adoption rate of the golden path, and how much time product teams spend on infrastructure work. All three are observable.
Keep reading
A pipeline succeeds when it is fast enough to trust and strict enough to matter. Getting that balance wrong is why teams disable checks.
Four measures describe delivery performance well. They are useful for finding constraints and harmful when used to compare teams.
Credentials in repositories remain one of the most common causes of breach, and it is one of the most preventable.