Skip to content

Living Documentation

Matthew Hall edited this page Sep 11, 2018 · 3 revisions

You should expect the documentation that you produce while doing Agile product management to differ greatly from documentation required in a waterfall SDLC. This is largely due to the 2nd and 3rd core values stated in the Agile Manifesto.

We value...
* Working software over comprehensive documentation  
* Collaboration over contract negotiation  

One approach to living these values is to produce documentation that is linked to versioned code or to dynamically generate your documentation using documentation tools such as the following:

  • Swagger for your backend API
  • Schema Spy for your database
  • GitBook for publishing markdown files from GitHub
  • React DocGen for creating documentation from your source code comments
  • Sphinx for automated Python documentation
  • PY Doc Generate Python documentation in HTML or text for interactive use

Your documentation is living if it reflects the currently implemented release of software.

A list of requirements, a workflow diagram, a database model, all of these can be produced as static documents that the developers work towards implementing as they have been written. If these documents remains as they did before the developers implemented them, then they are no longer living documentation and their value quickly diminishes. If the developers produce documentation as they develop so that automated tools display what is being implemented, then those static documents can be replaced with documentation that forms a valuable part of the product.

See also the "Living Documentation Framework"