Trilha 04Lição 2 / 10

Mantenha os requisitos rastreáveis conforme o software muda

Relacione um resultado para o usuário a decisões, critérios de aceitação, implementação e evidências. Atualize as conexões quando as premissas mudarem.

Prática10 minRevisado

Publicado por Como escrevemos

Confira seu entendimentoA especificação muda depois que a arquitetura e os testes foram preparados. O que deve acontecer?Faça o exercício
A especificação muda depois que a arquitetura e os testes foram preparados. O que deve acontecer?

O que você vai aprender

  • Escrever um requisito observável com limites explícitos.
  • Rastrear um requisito por uma alteração e suas verificações.
  • Identificar documentos posteriores afetados por uma premissa alterada.

Descreva um comportamento que alguém possa verificar

“Criar uma exportação moderna de clientes” deixa decisões importantes em aberto. Não define usuários, registros, campos nem comportamento de falha. Um agente precisa perguntar ou fazer suposições. Premissas não registradas são difíceis de revisar depois.

Use um requisito fictício com um limite claro: um gerente autenticado pode exportar clientes ativos da própria organização. A exportação contém o ID do cliente e o nome de exibição. Exclui dados de contato e registros arquivados. Um usuário sem o papel de gerente não recebe a exportação.

Isso ainda exige decisões sobre formato, volume, tempo de resposta e tratamento de falhas. Marque explicitamente o que não se sabe. Uma especificação útil expõe a incerteza em vez de escondê-la em um texto confiante.

Separe requisitos de escolhas de implementação

O usuário precisa de um conjunto permitido de registros em formato utilizável. A consulta ao banco de dados, a biblioteca e a estrutura do endpoint são escolhas de implementação. Relacione-as ao requisito sem tratar cada escolha atual como uma necessidade permanente do negócio.

Registre decisões relevantes com contexto, alternativas e motivo. Por exemplo, a exportação síncrona pode servir para volumes pequenos. Um volume maior pode exigir um job em segundo plano e uma verificação separada de autorização para o download.

Mantenha o requisito estável quando possível e versione a decisão alterada. Isso ajuda os revisores a distinguir uma implementação diferente de uma promessa diferente aos usuários.

Crie uma cadeia curta de evidências

Use identificadores que continuem compreensíveis nas revisões. Neste exemplo, EXPORT-01 pode identificar o limite da organização. O nome é ilustrativo, não um sistema obrigatório de numeração.

ConexãoExemplo
RequisitoEXPORT-01: somente registros da organização do gerente
Decisão de projetoVerificar o vínculo com a organização no servidor, não no navegador
ImplementaçãoO PR altera a consulta e o caminho de autorização
VerificaçãoUma requisição de registros de outra organização é negada
Evidência de releaseO resultado da verificação identifica o commit e o artefato aceitos

A cadeia deve apontar para evidências reais. Um nome de teste que contém o ID do requisito não prova que a asserção o verifica. Inspecione o teste e o caminho de produção que ele exercita.

O SSDF do NIST fornece contexto para requisitos e verificação no desenvolvimento seguro. Use a rastreabilidade para tornar essas atividades inspecionáveis, em vez de produzir documentação sem finalidade prática. Leia o framework.

Revise o impacto de uma premissa alterada

Suponha que o negócio agora precise de clientes arquivados. Essa mudança afeta mais que um parâmetro de consulta. Verifique regras de retenção, autorização, volume esperado, explicações aos usuários e o significado de relatórios existentes.

Marque documentos e verificações afetados para revisão. Preserve a decisão anterior para que um operador possa explicar um release antigo. Não reescreva silenciosamente o histórico para fazer o projeto mais recente parecer inevitável.

Um agente pode ajudar a encontrar referências e propor atualizações. Os responsáveis precisam resolver requisitos conflitantes e aceitar o comportamento alterado. Uma lista de arquivos correspondentes é um ponto de partida, não uma avaliação completa de impacto.

Mantenha o registro pequeno o suficiente para ser usado

Registre as decisões que afetam implementação, verificação e operação. Evite repetir o mesmo requisito em muitos documentos desconectados. Prefira links para uma única fonte mantida.

Antes de aceitar uma alteração, pergunte se o revisor consegue seguir seu objetivo até as evidências reais. Antes de operá-la, pergunte se o responsável pelo serviço consegue localizar o limite relevante e a decisão de recuperação. Esses são testes práticos de uma rastreabilidade útil.

Faça o exercício

Escreva um requisito para um gerente exportar clientes ativos. Inclua usuários permitidos, limite da organização, campos, comportamento de falha e condição mensurável de conclusão. Vincule-o a um teste e a um release fictícios. Depois, altere o requisito para incluir clientes arquivados e liste as decisões afetadas.

Baixar planilha de exercício (Markdown)
Confira seu entendimento ↑

Continuar aprendendo

Fontes e leituras adicionais

Leituras relacionadas da Taiga

← Lição anterior: Conecte todo o ciclo de vida do software