Engineering/Engineering Principles/3 Documentation/Technical Documentation/

Technical Documentation Standards · DOC-03

The architecture of a system must be documented · DOC-03.1 · MUST · DEV

This should be documented in the form of one or more architecture diagrams.

Restricted
Login to display internal content.
Sensible default rules for the creation of architecture diagrams can be found in the wiki.

Architecture decision records (ADRs) must be written to record key technical decisions · DOC-03.2 · MUST · DEV/TEST

ADRs can be included in the main project wiki or in the same repo as the source code (and linked to from the main wiki).

Restricted
Login to display internal content.
Sensible default rules for ADRs in the wiki.

The hosting location and access must be documented · DOC-03.3 · MUST · DEV

Possible hosting locations include:

  • Audacia CSP hosted
  • Client hosted
  • Third-party hosted (the third-party must be specified)

Some examples of access that should be documented are:

  • Guest accounts in an external Azure tenant
  • Separate client-provided accounts
  • Any specific access requirements, like a VPN or white-listed IP address

Environments and system URLs must be documented · DOC-03.4 · MUST · DEV

NOTE This information must be recorded in Olympus.

Non-functional requirements must be documented · DOC-03.5 · MUST · DEV/TEST

Examples of non-functional requirements are:

  • Performance and response times
  • Accessibility
  • Device testing requirements (these should be captured in the Test Strategy)
  • Logging and observability

Deployment and release processes must be documented · DOC-03.6 · MUST · DEV

The kind of processes that should be documented include:

  • CI/CD pipelines
  • Health checks
  • Release windows, i.e. any days/times agreed by the client
  • Manual processes (where applicable)
  • Rollback procedure

The branching strategy must be documented · DOC-03.7 · MUST · DEV/TEST

This should include the overall strategy, the reasoning behind it, and any specific details such as naming conventions, e.g. release/.

Disaster recovery processes must be documented · DOC-03.8 · MUST · DEV

The following items must be included:

  • Agreed Recovery Time Objective (RTO) and Recovery Point Objective (RPO), or if none has been agreed a statement to this effect together with a reference to when this decision was made
  • Details of any processes to follow beyond restoring data to a known point, e.g. any manual failover tasks or fallback to paper-based processes
  • Details of what backups are taken, at what frequency, to what location, and who owns them

External resources must be listed and signposted · DOC-03.9 · MUST · DEV/TEST

For example, Postman collections or JMeter scripts.

The use of feature switches must be documented · DOC-03.10 · MUST · DEV

NOTE This is only applicable if feature switches are actually in use.

A regression testing guide must be provided · DOC-03.11 · MUST · TEST

This should be some signposting to the relevant resources, e.g. an automated test repo and/or Azure DevOps test plan.

A ‘state of play’ of the automated tests must be documented, covering things like test coverage, which system areas have been targeted and where there are known gaps.

A troubleshooting quickstart guide must be provided · DOC-03.12 · MUST · DEV

Include information that will be useful for anyone triaging or debugging an issue, such as where logs are located in each environment.