12.2

View in English

12.2 Listas de verificação

Estas listas de verificação são referências rápidas, práticas e prontas para uso. Copiem qualquer uma para um modelo de pull request, uma página de wiki, um chamado ou a pauta de uma reunião de revisão e adaptem os itens ao seu contexto. Tratem cada item como algo que uma pessoa possa verificar e responder com sim ou não. Uma lista de verificação é um auxílio de memória e um padrão compartilhado, não um substituto do julgamento; excluam os itens que não se aplicam e acrescentem os que o seu domínio exige.

Orientações para usá-las bem:

  • Mantenham as listas curtas o bastante para que as pessoas de fato as completem. Se uma lista é rotineiramente pulada, é longa ou genérica demais.
  • Automatizem todo item que uma máquina possa verificar (formatação, testes, varreduras) para que os humanos gastem a atenção em itens de julgamento.
  • Versionem as suas listas e revisem-nas periodicamente. Uma lista que nunca muda provavelmente não está sendo usada.
  • Distingam os itens bloqueantes dos consultivos quando a distinção importar para o seu processo.

Lista de verificação de revisão de código

Para o revisor que examina a mudança de outra pessoa.

  • A mudança faz o que sua descrição e o chamado vinculado dizem que faz.
  • O escopo está focado numa única preocupação lógica; mudanças não relacionadas são separadas.
  • O projeto se encaixa na arquitetura existente e não introduz um acoplamento fácil de evitar.
  • Casos extremos, caminhos de erro e modos de falha são tratados, não apenas o caminho feliz.
  • Existem testes, são significativos e falhariam se o comportamento regredisse.
  • Nomes, estrutura e comentários tornam o código compreensível a um leitor futuro.
  • Nenhum segredo, credencial, token ou dado pessoal foi commitado.
  • Entradas sensíveis à segurança são validadas, codificadas ou parametrizadas de forma apropriada.
  • Interfaces públicas, contratos e compatibilidade retroativa são preservados ou versionados intencionalmente.
  • Logs, métricas e relato de erros são adequados para operar a mudança em produção.
  • Documentação, runbooks e configuração são atualizados para corresponder à mudança.
  • O feedback é separado em problemas bloqueantes e sugestões, e formulado sobre o código.

Lista de verificação do autor do pull request

Para o autor antes de pedir revisão.

  • O PR é pequeno e focado o bastante para ser revisado com cuidado numa só sentada.
  • A descrição diz o que mudou, por quê e como foi verificado.
  • O chamado, a issue ou o documento de design vinculado dá aos revisores o contexto necessário.
  • Todas as verificações automatizadas passam localmente ou no CI (build, lint, formato, testes, varreduras).
  • O comportamento novo e o alterado são cobertos por testes.
  • Refatorações mecânicas são separadas das mudanças de comportamento.
  • A autorrevisão está completa: vocês leram o próprio diff linha por linha.
  • Nenhum código de depuração, bloco comentado, segredo ou arquivo solto permanece.
  • Migrações de banco de dados, flags de funcionalidade e mudanças de configuração são documentadas e reversíveis.
  • Mudanças incompatíveis são apontadas explicitamente com um caminho de migração.
  • Capturas de tela, gravações ou saída de exemplo são incluídas onde ajudam a revisão.
  • Os revisores certos e quaisquer aprovadores exigidos por papel são solicitados.

Definição de Pronto

O padrão compartilhado que um item de trabalho deve cumprir antes de ser considerado completo.

  • Os critérios de aceitação do chamado são todos atendidos e demonstráveis.
  • O código é revisado por pares e aprovado pelos revisores exigidos.
  • Os testes automatizados são escritos, passam e são integrados junto com a mudança.
  • O código é integrado à linha principal e implantado sem problemas pelo pipeline.
  • Nenhum defeito conhecido do limiar de gravidade acordado permanece aberto.
  • Documentação, textos de ajuda e runbooks são atualizados.
  • A observabilidade está no lugar: existem logs, métricas e alertas relevantes.
  • As implicações de segurança e privacidade foram consideradas e tratadas.
  • Os requisitos de acessibilidade da mudança são atendidos quando voltada ao usuário.
  • As flags de funcionalidade estão configuradas e o plano de lançamento está acordado.
  • O dono do produto ou a parte interessada aceitou o resultado.
  • Qualquer trabalho de acompanhamento é registrado como chamados rastreados, não deixado implícito.

Prontidão para lançamento em produção / go-live

