Get AI summaries of any video or article — Sign up free
Write the Docs Prague 2017: What nobody tells you about documentation by Daniele Procida thumbnail

Write the Docs Prague 2017: What nobody tells you about documentation by Daniele Procida

Write the Docs·
5 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

Treat documentation as four distinct functions—tutorials, how-to guides, reference guides, and explanations—each with a different writing mode and purpose.

Briefing

Documentation isn’t a single thing—it’s four distinct kinds of material that serve different jobs in a user’s journey. When teams mix those jobs together, documentation becomes harder to write, harder to maintain, and less useful; when they keep the four functions separate, the whole project becomes easier to navigate and more likely to win real users.

Daniele Procida frames the stakes bluntly: even strong software often fails to gain adoption when documentation is missing or “just good enough.” Users won’t be forced to learn a tool that feels like extra work, and the free-choice reality of open source means people will move on if the documentation doesn’t help them succeed quickly. The common problem isn’t that teams aren’t trying hard—it’s that they’re trying to write documentation in the wrong way, without matching content to the specific learning or reference need it’s supposed to satisfy.

The core prescription is a four-part model. First are tutorials: teacher-led, step-by-step learning experiences that “take the reader by the hand” and produce immediate, repeatable wins. Tutorials should be concrete and action-based, designed to build confidence and momentum rather than to deliver abstract explanations. Their job is to start beginners on a path that makes the rest of the documentation and the software itself feel coherent.

Second are how-to guides: answer-driven, task-oriented instructions that help users complete a specific goal. Unlike tutorials, how-to guides can assume some baseline competence and can be more flexible—showing how to apply steps in slightly different contexts. The guiding principle is usability over completeness: the reader needs to get to an outcome, not wade through options or theory.

Third are reference guides: technical descriptions of the “machinery” such as classes, functions, fields, and APIs. Reference material should be austere and accurate—focused on what exists and how it’s structured—using examples only to illustrate usage. It must mirror the domain and the codebase’s structure so readers can find information reliably.

Fourth are explanations: discussions that clarify concepts and provide background, connections, and alternative perspectives. Explanations help users step back from the details and understand why things work, how ideas relate, and what assumptions underlie the system. They’re not meant to replace instruction or reference; they complement them by deepening understanding.

Procida argues that the four categories naturally pull against each other inside typical software documentation workflows. Teams often store everything in the same repository, deliver it through the same channels, and even write it with the same tools and by the same people—blurring the boundaries. Internal tensions also exist: tutorials and how-to guides both deal with practical steps, while explanations and reference material both relate more to theoretical knowledge. The result is “quadrants” that bleed into one another.

The fix is to enforce separation so each piece has one clear job. He points to Django documentation as an example where topic guides explicitly spell out explanations, and where the documentation is organized into distinct sections that map to the four functions. The payoff is practical: documentation becomes easier to maintain because authors know what belongs where, and users get the right kind of help at each phase—learning, doing, looking up, and understanding—without forcing one format to do the work of another.

Cornell Notes

Documentation works best when it’s treated as four different functions, not one blended artifact. Tutorials build beginner confidence through concrete, repeatable actions that lead to immediate achievement. How-to guides answer specific questions and help users complete tasks with practical usability, often assuming some baseline competence. Reference guides describe the API and system structure in an accurate, austere way so readers can look up what exists. Explanations provide the conceptual background and connections that deepen understanding. Keeping these categories distinct reduces maintenance burden and makes it easier for users to find the right help at the right moment.

Why does “good software” still fail to attract users when documentation is weak?

Adoption depends on whether people can use the software effectively without excessive effort. Even when the code is strong, missing or poorly organized documentation makes the project feel too troublesome to learn, so users look for alternatives. Teams can’t reliably force adoption for free-choice users; documentation has to make success achievable on the reader’s terms.

What makes a tutorial different from a how-to guide?

A tutorial is teacher-led and designed to start beginners on a learning journey. It should be concrete, action-based, and repeatable, producing immediate, meaningful wins that build confidence. A how-to guide answers a question the user already has (or can formulate) and focuses on completing a practical goal. It can assume basic competence and can be more flexible, but it should prioritize getting the reader to the outcome over completeness.

What should reference guides optimize for?

Reference guides have one job: describe the system’s “machinery” accurately—typically APIs such as classes, functions, and fields. They should be austere and fact-focused, using examples only to illustrate usage. Their structure should mirror the domain and codebase so readers can navigate and find information reliably.

What role do explanations play that tutorials and reference material don’t?

Explanations clarify concepts and provide background, context, and connections. They help users step back from implementation details and understand why things work, how ideas relate, and what assumptions underlie the system. Explanations deepen understanding but aren’t meant to replace instruction (tutorials/how-tos) or lookup (reference guides).

Why do teams struggle to keep the four documentation types separate?

Boundaries blur because teams often store all documentation in the same repository, deliver it through the same channels, and sometimes even write it with the same tools and by the same people. That collapses the natural separation that should exist. Internal content tensions also encourage mixing—for example, tutorials and how-to guides both involve practical steps, while explanations and reference material both relate to theoretical knowledge.

How does strict separation improve both maintenance and user experience?

When each documentation section has a clear, single purpose, authors spend less time reshaping information into the wrong format. Maintenance becomes easier because updates can target the correct function. Users benefit because each phase of their interaction—learning, doing, looking up, and understanding—maps to the right documentation type without forcing one format to carry the load of another.

Review Questions

  1. How would you redesign a documentation set that currently mixes tutorials, how-to guides, reference, and explanations into one undifferentiated page structure?
  2. Give an example of a task where a how-to guide is appropriate but a tutorial would be overkill, and explain what assumptions about the reader would change.
  3. What specific characteristics would you look for to judge whether a section is reference material versus explanation material?

Key Points

  1. 1

    Treat documentation as four distinct functions—tutorials, how-to guides, reference guides, and explanations—each with a different writing mode and purpose.

  2. 2

    Don’t rely on “good enough” documentation to drive adoption; users need help that enables success quickly and reliably.

  3. 3

    Design tutorials around concrete, repeatable actions that produce immediate, meaningful achievements and build beginner confidence.

  4. 4

    Write how-to guides as practical, task-focused answers that prioritize usability and can assume baseline competence.

  5. 5

    Keep reference guides austere and accurate, describing APIs and system structure while mirroring the codebase/domain organization.

  6. 6

    Use explanations to provide conceptual context, connections, and alternative perspectives—without turning them into instruction or lookup.

  7. 7

    Separate the four documentation types in structure and delivery to prevent content from bleeding together and becoming harder to maintain.

Highlights

Documentation succeeds when it’s organized into four functions with clear boundaries: tutorials, how-to guides, reference guides, and explanations.
Tutorials should create repeatable, immediate wins for beginners; they’re about confidence and momentum, not abstract coverage.
Reference material must be accurate and austere, describing what exists (APIs) in a structure that mirrors the codebase/domain.
Explanations deepen understanding by connecting concepts and providing context, but they shouldn’t replace instruction or lookup.
Mixing the four types—often through shared repositories and delivery channels—makes documentation harder to write, maintain, and use.

Topics

  • Documentation Types
  • Tutorial Design
  • How-To Guides
  • Reference Guides
  • Explanations

Mentioned

  • Daniele Procida