Get AI summaries of any video or article — Sign up free
Margaret Eker, Jennifer Rondeau - Docs as Code: The Missing Manual thumbnail

Margaret Eker, Jennifer Rondeau - Docs as Code: The Missing Manual

Write the Docs·
6 min read

Based on Write the Docs's video on YouTube. If you like this content, support the original creators by watching, liking and subscribing to their content.

TL;DR

Docs as code improves documentation-to-code synchronization by storing docs near code, building them automatically, and deploying rendered drafts through continuous integration/deployment.

Briefing

Docs as code is less about changing what documentation is written in and more about making documentation delivery behave like software delivery: planned, iterated, tested, reviewed, and deployed through the same fast feedback loops. The core promise is tighter sync between documentation and code—achieved by storing docs alongside code, building them with static site generators or doc generators, and using continuous integration/deployment so drafts can be rendered quickly and updates can ship without waiting for a big release cycle.

A major gap sits underneath that promise: many teams treat documentation as a single “light” line item in release planning. That works for small fixes, but it collapses when scope expands—new features, cross-feature impacts, or entirely new products that require help systems or large manuals on a compressed timeline. The missing manual framing pushes teams to map the full documentation workflow the way they already map code workflows: scope documentation work from the start, design the content types and information architecture needed for reference, concept, task, narratives, and other topic formats, and plan deployment models (static publishing versus integration into product surfaces).

In practice, the workflow becomes iterative and environment-driven. Instead of writing once and publishing later, teams create drafts in a repository, commit changes, and rely on a docs-as-code development environment to build and deploy to staging so contributors can see rendered output almost immediately. That requires more than tooling: content models and templates must exist, contributor onboarding and cross-training must be planned, and review guidelines need to be explicit so multiple stakeholders can evaluate drafts consistently.

Quality assurance is where the “missing manual” idea sharpens. Code teams separate testing into unit, integration, regression, and acceptance tests; documentation teams often stop at manual review plus basic syntax/structure checks from linters. The argument here is that documentation testing can be expanded beyond “does it parse?” toward functional coverage—such as ensuring release notes for a bug fix get carried forward into subsequent releases, or that documented workarounds remain correct after changes. Automation can handle much of the repeatable checking (linters and other test harnesses), leaving humans to focus on the hardest acceptance-level questions at the product and documentation level.

The talk closes with a practical checklist of what makes docs as code succeed: align project planning with the GitHub workflow, establish review workflows and guidelines, set up a shared development environment with continuous integration and delivery, and invest in communication across teams during migration. Tools speed collaboration, but they don’t guarantee it. Without shared planning and ongoing coordination, teams still struggle—described as a difficult migration from docbook/XML and Jenkins to a newer system—because adoption depends on people using the same terms, the same processes, and the same feedback loops. The takeaway is straightforward: docs as code improves the odds of keeping documentation in sync with code, but only a complete, planned, iterative workflow turns that odds into reliable delivery.

Cornell Notes

Docs as code aims to keep documentation synchronized with rapidly changing software by treating docs like code: store them in the repository, write in lightweight markup, build with static site generators/doc generators, and use continuous integration/deployment so drafts render quickly. The talk’s central warning is that teams often under-plan documentation by treating it as a small release line item, which fails when scope grows to manuals, help systems, or new products. A “missing manual” approach maps the full documentation lifecycle—scoping, design of content models/templates, drafting, review, testing, and deployment—mirroring code workflows. It also argues for splitting documentation review and testing the way code does, moving beyond syntax checks toward integration/regression/acceptance-style coverage. Success still depends on shared planning, contributor training, and cross-team communication, not just tooling.

Why does “docs as a light release line item” break down when projects scale?

Small doc updates (like bug-fix corrections) fit the fast iteration model, especially when docs changes can be committed, reviewed, and deployed to staging quickly. But when release scope expands—new features affecting other areas or entirely new products—the documentation workload often shifts from “update existing pages” to “write a full manual or large help system.” If documentation planning assumes only the smallest scope, teams get trapped at the end of the project with unrealistic deadlines (e.g., “done in 10 days”), forcing rushed work and increasing the chance of mismatches with the code.

What does a more complete documentation workflow require beyond “use the same tools as code”?