Antes de entregar em produção uma mudança significativa ou um novo serviço.

  • O plano de lançamento está documentado, incluindo os passos em estágios ou canário e os critérios de sucesso.
  • O plano de rollback está documentado, testado e pode ser executado rapidamente.
  • Os testes de capacidade e de carga mostram que o sistema atende a demanda esperada e de pico.
  • Monitoramento, painéis e alertas estão ativos e validados antes do lançamento.
  • A cobertura de sobreaviso está escalada e os responsáveis conhecem o sistema.
  • Existem runbooks para os cenários de falha e operacionais mais prováveis.
  • Dependências, integrações e terceiros estão confirmados como prontos e os limites de taxa entendidos.
  • A revisão de segurança e as aprovações exigidas estão completas.
  • A migração de dados, se houver, é testada de ponta a ponta com um plano de retirada verificado.
  • As flags de funcionalidade permitem desativar a mudança sem reimplantação.
  • As aprovações jurídicas, de privacidade e de conformidade são obtidas onde exigidas.
  • O plano de comunicação cobre as partes interessadas, o suporte e os clientes.
  • Uma decisão de seguir ou parar é tomada por donos nomeados contra critérios explícitos.

Lista de verificação de revisão de segurança / modelo de ameaças

Para avaliar a postura de segurança de uma mudança ou sistema.

  • As fronteiras de confiança e os fluxos de dados são identificados e documentados.
  • A autenticação é imposta em todo ponto de entrada que a exige.
  • As verificações de autorização impõem o privilégio mínimo para toda ação e recurso.
  • Toda entrada externa é validada, e a saída é codificada para o seu destino.
  • Os segredos são guardados num cofre gerenciado, nunca em código ou configuração, e são rotacionáveis.
  • Os dados são criptografados em trânsito e em repouso conforme a classificação exige.
  • As dependências são varridas atrás de vulnerabilidades conhecidas e mantidas atualizadas.
  • Os riscos de injeção, desserialização e SSRF são mitigados para entradas não confiáveis.
  • Eventos relevantes à segurança são registrados sem gravar dados sensíveis.
  • Limitação de taxa, cotas e proteções contra abuso guardam os endpoints expostos.
  • As mensagens de erro não vazam stack traces, detalhes internos ou informações sensíveis.
  • As ameaças identificadas via STRIDE ou similar são registradas com mitigações ou risco aceito.
  • O teste de segurança (SAST, DAST ou teste de intrusão) está planejado ou completo.

Lista de verificação de privacidade e proteção de dados (estilo DPIA)

Para tratamento que envolve dados pessoais ou sensíveis.

  • Os dados pessoais coletados são inventariados, classificados e minimizados ao necessário.
  • A base legal ou autoridade de cada finalidade de tratamento está documentada.
  • A limitação de finalidade é imposta: os dados são usados apenas para as finalidades declaradas.
  • Os períodos de retenção são definidos e a exclusão ou anonimização é automatizada.
  • Os direitos do titular dos dados (acesso, correção, exclusão, portabilidade) podem ser atendidos.
  • O consentimento, quando usado, é livre, específico e revogável.
  • Terceiros e operadores estão vinculados a termos adequados de proteção de dados.
  • As transferências internacionais têm um mecanismo legal de transferência apropriado.
  • O acesso a dados pessoais é restrito, registrado e revisado.
  • Os riscos de privacidade aos indivíduos são avaliados e mitigados ou escalados.
  • Os processos de detecção e notificação de violação de dados estão definidos.
  • As escolhas de privacidade desde a concepção e por padrão estão documentadas para a funcionalidade.
  • O encarregado de proteção de dados ou revisor de privacidade aprovou onde exigido.

Lista de verificação de acessibilidade (WCAG)

Para interfaces voltadas ao usuário, alinhada aos princípios da WCAG.

  • Todo o conteúdo é alcançável e operável usando apenas o teclado.
  • A ordem de foco é lógica e há um indicador de foco visível.
  • O contraste de cor do texto atinge a razão-alvo (tipicamente 4,5:1 para o texto do corpo).
  • Imagens e conteúdo não textual têm texto alternativo significativo.
  • Os campos de formulário têm rótulos associados e mensagens de erro claras.
  • Títulos, marcos e estrutura são marcados semanticamente.
  • Os componentes interativos expõem nome, papel e estado corretos às tecnologias assistivas.
  • O conteúdo se reorganiza e permanece utilizável com zoom de 200% e em telas pequenas.
  • Os limites de tempo são ajustáveis, e o movimento ou o conteúdo de reprodução automática pode ser pausado.
  • A cor não é o único meio de transmitir informação.
  • A mídia tem legendas e, quando necessário, transcrições ou audiodescrição.
  • A interface é testada com um leitor de tela e ferramentas automatizadas de acessibilidade.

