In case you want or need to save documentation effort, you have some good opportunities within the building block view. You can possibly omit the following kinds of building blocks from your documentation:

  • Really small blocks that will easily be understood by reading the source code.
  • Blocks that serve general purpose and are not specific to your system.
  • Blocks that only apply (thoroughly defined) crosscutting concepts and don’t do much else.
  • Blocks that implement purely technical functions, like persistence, logging, communication, data transformation, data validation or data dispatching.

In general, try to avoid documenting lower-level (smaller) building blocks, unless these are really important, special or risky.