Skip to content

Validation and quality control

Validate technical documentation before delivery: run validation in parallel with writing, track every change request through a CMS workflow or a ticketing system, and use comparison tools to review updates reliably.

, 3 min read

Content must be validated before delivery. This may seem obvious, but it requires the involvement of the people in charge of validation from the outset. Ideally, the validation phase takes place in parallel with the creation phase: early modifications are less costly.

Serial or parallel validation of the writing phaseGantt chart comparing a serial process, where validation only starts once writing is complete, and a parallel process, where validation starts as soon as the first modules are written, shortening the publication timeline.0123WritingValidationPublicationWritingContinuous validationPublication

Validating in parallel with writing shortens the publication timeline.

A process for creating and updating technical documentation that relies solely on human memory is unreliable. A technical writer may be tired, unwell, on vacation, overwhelmed with information, or may have left the company. Communication between two people can also fail or be misunderstood. Humans have created tools to compensate for these weaknesses, although they remain creative, unlike machines.

Root causes of an unreliable documentation processUnreliable documentationprocessWriterCommunicationFatigueIllnessVacationForgetting throughinformation overloadLeaving the companyPoor information flowBeing misunderstood

A process based on human memory is unreliable.

Given this situation, we need an information management system for the evolution of documentation that is tolerant of human error. This means either implementing workflows under a CMS (Content Management System)A tool that adds workflow and file-locking to content management, at the cost of reliability trade-offs compared to plain version control.View in glossary →, or using the ticket management system of the documented product.

The main functions of a CMS are metadata management, workflows, and traceability.

The ticket management system used to handle new features of the documented product (e.g., Jira) takes each documentation request through its life cycle:

  1. creation of a ticket by a developer,
  2. implementation of the ticket by a technical writer,
  3. closure of the ticket by the ticket creator,
  4. publication of documentation when all critical tickets have been closed.
Documentation writing and validation flowCreatedNew feature todocumentDOC-142DeveloperHighWriting in progressUpdate theinstallation guideDOC-138Technical writerVery HighClosedAdd a configurationexampleDOC-121Technical writerPublishedRework thetroubleshootingsectionDOC-098

The ticket workflow moves each request through to publication.

Whatever the tracking system:

  • Traceability. It must offer full visibility and traceability of changes made to technical documentation (what, who, when).
  • A single, exhaustive system. It must centralize all requests for changes to technical documentation.
  • One track per language. If the document is available in several languages, each ticket must be duplicated for each language or, in the case of a CMS, each language must correspond to a separate workflow.

An enterprise content management tool such as Alfresco may seem like an attractive way to set up workflows, at least on paper. In reality, however, such a solution can be cumbersome. It is also incompatible with certain Source formatThe format content is authored in, as distinct from the target format it's published to — the recipe versus the dish.View in glossary → based on modular, non-monolithic documents and version management software (the Componize project, however, proposes managing DITA XMLA structured, modular XML authoring architecture built around the concept/task/reference typology and content reuse via conrefs and ditamaps.View in glossary → projects within Alfresco).

It remains imperative to set up validation stages throughout the project.

Combined with a version management system, comparison tools are very useful for validating updates. For example, a “tagged” version of a DITA XML project and the current version can be exported in RTF format, then compared in a word processor. This is far less tedious than a manual comparison. Comparing information modules directly in the version management system is not sufficient, as they are merely the “building blocks” of the final document.

When documentation sources are text files in Git, the Pull requestA request to merge a branch's changes into the main line, presented as a reviewable set of differences: reviewers comment, automated checks run, and approval is recorded before publication. GitLab calls it a merge request.View in glossary → provides the traceability described above (what changed, who changed it, when, and who approved it) and version comparison becomes a plain git diff, rather than an export to a word processor. Validation then splits into two complementary layers:

Content drafted with AI assistance goes through the same two layers; it does not need a separate process, but it does need the human review.