# Principles

The principles particular to designing software before the code, in three groups. Each follows the format of the
reader-ergonomics principles; a principle that standard already holds is linked, never restated here.

| Group | What it covers |
|---|---|
| [Specification: before the code is written](specification/README.md) | what an algorithm's specification holds for its implementer |
| [Decision: proposing a design and keeping the choice](decision/README.md) | the design document and the decision record |
| [Structure: describing and drawing a system](structure/README.md) | the architecture description and the system diagram |
