practice

Reference Implementation

A working example of a reference architecture that teams can run, read and copy, as opposed to a document describing one.

Reference architectures are usually documents, and documents are read once and interpreted differently by everyone. A reference implementation is code, and it removes the interpretation.

What it should be: a runnable service demonstrating the intended patterns end to end — structure, observability, authentication, deployment pipeline, testing approach, error handling, configuration — with the reasoning documented alongside.

Better still, a template or generator so a new service starts from it rather than copying it. That converts guidance into the path of least resistance, which is the only form of guidance that is reliably followed.

Why this outperforms a document: it is executable, so it cannot silently drift into being wrong; it is testable in CI, so a breaking change to the pattern is caught; and it removes the gap between what the architecture says and what a team actually has to write on a Monday morning.

The obligations that come with it: it must be maintained and current, because an abandoned template propagates outdated patterns into every service created from it; and it must be honest about applicability, since a reference for a request-response service applied to a data pipeline produces a poor fit and a distrusted programme.