HLD, ou High-Level Design, é uma visão de alto nível da solução. Ele cria entendimento suficiente para validar direção, responsabilidades, integrações e riscos antes que a equipe invista no detalhamento.

O que é — e o que não é — um HLD

O HLD descreve os principais blocos da solução, como eles se relacionam e quais decisões sustentam o desenho. Ele conecta requisitos de negócio, atributos de qualidade e estrutura técnica.

Não é um inventário de todos os serviços, classes, tabelas e configurações. Também não é apenas uma figura bonita. Um HLD útil permite que as pessoas façam perguntas, identifiquem lacunas e entendam os compromissos assumidos.

O nível certo de detalheMostre o suficiente para discutir decisões importantes. O que não muda a conversa pode ficar para o desenho detalhado, para o código ou para a documentação operacional.

O que representar

1. Contexto e fronteira

Quem usa a solução? Quais sistemas externos participam? O que está dentro e fora do escopo? Essa visão evita que cada pessoa imagine uma fronteira diferente.

2. Blocos principais e responsabilidades

Mostre aplicações, serviços, fontes de dados e plataformas relevantes. Dê nomes baseados em responsabilidade, como “Gestão de Pedidos”, e não apenas nomes genéricos como “API 1”.

3. Integrações e fluxos críticos

Indique direção, tipo de comunicação e informação principal. Diferencie chamadas síncronas, eventos e transferências em lote quando isso muda o comportamento da solução.

4. Dados e propriedade

Deixe claro onde estão os dados importantes e quem é responsável por eles. Não é necessário desenhar todas as tabelas, mas duplicações, dados sensíveis e fontes oficiais precisam aparecer.

5. Atributos de qualidade

Disponibilidade, segurança, desempenho, escalabilidade, auditabilidade e custo influenciam o desenho. Registre metas e explique como os elementos principais as atendem.

6. Operação e falhas

Mostre as zonas de implantação quando forem relevantes, além de observabilidade, recuperação e comportamento em falhas críticas. Uma solução que só funciona no caminho feliz ainda não está alinhada.

Um desenho, várias perguntas

Não tente colocar tudo em um único diagrama. Organize o HLD como um pequeno conjunto de visões:

  • Visão de contexto: ajuda negócio, produto e tecnologia a concordar com fronteiras e atores.
  • Visão de componentes ou contêineres: mostra responsabilidades e relações entre os grandes blocos.
  • Visão de fluxo: explica uma jornada crítica, como criar pedido ou recuperar acesso.
  • Visão de implantação: evidencia ambientes, redes, regiões e mecanismos de resiliência quando necessário.

Cada visão deve ter título, propósito, legenda e uma breve explicação. Cores e formas precisam ter significado consistente.

Exemplo: portal de atendimento

Uma empresa quer permitir que clientes acompanhem solicitações sem ligar para a central. O HLD pode apresentar:

  • cliente e atendente como atores;
  • portal web, serviço de identidade e serviço de solicitações;
  • sistema legado como fonte oficial do andamento;
  • fila para desacoplar atualizações do legado;
  • repositório de leitura otimizado para consultas;
  • monitoramento da defasagem entre atualização e exibição.

O desenho deve explicar por que existe uma fila, qual atraso é aceitável, como o cliente é autenticado e o que ocorre se o legado ficar indisponível. Endereços de rede e nomes de classes podem esperar.

Checklist para a revisão

Antes de detalhar, confirme

□ O objetivo de negócio e o escopo estão claros?

□ A fronteira e os sistemas externos estão visíveis?

□ Cada bloco tem uma responsabilidade compreensível?

□ Fluxos críticos e dados importantes aparecem?

□ Segurança, disponibilidade, desempenho e operação foram discutidos?

□ Riscos, hipóteses e decisões pendentes estão explícitos?

□ As decisões relevantes serão registradas em ADRs?

O HLD está pronto para avançar quando as pessoas certas entendem a direção, os riscos principais têm tratamento e o detalhamento pode ser distribuído sem que cada equipe invente uma arquitetura diferente.

Evite o perfeccionismoO HLD é um instrumento de alinhamento e deve evoluir. Atualize-o quando uma decisão importante mudar, mas não espere descobrir todos os detalhes antes de começar a aprender com a implementação.

Para aprofundar

Veja a orientação da Microsoft para uma especificação de arquitetura e o modelo C4, que organiza diagramas por níveis de abstração.