Documentar ou não documentar? Eis a questão!

Eximiaco - Excelência Tecnológica2022-12-1647 minutosIntermediário
DocumentaçãoArquiteturaEngenharia de SoftwareADRC4 ModelHaiku

Sobre este curso

Uma discussão pragmática sobre a importância da documentação arquitetural, equilibrando o custo de documentar com os riscos de não ter registro das decisões técnicas.

Neste vídeo, Elemar Júnior e Gabriel Corozolla debatem um tema polêmico na área de tecnologia: a documentação de software. Eles exploram o equilíbrio necessário entre não ter documentação nenhuma (o que leva à erosão arquitetural) e ter documentação excessiva/inútil. O foco é apresentar abordagens práticas e "lean" para documentar arquitetura, garantindo que o conhecimento sobre decisões importantes, restrições e objetivos de negócio não se perca com o tempo ou com a rotatividade da equipe.

O que você vai aprender

  • Custo vs. Benefício: Entender que documentação tem custo, mas a falta dela pode custar ainda mais caro a longo prazo.
  • Documentação Arquitetural Mínima: O conceito de "Haiku" de arquitetura — um documento sucinto (idealmente uma página) que descreve objetivos de negócio, restrições e atributos de qualidade.
  • ADR (Architecture Decision Records): Como e por que registrar as decisões arquiteturais importantes, seus contextos, prós, contras e consequências.
  • Visão Geral do Sistema: A importância de ter um "esquemão" ou diagrama de alto nível (como o System Context do C4 Model) para onboarding e alinhamento.
  • Erosão Arquitetural: Como a falta de registro dos "porquês" leva à degradação do sistema ao longo do tempo.
  • Comunicação: Documentação como ferramenta de comunicação e alinhamento entre o time técnico e a área de negócios.

Pré-requisitos

  • Experiência básica em desenvolvimento de software.
  • Noções de arquitetura de sistemas.
  • Familiaridade com o dia a dia de projetos de software (prazos, decisões técnicas, etc.).

Para quem é este curso

Arquitetos de Software, Tech Leads e Desenvolvedores Sênior que buscam formas eficientes de documentar seus sistemas sem burocracia excessiva, garantindo a manutenibilidade e a evolução sustentável do software.