Documentação de Software - eTecnologia/projeto-genesis GitHub Wiki

A documentação é uma parte integrante do desenvolvimento de software, juntamente com a codificação e testes. Ela é essencial para o entendimento do que fazer, compartilhar e transferir conhecimento e facilita a melhoria e evolução do produto de software durante o ciclo de vida.

O que é Documentação de Software?
É todo documento, modelo, fluxos, especificação técnicas/funcionais regras de negócio e declarações que ajudam entender "o que" software deve fazer para gerar valor para as pessoas. A documentação ainda abrange manuais técnicos e de uso, scripts de configuração e instalação e principalmente comentários no código fonte.

Por que devemos documentar o software?
A parte mais difícil no desenvolvimento de software é saber com razoável certeza o que software deve fazer para atender as necessidades de negócio, ser útil, e gerar valor, benefícios, para as pessoas. A documentação ajuda no entendimento daquilo que deve ser feito. Contudo, não devemos fazer uma documentação extensa e extremamente detalhada, não devemos documentar tudo, e sim somente aquilo que essencial para entendimento das pessoas interessadas.

A documentação de software pode gerar inúmeros benefícios, entre eles destacamos:

  • Habilita o compartilhamento de conhecimento com outros desenvolveres equipes.
  • Melhora a colaboração com testadores equipe de testes que precisa conhecer e entender o código para escrever casos de testes mais assertivos e ainda para fazer automação de teste.
  • Simplifica a evolução e melhoria do produto. A documentação ajuda entender o que já feito e como foi feito.
  • Facilita a manutenibilidade e reduz o esforço de compreensão para correção de defeitos (bugs) da equipe de sustentação e de manutenção. Quando surge um defeito crítico é necessário fazer uma investigação profunda para entender o que ocasiona tal bug, ter comentários no código ajuda no entendimento de que faz cada método, interfaces, classes e até as variáveis.
  • Facilita a transferência de conhecimento do código para novos desenvolvedores e/ou na transição de equipe. É comum uma equipe crescer e/ou mudar ao longo do tempo. Novos desenvolvedores quando contrato serão responsáveis por dar continuidade, fazer melhorias e correções defeitos, ter uma documentação atualizada, clara e coesa ajuda no entendimento e facilita o trabalho destes novos profissionais. Outro aspecto é troca da equipe, neste caso existe um plano de transição, mas a nova equipe deve ter informações suficiente sobre aquilo que foi feito para dar continuidade na evolução e melhoria do produto de software
  • Cria uma documentação de produto de software robusta que facilita a evolução e melhoria do produto durante seu ciclo de vida, principalmente quando a empresa cresce e quantidade de desenvolvedores passa de centenas.
⚠️ **GitHub.com Fallback** ⚠️