https://securesoftwaredev.com/best-practices-for-software-documentation-and-training-2/