liveBook · Manning

Documentation

As explained in Think Like a CTO

Documentation is the practice and resulting body of recording information about systems, processes, decisions, or work so it can be understood and maintained over time.

Documentation records how systems work, how people operate them, and why decisions were made. Readable code cannot preserve every business rule or design constraint. Without that context, a future teammate may change something important—or avoid changing it altogether. Useful documentation supports continuity as people and systems change. section 11.1

Write for a specific audience rather than trying to make one document serve everyone. End users need help using the product; support staff need answers to user questions; IT and DevOps need operating procedures; developers need technical reasoning. In a small team, these roles may overlap, but their information needs become more distinct as the organization grows. section 11.1.1

Prioritize the knowledge that would be hardest to recover if its usual owner were unavailable:

  • An owner’s manual: list monitoring signals, recovery steps, commands, expected results, and what to do when a step fails. Numbered steps and a screenshot of unfamiliar console output can make a procedure easier to follow. section 11.2.3
  • A deployment guide: record build preparation, execution order, success and failure criteria, safe cancellation points, and differences between patches, hot fixes, and full releases—even when an orchestration tool performs the work. section 11.2.5
  • A data schema: use a generated relationship diagram where possible, then annotate it with business meaning. Record changes as part of the release cycle, especially where the data store cannot hold inline comments. section 11.2.10

Make documentation easy to find and revise. Text is searchable and portable; a short screen recording may communicate a procedure more quickly. For a shared knowledge base, look for direct links to specific content, ways to organize related pages, easy editing, and version history. Choose a format people can keep current as releases and discoveries change the system. section 11.1.2

Test the instructions, not just the system

Suppose one person knows how to build and release the platform. Have that person write down the procedure, then ask someone less familiar with it to follow the steps. Their questions expose assumptions and omissions before an absence turns them into a release bottleneck. A second pair of eyes need not mean a formal review. section 11.1.3 section 11.2.5

Keep the effort manageable: start small, provide templates, and add useful emails, chat messages, diagrams, or recordings to the knowledge base. Review potentially affected pages as releases occur. Where compliance applies, documentation may also need to capture processes and reports, but written procedures do not replace following them. Ask: could someone else find, understand, and carry out this procedure today? section 11.0 section 11.2.11 section 11.4

How Think Like a CTO covers it

How deep it goes
Develops audience, format, validation, and maintenance guidance, with procedural detail for operations and releases; defers specific compliance standards.
Examples
Uses an owner’s manual, a tested build procedure, a deployment guide, and an annotated database schema.
What it assumes
Assumes familiarity with engineering teams and routine system operations; begins with why recorded knowledge matters rather than requiring a documentation tool.
What you can do after
Practice/perform documentation by capturing critical procedures, testing them with another reader, and updating them as systems change.
How it connects
Connects documentation to code review, deployment processes, data schemas, knowledge bases, and compliance.

Also explained in

Compare how 12 books explain documentation →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Think Like a CTO. The section links point to the parts of the book it draws on.