Oi Liliane.
Tudo bom?
Peço desculpas pela resposta tardia.
A documentação de um software se inicia desde o levantamento de requisitos, diagramas de caso de uso - o tradicional UML - os diagramas de processos são a forma de escrever um software. Mas quando pensamos em documentar um que já está em andamento, o próprio código já é uma das formas de documentar, então é sempre importante escrever um código de uma forma legível, que seja fácil o entendimento e também seguir regras de boas práticas.
Isso desde a escolha de um nome de uma variável e dos escopos a serem utilizados dentro da programação. Importante também é deixar comentários no código que facilitem o entendimento para quem vai lê-los. Por exemplo: uma pequena descrição de um trecho de código. Mas apenas isso não é o suficiente até porque só o código não consegue captar as regras de negócio tão facilmente.
Então, uma outra boa prática é realizar os teste de software - que já é uma boa forma de documentar - aqui entra o BDD (Behaviour Driven Development), uma metodologia de desenvolvimento de software. O BDD deve ser utilizado para que o desenvolvimento seja realizado com base no comportamento e a forma de descrever o comportamento/caso de teste. Assim, quando fazemos os teste de software é uma maneira de documentar.
Outra forma de documentação é utilizar o GIT e o GITHUB. A plataforma permite que você suba os seus código fazendo commits(comentários) e a cada alteração feita no código ele apresenta, além de que outras pessoas podem interagir ao sugerir mudanças e realizar comentários, ou até mesmo fazer Review do código. No GIT e GITHUB é possível subir o projeto inteiro e ter salvo cada alteração que for realizada no software.
Espero que isso possa ser útil. Novamente peço desculpas na demora em respondê-la.
Abraços!