Lista de verificação de revisão de design de API

Antes de publicar ou alterar uma API.

  • A nomenclatura de recursos e operações é consistente e previsível.
  • O contrato é especificado num esquema legível por máquina (por exemplo, OpenAPI).
  • A estratégia de versionamento está definida e a compatibilidade retroativa é preservada ou gerida.
  • Paginação, filtragem e ordenação seguem convenções consistentes.
  • As respostas de erro usam estrutura, códigos e mensagens acionáveis consistentes.
  • Autenticação e autorização são especificadas para cada operação.
  • A validação de entrada e os limites de tamanho são definidos e impostos.
  • A idempotência é definida para as operações em que se esperam repetições.
  • Limites de taxa, cotas e comportamento de limitação são documentados.
  • Timeouts, repetições e semântica de falha são claros para os clientes.
  • A exposição de dados sensíveis nas respostas é minimizada e justificada.
  • A documentação inclui exemplos para cada operação e caso de erro.
  • A política de descontinuação e os prazos de desativação estão definidos.

Lista de verificação de revisão de decisão de arquitetura (ADR)

Para revisar um registro proposto de decisão de arquitetura.

  • O contexto e o problema a resolver estão declarados com clareza.
  • A decisão é declarada sem ambiguidade como uma única escolha.
  • Pelo menos duas alternativas realistas foram consideradas e comparadas.
  • As consequências, positivas e negativas, estão documentadas.
  • Os impactos não funcionais (desempenho, segurança, custo, operabilidade) são tratados.
  • A decisão se alinha aos princípios existentes e a ADRs anteriores, ou os substitui explicitamente.
  • As equipes e partes interessadas afetadas foram consultadas.
  • A reversibilidade e o custo da mudança são avaliados.
  • Suposições e restrições são tornadas explícitas.
  • O status (proposto, aceito, substituído) está definido e datado.
  • A decisão é descobrível e vinculada a partir dos sistemas relevantes.
  • Quaisquer ações de acompanhamento ou migrações são registradas como trabalho rastreado.

Lista de verificação de resposta a incidentes

Durante um incidente ativo em produção.

  • Declarem o incidente e designem um único comandante do incidente.
  • Avaliem e comuniquem a gravidade, o escopo e o impacto aos clientes.
  • Abram um canal de comunicação dedicado e um registro do incidente.
  • Atribuam papéis claros: comandante, líder de comunicação e líder de operações.
  • Priorizem a mitigação e a restauração do serviço sobre a análise de causa-raiz.
  • Publiquem atualizações regulares de status às partes interessadas numa cadência definida.
  • Capturem uma linha do tempo de eventos, ações e decisões conforme acontecem.
  • Escalem para respondentes adicionais ou fornecedores quando necessário.
  • Notifiquem o jurídico, a segurança e a conformidade se dados ou regulamentação estiverem envolvidos.
  • Verifiquem a correção e confirmem que o sistema se recuperou por completo.
  • Encerrem formalmente o incidente e comuniquem a resolução.
  • Agendem o post-mortem sem atribuição de culpa antes que as pessoas se dispersem.

Lista de verificação de post-mortem

Para a revisão retrospectiva após um incidente.

  • A revisão é sem atribuição de culpa e foca sistemas e fatores contribuintes.
  • Uma linha do tempo factual e com carimbos de data e hora do incidente está documentada.
  • O impacto aos clientes e ao negócio é quantificado (duração, escopo, custo).
  • A detecção é analisada: como e quando o problema foi notado.
  • A resposta é analisada: o que ajudou e o que atrasou a recuperação.
  • As causas contribuintes são identificadas, não apenas uma única causa-raiz.
  • O que correu bem é registrado, assim como o que deu errado.
  • Os itens de ação são específicos, atribuídos a donos e têm prazos.
  • Os itens de ação tratam de prevenção, detecção e mitigação.
  • Os itens de acompanhamento são rastreados até a conclusão no backlog normal.
  • O post-mortem é compartilhado amplamente para que outros possam aprender com ele.
  • Os padrões sistêmicos entre incidentes são revisados periodicamente.

Lista de verificação de prontidão para o sobreaviso

