Engenheiro de Requisitos
Codifica requisitos em EARS.
O Requirements Engineer é a persona que codifica, decompõe e rastreia requisitos com disciplina. Em um SDLC AI-native, o Requirements Engineer opera uma pilha de primitivas validadas que converte intenção em draft em cláusulas EARS auditáveis.
Resumo executivo
O Requirements Engineer decompõe especificações aprovadas em requisitos EARS atômicos e testáveis, e mantém a matriz de rastreabilidade de requisito para teste para artefato implantado. Em um SDLC AI-native, o Requirements Engineer opera dentro da fase de Discovery com um conjunto fixo de primitivas: um agente de encoding EARS, quatro slash prompts, instruções escopadas, hooks validados por schema e uma lista curada de MCPs validados. As saídas primárias são arquivos de requisitos atômicos, análises de gap, relatórios de rastreabilidade e registros de review de requisitos.
Papel e responsabilidades
Pense no Requirements Engineer como um codificador jurídico que transforma a intenção do legislador em estatutos numerados que os tribunais podem aplicar sem interpretação. O legislador propõe, o codificador transforma, e todo julgamento futuro cita uma cláusula pelo número. Em um SDLC AI-native, o Product Owner propõe no SPECIFICATION.md, o Requirements Engineer codifica em forma EARS atômica, e todo teste, commit e release note cita um ID de requisito.
Responsabilidades primárias:
- Decompor toda spec aprovada em requisitos EARS atômicos sob
docs/requirements/ - Manter a matriz de rastreabilidade que liga cada requisito a seus critérios de aceitação, testes, pull requests e artefatos implantados
- Rodar gap scans para detectar requisitos sem testes, testes sem requisitos e deploys sem nenhum dos dois
- Rodar reviews de requisitos com o Product Owner, Software Architect e QA Engineer em gates definidos
- Operar o agente EARS Encoder e os prompts
/ears,/traceability,/gap-scan,/requirement-review - Governar o log de mudanças de requisitos, garantindo que toda mudança referencie um diff de spec aprovado
- Publicar o relatório de prontidão do qual os releases dependem
Jobs to be done
- Como Requirements Engineer, eu quero decompor uma spec aprovada em requisitos atômicos em horas, para que o desenvolvimento nunca fique bloqueado aguardando clarificação.
- Como Requirements Engineer, eu quero todo requisito em forma EARS estrita, para que agentes e humanos o parseiem de modo idêntico.
- Como Requirements Engineer, eu quero que a matriz de rastreabilidade se regenere a cada merge, para que as respostas de auditoria estejam sempre atuais.
- Como Requirements Engineer, eu quero gap scans rodando em todo pull request, para que testes e requisitos nunca divirjam silenciosamente.
- Como Requirements Engineer, eu quero que reviews de requisitos sejam estruturadas e registradas, para que decisões persistam para além da reunião.
- Como Requirements Engineer, eu quero que o relatório de prontidão recuse o release se qualquer gap estiver sem resolução, para que a disciplina de escopo seja enforçada no gate.
Dores antes da era AI-native
- Specs grossas demais para testar. Specs de alto nível não podem ser vinculadas a casos de teste. Developers improvisam decomposição de modo inconsistente.
- Rastreabilidade construída uma vez e abandonada. Planilhas de matriz ficam defasadas dentro de uma sprint. Preparação de auditoria se torna uma reconstrução.
- Gaps descobertos no release. Testes ausentes e features órfãs aparecem no gate de release, forçando atrasos no cronograma.
- Reviews sem registros. Clarificações acontecem verbalmente. Na próxima sprint, a mesma pergunta é feita de novo.
- Churn de requisitos não rastreado. Mudanças são feitas no próprio lugar sem histórico de diff. Regressões de escopo são invisíveis.
Fluxo diário AI-native
O Requirements Engineer opera um loop fixo todo dia. O loop usa primitivas do GitHub Copilot dentro do Visual Studio Code e Claude Code no terminal, além de um pequeno catálogo de MCPs validados para contexto externo.
Setup da manhã
- Abra o repositório no Visual Studio Code. GitHub Copilot Chat carrega o
AGENTS.mde as instruções escopadas de requisitos. - Puxe o último
maine revise mudanças noturnas de spec feitas pelo Product Owner. - Rode
/gap-scanpara produzir o relatório de gap atual: requisitos sem testes, testes sem requisitos, deploys sem nenhum dos dois. - Revise o dashboard de rastreabilidade gerado a partir da telemetria do Azure MCP Server e do GitHub MCP.
Execução no meio do dia
- Decomposição. Invoque
/earsem cada nova seção da spec. O agente EARS Encoder produz requisitos atômicos com IDs únicos, cada um em formaWHEN ... THE system SHALL ...estrita. - Rastreabilidade. Invoque
/traceabilitypara vincular cada novo requisito a testes, pull requests e registros de deploy existentes. O agente atualiza a matriz e sinaliza órfãos. - Fechamento de gap. Para cada gap sinalizado no scan matinal, ou escreva o requisito ausente, levante uma tarefa de teste para o QA Engineer, ou abra um ADR se uma mudança arquitetural for necessária.
- Sincronização entre personas. Use o Microsoft 365 Agents SDK MCP para levantar pedidos de clarificação no canal do Teams quando a intenção da spec for ambígua.
Revisão no fim da tarde
- Invoque
/requirement-reviewpara rodar a sessão de review estruturada com o Product Owner, Software Architect e QA Engineer. O agente prepara a pauta a partir dos diffs do dia e registra decisões contra os IDs de requisito. - Abra um pull request nos arquivos de requisito. GitHub Copilot Code Review comenta em conformidade EARS; revisores humanos aprovam o conteúdo.
- Atualize o relatório de prontidão. Um hook de post-merge regenera o relatório com contagens de gap e listas de bloqueadores.
- Publique o digest diário de requisitos no canal do Teams do produto via Microsoft 365 Agents SDK.
Primitivas recomendadas
Agente
| Agente | Arquivo | Propósito |
|---|---|---|
ears-encoder | .github/agents/ears-encoder.agent.md | Decompor specs em requisitos EARS atômicos, manter rastreabilidade, rodar gap scans |
O EARS Encoder usa claude-sonnet-4-6 por padrão. Ferramentas: read, edit, search, grep, glob. Sem acesso a bash. Extended thinking é habilitado apenas para /gap-scan, onde a correlação entre documentos se beneficia de raciocínio profundo.
Slash prompts
| Comando | Arquivo | Propósito |
|---|---|---|
/ears | .github/prompts/ears.prompt.md | Decompor uma seção da spec em requisitos EARS atômicos |
/traceability | .github/prompts/traceability.prompt.md | Vincular requisitos a testes, PRs e deploys, regenerar a matriz |
/gap-scan | .github/prompts/gap-scan.prompt.md | Detectar requisitos sem testes, testes sem requisitos, deploys órfãos |
/requirement-review | .github/prompts/requirement-review.prompt.md | Preparar e registrar a sessão estruturada de review |
Instruções escopadas
applyTo com escopo reduz o custo em tokens em aproximadamente 68 por cento comparado a instruções globais.
Escopo (applyTo) | Arquivo | Propósito |
|---|---|---|
docs/requirements/**/*.md | .github/instructions/requirements.instructions.md | Formato EARS atômico, schema de ID, regras de cross-reference |
docs/traceability/**/*.md | .github/instructions/traceability.instructions.md | Schema da matriz, regras de regeneração, formato de evidência de auditoria |
docs/reviews/**/*.md | .github/instructions/reviews.instructions.md | Template de pauta de review, formato de registro de decisão |
Hooks
Hooks custam zero tokens de LLM. São a camada de governança mais forte para requisitos.
pre-commit: rejeitar qualquer arquivo de requisito com cláusulas não-atômicas ou não-EARS, ou com IDs duplicadospost-commit: regenerar a matriz de rastreabilidade e o relatório de prontidãopre-merge: bloquear o merge de qualquer mudança de requisito que introduza um novo gap sem uma issue de follow-up vinculada
MCPs validados
| MCP | Propósito | Dono |
|---|---|---|
| GitHub MCP Server | Ler pull requests, testes e runs do Actions para popular a matriz de rastreabilidade | GitHub (oficial) |
| Azure DevOps MCP Server | Ler work items do Azure Boards e planos de teste quando o time usa Azure DevOps | Microsoft (oficial) |
| Azure MCP Server | Consultar Application Insights para confirmar que artefatos implantados correspondem a IDs de requisito | Microsoft (oficial) |
| Microsoft Learn Docs MCP | Ancorar requisitos em superfícies de produto Microsoft em documentação atual | Microsoft (oficial) |
| Microsoft 365 Agents SDK MCP | Levantar threads de clarificação no Teams e registrar decisões do Outlook | Microsoft (oficial) |
Exemplos reais
Exemplo 1: decompor uma seção de spec aprovada
Entrada: Uma seção de spec sobre renovação de contrato cobrindo iniciação, elegibilidade e notificação, aprovada pelo Product Owner.
Invocação: /ears seguido de /traceability.
Saída esperada:
- Um diretório
docs/requirements/contract-renewal/com doze arquivos de requisito atômicos, cada um com um ID único e cláusula EARS estrita. - Uma matriz de rastreabilidade regenerada que vincula três testes pré-existentes a dois dos novos requisitos e sinaliza os dez restantes como gaps.
- Um pull request com comentários do Copilot Code Review sobre forma da cláusula e consistência de ID.
Exemplo 2: fechamento de gap antes do release
Entrada: Um release candidate com 146 requisitos merged. O relatório matinal do /gap-scan sinaliza seis requisitos sem testes passando e dois testes sem requisitos.
Invocação: /gap-scan seguido de /requirement-review.
Saída esperada:
- Seis tarefas no GitHub Projects criadas via o GitHub MCP, cada uma vinculada à âncora do requisito e atribuída ao QA Engineer.
- Dois arquivos de requisito escritos para vincular os testes órfãos a IDs de requisito.
- Uma sessão de review registrada em
docs/reviews/2026-q3-release-readiness.mdcom decisões taggeadas por ID de requisito. - Uma atualização no relatório de prontidão que reabre o gate de release até que todos os oito itens fechem.
Anti-padrões
- Requisitos compostos. Cláusulas que juntam duas ou mais condições não podem ser testadas atomicamente. Mitigação: o agente
/earse o hook depre-commitrejeitam cláusulas não-atômicas. - Rastreabilidade manual. Planilhas não podem ser confiáveis na borda de uma sprint. Mitigação: a matriz se regenera no
post-commit. - Colisões silenciosas de ID. IDs reutilizados quebram trilhas de auditoria. Mitigação: o hook de
pre-commitrejeita duplicatas em toda a árvoredocs/requirements/. - Reviews sem registros. Clarificações verbais evaporam. Mitigação:
/requirement-reviewenforça uma decisão registrada para cada item de pauta. - Gaps renunciados verbalmente. Um gap renunciado sem ADR ou issue de follow-up re-emerge no release. Mitigação:
pre-mergebloqueia o caminho de renúncia.
KPIs e métricas de impacto
| KPI | Linha base | Meta | Medição |
|---|---|---|---|
| Requisitos em EARS atômico | 30 por cento | 100 por cento | Linter de requisitos no GitHub Actions |
| Frescor da rastreabilidade, última regeneração | 7 dias | < 1 hora | Timestamp do hook de post-commit |
| Contagem de gap no gate de release | 14 | 0 | Relatório de prontidão |
| Tempo de ciclo de review de requisitos | 2 semanas | < 1 semana | Timestamps de PR |
| Taxa de teste órfão | 12 por cento | < 2 por cento | Saída do gap scan |
| Tempo de resposta de consulta de auditoria | 1 dia | < 1 hora | Log de consultas da matriz de rastreabilidade |
Maturidade em quatro níveis
| Nível | Nome | Marcadores |
|---|---|---|
| L1 | Manual | Specs em prosa, decomposição ad-hoc, rastreabilidade construída à mão |
| L2 | Assistido | Copilot usado para polir o fraseamento do requisito, sem disciplina atômica |
| L3 | Aumentado | Agente EARS Encoder, quatro slash prompts, instruções escopadas, matriz auto-gerada, gap scans em PR |
| L4 | Autônomo | Kit completo de primitivas, hooks enforçados, relatório de prontidão ao vivo, reviews registradas automaticamente, resposta de auditoria em até uma hora |
Integração com outras personas
- Do Product Owner:
SPECIFICATION.mdaprovado com requisitos EARS numerados como input canônico - Do Business Manager: outcomes atados a KPIs que informam priorização de gaps
- Para o Software Architect: IDs de requisito estáveis que ancoram o
CODEMAP.mde contratos de API - Para o QA Engineer: requisitos atômicos que guiam geração de casos de teste e relatórios de cobertura
- Para o Developer: âncora de requisito em todo PR habilitando rastreabilidade de implementação
- Para o Compliance Auditor: matriz regenerada como evidência de auditoria sob demanda
- Para o Release Manager: relatório de prontidão gatekeeping do corte de release
Glossário
- EARS: Easy Approach to Requirements Syntax. A forma canônica
WHEN ... THE system SHALL .... - Requisito atômico: uma única cláusula testável com ID único, sem conjunções que introduzam condições independentes.
- Matriz de rastreabilidade: tabela gerada vinculando cada requisito a critérios de aceitação, testes, pull requests e deploys.
- Gap scan: varredura automatizada que detecta requisitos sem testes, testes sem requisitos e deploys sem nenhum dos dois.
- Relatório de prontidão: documento gerado que resume o status do gate de release contra gaps abertos de requisito.
- Review de requisitos: sessão estruturada e registrada que aprova ou adia mudanças de requisito com participantes nomeados.
Referências
- Documentação do GitHub Copilot — modo agent, prompts e instruções
- Documentação do Azure Boards — rastreio de work items para tarefas vinculadas a requisitos
- Documentação do GitHub Actions — automação para regeneração de rastreabilidade e gap scans
- Documentação do Application Insights — telemetria de artefato implantado para verificação de requisito
- Microsoft Learn, Well-Architected Framework — orientação sobre excelência operacional e evidência de auditoria