Software Design

Principles that origin from software design.

Patterns of this Domain

Name Short Description
Redundant information is hard to maintain, keeping it in-sync. Therefore strive for reducing redundancy by defining one authoritative location for each piece of information.
Keep your documentation simple. Assume that authors have relevant information for the project in their mind, but not necessarily the skills and resources to communicate it. Therefore make it very simply and joyful for them to share their expertise.
Documents should not reference details in other documents that may change without notice.
Be open for extension, closed for modification.
Documentation should appear to the reader as being written by one single person. Uniformity reduces the chance of astonishment. The principles applies to all areas of documentation, including style and organization.
There should either be no need for additional documentation for an artifact or that documentation should be as close as possible to the artifact. This make it more probable that the documentation changes with the artifact and therefore keeps up-to-date.
Reduce the amount of documents with overlapping information. Also divide the concerns regarding the formatting and - as far as possible - the structure from the content. Whenever there are different aspects, consider if handling them independently would make things easier.
A document should focus to answer one question. This way documents can be more easily reused and combined.
A document should only reference documents that are not less stable than itself.
A standard layout makes it easier for new members of a team to find information. A standard layout is project independent and is typically defined by an organisation.
Assume that an information is not needed to be written down unless proven otherwise.