Antes de alguém assumir um turno de sobreaviso.

  • O respondente tem acesso a todos os sistemas, painéis e ferramentas de que precisa.
  • O alerta chega ao respondente de forma confiável e é testado.
  • Os caminhos de escalação e os contatos do sobreaviso secundário são conhecidos e atuais.
  • Existem runbooks para os alertas mais comuns e mais graves.
  • O respondente concluiu a integração ou o acompanhamento em sombra para esses sistemas.
  • Mudanças recentes, incidentes em curso e problemas conhecidos são repassados.
  • Os limiares de alerta são ajustados para minimizar o ruído e os acionamentos falsos.
  • O respondente sabe como declarar um incidente e alcançar o comandante.
  • O acesso à produção é possível a partir do ambiente de trabalho do respondente.
  • Os canais de comunicação e os contatos das partes interessadas estão documentados.
  • A escala de sobreaviso é publicada e a cobertura não tem lacunas.
  • A compensação, as expectativas e os limites de carga de trabalho do sobreaviso são claros.

Lista de verificação de definição de SLO

Ao definir um objetivo de nível de serviço.

  • A jornada do usuário ou capacidade que o SLO protege está claramente identificada.
  • Os indicadores de nível de serviço (SLIs) são definidos como grandezas claras e mensuráveis.
  • Os SLIs são medidos da perspectiva do usuário sempre que possível.
  • A meta do objetivo é definida num nível de que os usuários de fato precisam, não 100%.
  • A janela de medição (por exemplo, 28 dias móveis) está especificada.
  • O orçamento de erros derivado da meta é calculado e compreendido.
  • Uma política define o que acontece quando o orçamento de erros se esgota.
  • As fontes de dados dos SLIs são confiáveis e instrumentadas.
  • O alerta está atado à taxa de queima, não apenas a violações de limiar.
  • Donos e partes interessadas concordam que o SLO é realista e significativo.
  • O SLO está documentado e visível num painel.
  • Existe um calendário para revisar e rever os SLOs conforme o serviço evolui.

Lista de verificação de pipeline de CI/CD

Para um pipeline de integração e entrega contínuas.

  • Todo commit dispara um build e uma execução de testes automatizados.
  • O pipeline falha rápido e relata os resultados com clareza aos autores.
  • Lint, formatação e análise estática rodam automaticamente.
  • Testes unitários, de integração e os de ponta a ponta relevantes rodam no pipeline.
  • A varredura de segurança e de dependências roda em todo build.
  • Os artefatos de build são versionados, imutáveis e guardados num registro.
  • Os segredos são injetados com segurança e nunca impressos nos logs.
  • As implantações são automatizadas e repetíveis entre ambientes.
  • A estratégia de implantação (canário, azul-verde, gradual) está definida e é usada.
  • O rollback é automatizado ou uma única ação documentada.
  • As permissões do pipeline seguem o privilégio mínimo e são auditáveis.
  • A configuração do pipeline é guardada no controle de versão como código.
  • A procedência do build e uma lista de materiais de software são produzidas onde exigido.

Lista de verificação de revisão de infraestrutura como código

Para revisar infraestrutura definida como código.

  • As mudanças são expressas inteiramente em código e aplicadas pelo pipeline.
  • Um plano ou a saída de uma execução a seco é revisado antes de aplicar.
  • O estado é guardado com segurança e com bloqueio para prevenir mudanças concorrentes.
  • Os recursos seguem convenções de nomenclatura, etiquetagem e propriedade.
  • Papéis e políticas de IAM de privilégio mínimo são usados, sem curingas onde evitável.
  • A exposição de rede é minimizada; sem acesso público não intencional.
  • Segredos e valores sensíveis são referenciados de um cofre, não fixados no código.
  • A criptografia está habilitada para armazenamento, bancos de dados e trânsito.
  • As mudanças são idempotentes e seguras de reaplicar.
  • O raio de impacto é compreendido; as mudanças destrutivas são apontadas.
  • O impacto de custo da mudança é considerado.
  • Os módulos são reutilizáveis, versionados e testados.
  • Existe detecção de deriva para pegar mudanças fora do pipeline.

Lista de verificação de lançamento de modelo de IA/ML

Antes de lançar um modelo de aprendizado de máquina em produção.

  • O uso pretendido, o escopo e as limitações do modelo estão documentados.
  • A procedência, o licenciamento e o consentimento dos dados de treinamento e avaliação são verificados.
  • Os dados e o modelo são versionados e reproduzíveis.
  • O desempenho é avaliado em dados de teste representativos e separados.
  • A equidade e o viés são avaliados entre os subgrupos relevantes.
  • O modelo é avaliado contra o incumbente ou uma linha de base.
  • Os modos de falha, os casos extremos e o comportamento fora da distribuição são compreendidos.
  • Os riscos de segurança, mau uso e saídas nocivas são avaliados e mitigados.
  • Existe monitoramento de deriva, qualidade dos dados e degradação de desempenho.
  • Existe um rollback ou alternativa para um modelo anterior ou um caminho baseado em regras.
  • Supervisão humana ou recurso é oferecido para decisões consequentes.
  • A revisão de privacidade cobre os dados de treinamento e as entradas e saídas de inferência.
  • Um cartão do modelo ou documentação equivalente é publicado para as partes interessadas.