It requires mapping the documentation lifecycle to the release lifecycle: (1) scope doc work alongside code/UI/UX from the start, (2) design what content types are needed (reference, concept, task, plus narratives/blog-style content) and define content models/templates so contributors don’t invent new structures each time, (3) plan deployment models (static publishing versus integration into product surfaces), and (4) set up a docs development environment so contributors can commit drafts and see rendered output in staging quickly. Without these pieces, docs-as-code tooling alone can’t prevent fragmentation or late surprises.

How does docs-as-code change the drafting loop for contributors?

Instead of saving files and publishing later, contributors commit documentation source into a repository. With the docs-as-code environment and continuous integration/deployment configured, the system builds and deploys the rendered content to staging immediately after commit. That shortens feedback cycles: writers and reviewers can see the rendered result quickly, then iterate—splitting confusing drafts into clearer sections, correcting misunderstandings, and refining structure based on stakeholder feedback.

What’s missing from documentation quality checks compared with code quality checks?

Code workflows typically separate testing into unit tests, integration tests, regression tests, and acceptance tests. Documentation workflows often rely on manual review and basic linters that catch syntax/structure issues. The argument is that documentation needs equivalents of integration/regression/acceptance testing—examples include verifying that release notes for a bug fix get integrated into later releases, and ensuring that documented workarounds remain valid as the product changes. Automation can expand beyond linting, but acceptance-level checks still require human judgment at the product/documentation level.

What kinds of human processes still matter even with strong automation?

Several: review guidelines and workflows, cross-training so contributors can work within the documentation “coding type system,” and open communication across teams during migration. The talk emphasizes that docs-as-code doesn’t guarantee delivery of high-quality, complete documentation by itself. Tools help teams speak the same terms and use the same feedback loops, but adoption depends on coordinated planning and collaboration across documentation, engineering, and release processes.

What practical steps are recommended to make docs-as-code work in real organizations?

Align project planning with the GitHub workflow so documentation work is scheduled and tracked like code. Establish review workflows and guidelines. Provide contributor collateral and training for version control and collaboration practices. Support writers who need help with coding-related workflows and developers who need help with writing/documentation practices. Finally, treat migration as a layered, communication-heavy change effort—described as difficult even when tooling is available—so teams actually use the system consistently.

Review Questions

  1. What specific planning assumptions about documentation scope cause late-project failures, and how does the “missing manual” approach correct them?
  2. How would you design a documentation content model/template strategy so contributors don’t create incompatible structures over time?
  3. Which documentation quality checks would you classify as unit, integration, regression, and acceptance—and what evidence would you need for each?

Key Points

  1. 1

    Docs as code improves documentation-to-code synchronization by storing docs near code, building them automatically, and deploying rendered drafts through continuous integration/deployment.

  2. 2

    Treating documentation as a small release line item works only for minor updates; larger scopes require documentation scoping from the start.

  3. 3

    A complete docs-as-code workflow includes design-time decisions: content types, information architecture, and templates/content models for reference, concept, task, and narrative formats.

  4. 4

    Docs-as-code drafting relies on repository commits that trigger staging builds, enabling rapid review of rendered output rather than waiting for a release.

  5. 5

    Documentation quality should be tested beyond syntax/structure checks; teams should pursue integration/regression/acceptance-style coverage where feasible.

  6. 6

    Successful adoption depends on shared project planning, contributor training, explicit review workflows, and sustained cross-team communication—not just tooling.

  7. 7

    Migration to docs-as-code is typically incremental and communication-heavy; even strong platforms can fail if teams don’t align on processes and terms.

Highlights

Docs as code isn’t just a writing format—it’s a delivery model that uses continuous integration/deployment to shorten feedback loops between drafts and rendered output.
The biggest failure mode is planning documentation as a “light” line item, which collapses when scope expands to manuals, help systems, or new products.
Documentation testing is often stuck at linting and manual review; the talk calls for integration/regression/acceptance equivalents to cover functional correctness over time.
Content models and templates are essential guardrails; without them, contributors create incompatible structures that later become hard to integrate.
Tools accelerate collaboration, but shared planning and communication determine whether teams actually use the system effectively.

Topics

Mentioned

  • Margaret Eker
  • Jennifer Rondeau
  • CI/CD
  • PLL