Skip to content

The National Archives logo

Welcome

The National Archives Engineering Handbook aims to be a one-stop guide for all engineering questions. It is aimed towards:

  • Software developers
  • Frontend developers
  • Technical architects
  • UI/UX designers

This guide has been produced to help engineers at The National Archives:

  • deliver high quality, inclusive and maintainable digital services
  • ensure their work is compliant with the standards and regulations that apply to public sector websites
  • achieving a good balance between innovation and effective use of our development capability

It covers all aspects of modern development and is regularly reviewed and refined to ensure it reflects emerging industry best practice.

You can also read about our ways of working in order to help you build good services that meet these standards.

This handbook is intended to supercede the existing front-end-development-guide and expand the advice and resources to developers, both frontend and backend, technical architects as well as both internal staff and external partners.

Designing National Archive services

Before building services for The National Archives, please consult the National Archives Design System which has information for designers, frontend developers, product owners, testers and more on how to design services.

Help us improve this guidance

The purpose of the development guide and peer review is to ensure we are delivering services that meet user needs in a way that is both efficient and effective. To achieve this it must work for all product teams.

While the current version has emerged over several iterations to reflect lessons we have learned, we are keen for it to continue to evolve.

We therefore actively encourage you to contribute to this guide.

Requirements

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this handbook are to be interpreted as described in RFC 2119.

Key things to keep in mind

Perhaps the most important thing for a developer to bear in mind is the need to involve other specialists early since this can avoid significant problems later on. This includes:

  • speaking to the User Experience and Editorial teams before beginning development - their perspective and expertise will help shape the approach taken and can avoid significant changes later on
  • understanding analytics requirements to establish what is required and how we can best support and achieve it
  • server-side and front-end developers discussing the technical approach together before development begins - a short conversation to agree on a technical approach that works from both perspectives can bring significant benefits and avoid one or both having to do significant refactoring and re-work
  • identifying a peer reviewer early and discussing the technical approach with them as it evolves