Lista de verificação de qualidade de pipeline de dados

Para um pipeline de dados que alimenta análises ou produtos.

  • Os esquemas dos dados de origem são validados e as mudanças de esquema são detectadas.
  • A ingestão trata corretamente registros atrasados, duplicados e fora de ordem.
  • As verificações de qualidade de dados (completude, unicidade, faixas) rodam automaticamente.
  • Os registros com falha são postos em quarentena e expostos, não descartados em silêncio.
  • As transformações são testadas com entradas representativas e de casos extremos.
  • O pipeline é idempotente e seguro de reexecutar após uma falha.
  • A atualidade e a latência das saídas são monitoradas contra as expectativas.
  • A linhagem é documentada para que os consumidores saibam de onde vêm os dados.
  • Dados pessoais e sensíveis são classificados, mascarados ou restritos de forma apropriada.
  • Reprocessamentos e preenchimentos retroativos são suportados e documentados.
  • O alerta notifica os donos de falhas e violações de qualidade.
  • As políticas de retenção e exclusão são impostas aos dados armazenados.
  • Os consumidores a jusante e os SLAs são documentados.

Lista de verificação de admissão de código aberto e revisão de licença

Antes de adotar um componente de código aberto.

  • A licença do componente é identificada e consta na lista aprovada.
  • As obrigações da licença (atribuição, copyleft, avisos) são compreendidas e cumpridas.
  • A compatibilidade da licença com o seu modelo de distribuição é confirmada.
  • O projeto é ativamente mantido e tem uma comunidade saudável.
  • As vulnerabilidades conhecidas são conferidas e a versão está atual.
  • A dependência e suas dependências transitivas são inventariadas.
  • A postura de segurança e o histórico de incidentes passados são revisados.
  • O componente atende a uma necessidade real sem duplicação significativa.
  • O custo de saída e a substituibilidade do componente são considerados.
  • O componente é registrado na lista de materiais de software.
  • Um dono nomeado é responsável por acompanhar atualizações e avisos.
  • As políticas de contribuição de volta e de fork interno são seguidas se ele for modificado.

Lista de verificação de risco de fornecedor / terceiros

Antes de integrar um fornecedor ou serviço externo.

  • A necessidade de negócio e os dados a que o fornecedor terá acesso estão claramente definidos.
  • A postura de segurança do fornecedor é avaliada (certificações, auditorias, questionário).
  • Os termos de tratamento de dados, a propriedade e a exclusão na saída são contratualmente claros.
  • Os subprocessadores e as localizações de dados do fornecedor são divulgados e aceitáveis.
  • A conformidade com as regulamentações relevantes é verificada.
  • Os compromissos de disponibilidade, suporte e SLA estão documentados.
  • As obrigações e prazos de notificação de violação estão no contrato.
  • O acesso é limitado ao privilégio mínimo e revogável.
  • A continuidade de negócios e o impacto da falha do fornecedor são avaliados.
  • Existe um plano de saída e de migração de dados para evitar o aprisionamento (lock-in).
  • Custos, termos de renovação e cláusulas de mudança de preço são compreendidos.
  • O fornecedor é adicionado ao registro de riscos com uma data de revisão.

Lista de verificação de prontidão de conformidade governamental (estilo ATO / FedRAMP)

Para sistemas que exigem autorização formal para operar.

  • A fronteira do sistema e os fluxos de dados são definidos e diagramados.
  • Os dados são categorizados por nível de impacto e sensibilidade.
  • A linha de base de controles aplicável é selecionada e adaptada.
  • Um plano de segurança do sistema documenta como cada controle é implementado.
  • Os controles são implementados, evidenciados e mapeados ao plano.
  • O monitoramento contínuo e a varredura de vulnerabilidades estão operacionais.
  • Um plano de ação e marcos acompanha os achados abertos até a remediação.
  • O controle de acesso, o registro de auditoria e a gestão de identidade atendem aos requisitos.
  • A criptografia usa algoritmos aprovados e módulos validados.
  • Um plano de resposta a incidentes está documentado e testado.
  • Um plano de contingência e de recuperação de desastres está documentado e testado.
  • Uma avaliação ou auditoria independente dos controles está concluída.
  • O responsável autorizador tem a avaliação de risco necessária para conceder a autorização.
  • Os gatilhos de reautorização e a cadência contínua de autorização estão definidos.