liveBook · Manning

Documentation

As explained in BDD in Action, Second Edition

Technical documentation is information describing software behavior, implementation intent, interfaces, or operation for technical practitioners.

Technical documentation records what an application does, which business rules it applies, how users behave with it, and how its implementation works. In behavior-driven development, executable specifications provide documentation for stakeholders, while readable code and tests document technical behavior for developers. section 7.4.5 section 16.5.4

Effective documentation practices connect shared product understanding with maintainable implementation:

  • Organize feature files around enduring product behavior rather than stories, iterations, or releases, because delivery boundaries do not reliably match product functionality. section 7.4.5
  • Use readable, well-organized, annotated code together with executable unit and integration specifications to document low-level behavior. section 16.5.4
  • For legacy systems, document critical or high-risk behavior first through behavior-focused tests, then expand coverage as understanding grows. section 16.6

A feature split across releases

Suppose development of one feature spans several iterations. Storing its scenarios under release directories can create duplication or uncertainty about where the feature belongs. Keeping the scenarios with the product behavior preserves documentation of the application rather than documentation of project delivery. section 7.4.5

How BDD in Action, Second Edition covers it

How deep it goes
Descends from high-level requirements to executable unit and integration specifications, while treating light architectural documentation as complementary.
Examples
Uses feature files, annotated code samples, unit tests, integration tests, and BDD tests for critical legacy behavior.
What it assumes
Assumes developers can read code, while using familiar business language to make application behavior understandable to stakeholders.
What you can do after
Evaluate/understand existing behavior, support safer changes, and reduce regression risk through executable acceptance and unit tests.
How it connects
Connects product documentation with behavior-driven development, test-driven development, executable specifications, unit testing, and architectural documentation.

Also explained in

Compare how 12 books explain documentation →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of BDD in Action, Second Edition. The section links point to the parts of the book it draws on.