Skip to content

The Engineering Bar

These are the principles that define what good looks like at CDS — the standard we hold ourselves to across every engagement. Some are fully embedded across our portfolio. Some are the bar we're consciously building toward. We're clear about which is which.

Engineer for production from day one

We don't build prototypes dressed up as production systems. From the first sprint, we make decisions about security, observability, resilience, and scalability that will matter when the service is live and under load. Threat modelling happens early. Monitoring is built in from the start. Failure modes are tested before they happen in production.

This isn't just a technical preference — it's a commercial one. Services retrofitted for production are more expensive to fix, more likely to fail at the wrong moment, and harder to hand over.

Secure by design as standard

Security is built into how we work from the first line of code. Secure defaults, CSP headers, proper authentication, secrets management, regular dependency updates — these are baseline, not optional. We don't treat security as a separate workstream or a gate at the end of delivery. It's part of every sprint, every pull request, every architecture decision.

See the Security page for how this applies in practice.

Cloud-native by default, platform-thoughtful by design

We favour modern cloud platforms because they give clients the scalability, resilience, and cost efficiency that legacy infrastructure often can't match. But cloud isn't always the right answer, and we don't push clients toward it for its own sake. We assess what's right for the situation — fully cloud-native, hybrid, or modern practices applied to on-premise infrastructure — and design accordingly.

Automation as the default operating posture

CI/CD pipelines, infrastructure as code, automated testing at unit, integration, and end-to-end level, automated security checks in the pipeline. We don't treat automation as a nice-to-have to be added later. It's part of how a CDS engagement is set up from day one.

This pays dividends for clients beyond the engagement: services with strong automation baked in are cheaper to run, safer to change, and easier to hand over.

AI integrated into delivery — and into what we deliver

We use AI-assisted development tools across our engineering teams. This isn't a future ambition — it's how we work now. It makes delivery faster, code more consistent, and teams more effective.

We're also building AI into the services we deliver — applied AI features, AI-enabled workflows, AI on the edge. The goal is working AI applications that deliver measurable outcomes, not strategy documents about AI.

Product thinking over project thinking

Working software in small increments. Engagement with the real problem, not the brief as written. A focus on outcomes — what changes for the people using the service — rather than outputs: lines of code, story points, documents produced.

This means we push back when a brief points toward the wrong solution. It means we structure delivery to show value early. And it means we measure success by what's different for users, not what we shipped.

The discipline that keeps services dependable

Defects fixed. Tests run. Dependencies kept current. On-call rigour. Postmortems learned from. This is the work that separates services that hold up over time from those that degrade. It's less visible than new features but more consequential.

Services sustaining tens of millions of daily requests, national policing infrastructure, and regulated professional platforms are reliable not because they were built well and then left alone, but because they're actively maintained to a standard.

Pragmatic innovation as standard

We adopt what's proven to move: edge compute, AI-augmented delivery, modern security models, infrastructure as code. Not because it's new, but because it works and our clients need to keep moving.

We're not early adopters for the sake of it. We distinguish between technology that is modern and technology that is immature, and we're honest about which is which.