Paula Silva Software Global Black Belt
LinkedIn
03 product · Discovery

Requirements EngineerEngenheiro de RequisitosIngeniero de Requisitos

Encodes requirements in EARS.Codifica requisitos em EARS.Codifica requisitos en EARS.


The Requirements Engineer is the persona that encodes, decomposes, and traces requirements with discipline. In an AI-native SDLC, the Requirements Engineer operates a stack of validated primitives that convert draft intent into auditable EARS clauses.

Executive summary

The Requirements Engineer decomposes approved specifications into atomic, testable EARS requirements and maintains the traceability matrix from requirement to test to deployed artifact. In an AI-native SDLC the Requirements Engineer operates inside the Discovery phase with a fixed set of primitives: one EARS encoding agent, four slash prompts, scoped instructions, schema-validated hooks, and a curated list of validated MCPs. Primary outputs are atomic requirement files, gap analyses, traceability reports, and requirement review records.

Role and responsibilities

Think of the Requirements Engineer like a legal codifier who turns a legislator’s intent into numbered statutes that courts can apply without interpretation. The legislator proposes, the codifier transforms, and every future judgment cites a clause by number. In an AI-native SDLC the Product Owner proposes in SPECIFICATION.md, the Requirements Engineer codifies in atomic EARS form, and every test, commit, and release note cites a requirement ID.

Primary responsibilities:

  • Decompose every approved spec into atomic EARS requirements under docs/requirements/
  • Maintain the traceability matrix that links each requirement to its acceptance criteria, tests, pull requests, and deployed artifacts
  • Run gap scans to detect requirements without tests, tests without requirements, and deployments without either
  • Run requirement reviews with the Product Owner, Software Architect, and QA Engineer at defined gates
  • Operate the EARS Encoder agent and the /ears, /traceability, /gap-scan, /requirement-review prompts
  • Govern the requirement change log, ensuring every change references an approved spec diff
  • Publish the readiness report that releases depend on

Jobs to be done

  1. As a Requirements Engineer, I want to decompose an approved spec into atomic requirements within hours, so that development is never blocked on clarification.
  2. As a Requirements Engineer, I want every requirement in strict EARS form, so that agents and humans parse it identically.
  3. As a Requirements Engineer, I want the traceability matrix to regenerate on every merge, so that audit answers are always current.
  4. As a Requirements Engineer, I want gap scans to run on every pull request, so that tests and requirements never diverge silently.
  5. As a Requirements Engineer, I want requirement reviews to be structured and recorded, so that decisions persist beyond the meeting.
  6. As a Requirements Engineer, I want the readiness report to refuse release if any gap is unresolved, so that scope discipline is enforced at the gate.

Pain points before AI-native

  1. Specs too coarse to test. High-level specs cannot be bound to test cases. Developers improvise decomposition inconsistently.
  2. Traceability built once and abandoned. Matrix spreadsheets go stale within a sprint. Audit preparation becomes a rebuild.
  3. Gaps discovered at release. Missing tests and orphan features surface at the release gate, forcing schedule slips.
  4. Reviews without records. Clarifications happen verbally. Next sprint, the same question is asked again.
  5. Requirement churn untracked. Changes are made in place without a diff history. Regressions in scope are invisible.

AI-native daily workflow

The Requirements Engineer operates a fixed loop each day. The loop uses GitHub Copilot primitives inside Visual Studio Code and Claude Code at the terminal, plus a small catalog of validated MCPs for external context.

Morning setup

  1. Open the repository in Visual Studio Code. GitHub Copilot Chat loads AGENTS.md and the scoped requirement instructions.
  2. Pull the latest main and review overnight spec changes by the Product Owner.
  3. Run /gap-scan to produce the current gap report: requirements without tests, tests without requirements, deployments without either.
  4. Review the traceability dashboard generated from the Azure MCP Server and GitHub MCP telemetry.

Midday execution

  1. Decomposition. Invoke /ears on each new spec section. The EARS Encoder agent produces atomic requirements with unique IDs, each in strict WHEN ... THE system SHALL ... form.
  2. Traceability. Invoke /traceability to bind each new requirement to existing tests, pull requests, and deployment records. The agent updates the matrix and flags orphans.
  3. Gap closure. For each gap flagged in the morning scan, either author the missing requirement, raise a test task for QA Engineer, or file an ADR if architectural change is required.
  4. Cross-persona sync. Use the Microsoft 365 Agents SDK MCP to raise clarification requests in the Teams channel when spec intent is ambiguous.

Afternoon review

  1. Invoke /requirement-review to run the structured review session with the Product Owner, Software Architect, and QA Engineer. The agent prepares the agenda from the day’s diffs and records decisions against requirement IDs.
  2. Open a pull request on the requirement files. GitHub Copilot Code Review comments on EARS compliance; human reviewers approve content.
  3. Update the readiness report. A post-merge hook regenerates the report with gap counts and blocker lists.
  4. Publish the daily requirement digest to the product Teams channel via the Microsoft 365 Agents SDK.

Agent

AgentFilePurpose
ears-encoder.github/agents/ears-encoder.agent.mdDecompose specs into atomic EARS requirements, maintain traceability, run gap scans

The EARS Encoder uses claude-sonnet-4-6 by default. Tools: read, edit, search, grep, glob. No bash access. Extended thinking is enabled for /gap-scan only, where cross-document correlation benefits from deep reasoning.

Slash prompts

CommandFilePurpose
/ears.github/prompts/ears.prompt.mdDecompose a spec section into atomic EARS requirements
/traceability.github/prompts/traceability.prompt.mdBind requirements to tests, PRs, and deployments, regenerate the matrix
/gap-scan.github/prompts/gap-scan.prompt.mdDetect requirements without tests, tests without requirements, orphan deployments
/requirement-review.github/prompts/requirement-review.prompt.mdPrepare and record the structured review session

Instructions scoped

Scoped applyTo reduces token cost by approximately 68 percent compared to global instructions.

Scope (applyTo)FilePurpose
docs/requirements/**/*.md.github/instructions/requirements.instructions.mdAtomic EARS format, ID schema, cross-reference rules
docs/traceability/**/*.md.github/instructions/traceability.instructions.mdMatrix schema, regeneration rules, audit evidence format
docs/reviews/**/*.md.github/instructions/reviews.instructions.mdReview agenda template, decision record format

Hooks

Hooks cost zero LLM tokens. They are the strongest governance layer for requirements.

  • pre-commit: reject any requirement file with non-atomic or non-EARS clauses, or with duplicate IDs
  • post-commit: regenerate the traceability matrix and the readiness report
  • pre-merge: block merge of any requirement change that introduces a new gap without a linked follow-up issue

Validated MCPs

MCPPurposeOwner
GitHub MCP ServerRead pull requests, tests, and Actions runs to populate the traceability matrixGitHub (official)
Azure DevOps MCP ServerRead Azure Boards work items and test plans when the team uses Azure DevOpsMicrosoft (official)
Azure MCP ServerQuery Application Insights to confirm deployed artifacts match requirement IDsMicrosoft (official)
Microsoft Learn Docs MCPGround requirements on Microsoft product surfaces in current documentationMicrosoft (official)
Microsoft 365 Agents SDK MCPRaise clarification threads in Teams and record decisions from OutlookMicrosoft (official)

Real examples

Example 1: decompose an approved spec section

Input: A spec section on contract renewal covering initiation, eligibility, and notification, approved by the Product Owner.

Invocation: /ears followed by /traceability.

Expected output:

  1. A docs/requirements/contract-renewal/ directory with twelve atomic requirement files, each with a unique ID and strict EARS clause.
  2. A regenerated traceability matrix that binds three pre-existing tests to two of the new requirements and flags the remaining ten as gaps.
  3. A pull request with Copilot Code Review comments on clause shape and ID consistency.

Example 2: gap closure before release

Input: A release candidate with 146 merged requirements. The morning /gap-scan report flags six requirements without passing tests and two tests without requirements.

Invocation: /gap-scan followed by /requirement-review.

Expected output:

  1. Six tasks in GitHub Projects created via the GitHub MCP, each linked to the requirement anchor and assigned to QA Engineer.
  2. Two requirement files authored to bind the orphan tests to requirement IDs.
  3. A recorded review session in docs/reviews/2026-q3-release-readiness.md with decisions tagged by requirement ID.
  4. A readiness report update that reopens the release gate until all eight items close.

Anti-patterns

  1. Compound requirements. Clauses that bundle two or more conditions cannot be tested atomically. Mitigation: the /ears agent and the pre-commit hook reject non-atomic clauses.
  2. Manual traceability. Spreadsheets cannot be trusted on a sprint boundary. Mitigation: the matrix regenerates on post-commit.
  3. Silent ID collisions. Reused IDs break audit trails. Mitigation: the pre-commit hook rejects duplicates across the docs/requirements/ tree.
  4. Reviews without records. Verbal clarifications evaporate. Mitigation: /requirement-review enforces a recorded decision for every agenda item.
  5. Gaps waived verbally. A waived gap without an ADR or follow-up issue re-emerges at release. Mitigation: pre-merge blocks the waiver path.

KPIs and impact metrics

KPIBaselineTargetMeasurement
Requirements in atomic EARS30 percent100 percentRequirements linter in GitHub Actions
Traceability freshness, last regeneration7 days< 1 hourPost-commit hook timestamp
Gap count at release gate140Readiness report
Requirement review cycle time2 weeks< 1 weekPR timestamps
Orphan test rate12 percent< 2 percentGap scan output
Audit query response time1 day< 1 hourTraceability matrix query log

Maturity in four levels

LevelNameMarkers
L1ManualProse specs, ad-hoc decomposition, traceability built by hand
L2AssistedCopilot used to polish requirement phrasing, no atomic discipline
L3AugmentedEARS Encoder agent, four slash prompts, scoped instructions, matrix auto-generated, gap scans on PR
L4AutonomousFull primitives kit, hooks enforced, readiness report live, reviews recorded automatically, audit response within the hour

Integration with other personas

  • From Product Owner: approved SPECIFICATION.md with numbered EARS requirements as the canonical input
  • From Business Manager: KPI-bound outcomes that inform gap prioritization
  • To Software Architect: stable requirement IDs that anchor CODEMAP.md and API contracts
  • To QA Engineer: atomic requirements that drive test case generation and coverage reports
  • To Developer: requirement anchor on every PR enabling implementation traceability
  • To Compliance Auditor: regenerated matrix as audit evidence on demand
  • To Release Manager: readiness report gating the release cut

Glossary

  • EARS: Easy Approach to Requirements Syntax. The canonical WHEN ... THE system SHALL ... form.
  • Atomic requirement: a single testable clause with a unique ID, no conjunctions that introduce independent conditions.
  • Traceability matrix: generated table binding each requirement to acceptance criteria, tests, pull requests, and deployments.
  • Gap scan: automated sweep that detects requirements without tests, tests without requirements, and deployments without either.
  • Readiness report: generated document summarizing release gate status against open requirement gaps.
  • Requirement review: structured, recorded session that approves or defers requirement changes with named participants.

References

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

  1. 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.
  2. Como Requirements Engineer, eu quero todo requisito em forma EARS estrita, para que agentes e humanos o parseiem de modo idêntico.
  3. Como Requirements Engineer, eu quero que a matriz de rastreabilidade se regenere a cada merge, para que as respostas de auditoria estejam sempre atuais.
  4. Como Requirements Engineer, eu quero gap scans rodando em todo pull request, para que testes e requisitos nunca divirjam silenciosamente.
  5. Como Requirements Engineer, eu quero que reviews de requisitos sejam estruturadas e registradas, para que decisões persistam para além da reunião.
  6. 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

  1. 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.
  2. 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.
  3. Gaps descobertos no release. Testes ausentes e features órfãs aparecem no gate de release, forçando atrasos no cronograma.
  4. Reviews sem registros. Clarificações acontecem verbalmente. Na próxima sprint, a mesma pergunta é feita de novo.
  5. 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ã

  1. Abra o repositório no Visual Studio Code. GitHub Copilot Chat carrega o AGENTS.md e as instruções escopadas de requisitos.
  2. Puxe o último main e revise mudanças noturnas de spec feitas pelo Product Owner.
  3. Rode /gap-scan para produzir o relatório de gap atual: requisitos sem testes, testes sem requisitos, deploys sem nenhum dos dois.
  4. Revise o dashboard de rastreabilidade gerado a partir da telemetria do Azure MCP Server e do GitHub MCP.

Execução no meio do dia

  1. Decomposição. Invoque /ears em cada nova seção da spec. O agente EARS Encoder produz requisitos atômicos com IDs únicos, cada um em forma WHEN ... THE system SHALL ... estrita.
  2. Rastreabilidade. Invoque /traceability para vincular cada novo requisito a testes, pull requests e registros de deploy existentes. O agente atualiza a matriz e sinaliza órfãos.
  3. 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.
  4. 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

  1. Invoque /requirement-review para 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.
  2. Abra um pull request nos arquivos de requisito. GitHub Copilot Code Review comenta em conformidade EARS; revisores humanos aprovam o conteúdo.
  3. Atualize o relatório de prontidão. Um hook de post-merge regenera o relatório com contagens de gap e listas de bloqueadores.
  4. Publique o digest diário de requisitos no canal do Teams do produto via Microsoft 365 Agents SDK.

Primitivas recomendadas

Agente

AgenteArquivoPropósito
ears-encoder.github/agents/ears-encoder.agent.mdDecompor 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

ComandoArquivoPropósito
/ears.github/prompts/ears.prompt.mdDecompor uma seção da spec em requisitos EARS atômicos
/traceability.github/prompts/traceability.prompt.mdVincular requisitos a testes, PRs e deploys, regenerar a matriz
/gap-scan.github/prompts/gap-scan.prompt.mdDetectar requisitos sem testes, testes sem requisitos, deploys órfãos
/requirement-review.github/prompts/requirement-review.prompt.mdPreparar 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)ArquivoPropósito
docs/requirements/**/*.md.github/instructions/requirements.instructions.mdFormato EARS atômico, schema de ID, regras de cross-reference
docs/traceability/**/*.md.github/instructions/traceability.instructions.mdSchema da matriz, regras de regeneração, formato de evidência de auditoria
docs/reviews/**/*.md.github/instructions/reviews.instructions.mdTemplate 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 duplicados
  • post-commit: regenerar a matriz de rastreabilidade e o relatório de prontidão
  • pre-merge: bloquear o merge de qualquer mudança de requisito que introduza um novo gap sem uma issue de follow-up vinculada

MCPs validados

MCPPropósitoDono
GitHub MCP ServerLer pull requests, testes e runs do Actions para popular a matriz de rastreabilidadeGitHub (oficial)
Azure DevOps MCP ServerLer work items do Azure Boards e planos de teste quando o time usa Azure DevOpsMicrosoft (oficial)
Azure MCP ServerConsultar Application Insights para confirmar que artefatos implantados correspondem a IDs de requisitoMicrosoft (oficial)
Microsoft Learn Docs MCPAncorar requisitos em superfícies de produto Microsoft em documentação atualMicrosoft (oficial)
Microsoft 365 Agents SDK MCPLevantar threads de clarificação no Teams e registrar decisões do OutlookMicrosoft (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:

  1. 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.
  2. Uma matriz de rastreabilidade regenerada que vincula três testes pré-existentes a dois dos novos requisitos e sinaliza os dez restantes como gaps.
  3. 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:

  1. Seis tarefas no GitHub Projects criadas via o GitHub MCP, cada uma vinculada à âncora do requisito e atribuída ao QA Engineer.
  2. Dois arquivos de requisito escritos para vincular os testes órfãos a IDs de requisito.
  3. Uma sessão de review registrada em docs/reviews/2026-q3-release-readiness.md com decisões taggeadas por ID de requisito.
  4. 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

  1. Requisitos compostos. Cláusulas que juntam duas ou mais condições não podem ser testadas atomicamente. Mitigação: o agente /ears e o hook de pre-commit rejeitam cláusulas não-atômicas.
  2. Rastreabilidade manual. Planilhas não podem ser confiáveis na borda de uma sprint. Mitigação: a matriz se regenera no post-commit.
  3. Colisões silenciosas de ID. IDs reutilizados quebram trilhas de auditoria. Mitigação: o hook de pre-commit rejeita duplicatas em toda a árvore docs/requirements/.
  4. Reviews sem registros. Clarificações verbais evaporam. Mitigação: /requirement-review enforça uma decisão registrada para cada item de pauta.
  5. Gaps renunciados verbalmente. Um gap renunciado sem ADR ou issue de follow-up re-emerge no release. Mitigação: pre-merge bloqueia o caminho de renúncia.

KPIs e métricas de impacto

KPILinha baseMetaMedição
Requisitos em EARS atômico30 por cento100 por centoLinter de requisitos no GitHub Actions
Frescor da rastreabilidade, última regeneração7 dias< 1 horaTimestamp do hook de post-commit
Contagem de gap no gate de release140Relatório de prontidão
Tempo de ciclo de review de requisitos2 semanas< 1 semanaTimestamps de PR
Taxa de teste órfão12 por cento< 2 por centoSaída do gap scan
Tempo de resposta de consulta de auditoria1 dia< 1 horaLog de consultas da matriz de rastreabilidade

Maturidade em quatro níveis

NívelNomeMarcadores
L1ManualSpecs em prosa, decomposição ad-hoc, rastreabilidade construída à mão
L2AssistidoCopilot usado para polir o fraseamento do requisito, sem disciplina atômica
L3AumentadoAgente EARS Encoder, quatro slash prompts, instruções escopadas, matriz auto-gerada, gap scans em PR
L4AutônomoKit 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.md aprovado 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.md e 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

El Requirements Engineer es la persona que codifica, descompone y traza requisitos con disciplina. En un SDLC AI-native, el Requirements Engineer opera un stack de primitivas validadas que convierten la intención en borrador en cláusulas EARS auditables.

Resumen ejecutivo

El Requirements Engineer descompone las especificaciones aprobadas en requisitos EARS atómicos y testables, y mantiene la matriz de trazabilidad desde el requisito hasta la prueba y el artefacto desplegado. En un SDLC AI-native, el Requirements Engineer opera dentro de la fase de Discovery con un conjunto fijo de primitivas: un agente de codificación EARS, cuatro slash prompts, instrucciones con alcance, hooks validados por esquema y una lista curada de MCPs validados. Las salidas principales son archivos atómicos de requisitos, análisis de brechas, reportes de trazabilidad y registros de revisión de requisitos.

Rol y responsabilidades

Piensa en el Requirements Engineer como un codificador legal que convierte la intención de un legislador en estatutos numerados que los tribunales pueden aplicar sin interpretación. El legislador propone, el codificador transforma y cada juicio futuro cita una cláusula por número. En un SDLC AI-native, el Product Owner propone en SPECIFICATION.md, el Requirements Engineer codifica en forma EARS atómica, y cada prueba, commit y release note cita un ID de requisito.

Responsabilidades principales:

  • Descomponer cada spec aprobado en requisitos EARS atómicos bajo docs/requirements/
  • Mantener la matriz de trazabilidad que enlaza cada requisito con sus criterios de aceptación, pruebas, pull requests y artefactos desplegados
  • Correr gap scans para detectar requisitos sin pruebas, pruebas sin requisitos y despliegues sin ninguno de los dos
  • Correr revisiones de requisitos con el Product Owner, el Software Architect y el QA Engineer en compuertas definidas
  • Operar el agente EARS Encoder y los prompts /ears, /traceability, /gap-scan, /requirement-review
  • Gobernar el log de cambios de requisitos, asegurando que cada cambio referencie un diff de spec aprobado
  • Publicar el reporte de readiness del que dependen los releases

Jobs to be done

  1. Como Requirements Engineer, quiero descomponer un spec aprobado en requisitos atómicos en horas, para que el desarrollo nunca se bloquee esperando aclaraciones.
  2. Como Requirements Engineer, quiero cada requisito en forma EARS estricta, para que agentes y humanos lo parseen de forma idéntica.
  3. Como Requirements Engineer, quiero que la matriz de trazabilidad se regenere en cada merge, para que las respuestas de auditoría siempre estén actualizadas.
  4. Como Requirements Engineer, quiero que los gap scans corran en cada pull request, para que pruebas y requisitos nunca diverjan en silencio.
  5. Como Requirements Engineer, quiero que las revisiones de requisitos sean estructuradas y registradas, para que las decisiones persistan más allá de la reunión.
  6. Como Requirements Engineer, quiero que el reporte de readiness rechace el release si alguna brecha está sin resolver, para que la disciplina de alcance se imponga en la compuerta.

Puntos de dolor antes de la era AI-native

  1. Specs demasiado gruesos para probar. Los specs de alto nivel no se pueden amarrar a casos de prueba. Los developers improvisan la descomposición de forma inconsistente.
  2. Trazabilidad construida una vez y abandonada. Las hojas de cálculo de matriz quedan obsoletas dentro de un sprint. La preparación de auditoría se vuelve una reconstrucción.
  3. Brechas descubiertas en el release. Las pruebas faltantes y las features huérfanas afloran en la compuerta de release, forzando retrasos en el cronograma.
  4. Revisiones sin registros. Las aclaraciones ocurren verbalmente. El siguiente sprint, se pregunta lo mismo de nuevo.
  5. Churn de requisitos no rastreado. Los cambios se hacen en sitio sin un historial de diff. Las regresiones de alcance son invisibles.

Flujo diario AI-native

El Requirements Engineer opera un loop fijo cada día. El loop usa primitivas de GitHub Copilot dentro de Visual Studio Code y Claude Code en la terminal, además de un pequeño catálogo de MCPs validados para contexto externo.

Setup de la mañana

  1. Abrir el repositorio en Visual Studio Code. GitHub Copilot Chat carga AGENTS.md y las instrucciones de requisitos con alcance.
  2. Hacer pull del último main y revisar los cambios nocturnos al spec por parte del Product Owner.
  3. Ejecutar /gap-scan para producir el reporte de brechas actual: requisitos sin pruebas, pruebas sin requisitos, despliegues sin ninguno.
  4. Revisar el dashboard de trazabilidad generado a partir de la telemetría del Azure MCP Server y el GitHub MCP.

Ejecución al mediodía

  1. Descomposición. Invocar /ears sobre cada nueva sección del spec. El agente EARS Encoder produce requisitos atómicos con IDs únicos, cada uno en forma estricta WHEN ... THE system SHALL ....
  2. Trazabilidad. Invocar /traceability para amarrar cada nuevo requisito con pruebas existentes, pull requests y registros de despliegue. El agente actualiza la matriz y marca los huérfanos.
  3. Cierre de brechas. Para cada brecha marcada en el escaneo de la mañana, ya sea redactar el requisito faltante, levantar una tarea de prueba para el QA Engineer o presentar un ADR si se requiere un cambio arquitectónico.
  4. Sincronización entre personas. Usar el MCP del Microsoft 365 Agents SDK para levantar solicitudes de aclaración en el canal de Teams cuando la intención del spec sea ambigua.

Revisión al final de la tarde

  1. Invocar /requirement-review para correr la sesión de revisión estructurada con el Product Owner, el Software Architect y el QA Engineer. El agente prepara la agenda a partir de los diffs del día y registra decisiones contra los IDs de requisito.
  2. Abrir un pull request sobre los archivos de requisitos. GitHub Copilot Code Review comenta sobre el cumplimiento de EARS; los reviewers humanos aprueban el contenido.
  3. Actualizar el reporte de readiness. Un hook post-merge regenera el reporte con conteos de brechas y listas de bloqueadores.
  4. Publicar el digest diario de requisitos al canal de producto en Teams a través del Microsoft 365 Agents SDK.

Primitivas recomendadas

Agente

AgenteArchivoPropósito
ears-encoder.github/agents/ears-encoder.agent.mdDescomponer specs en requisitos EARS atómicos, mantener trazabilidad, correr gap scans

El EARS Encoder usa claude-sonnet-4-6 por defecto. Herramientas: read, edit, search, grep, glob. Sin acceso a bash. El extended thinking se habilita solo para /gap-scan, donde la correlación entre documentos se beneficia de un razonamiento profundo.

Slash prompts

ComandoArchivoPropósito
/ears.github/prompts/ears.prompt.mdDescomponer una sección del spec en requisitos EARS atómicos
/traceability.github/prompts/traceability.prompt.mdAmarrar requisitos a pruebas, PRs y despliegues, regenerar la matriz
/gap-scan.github/prompts/gap-scan.prompt.mdDetectar requisitos sin pruebas, pruebas sin requisitos, despliegues huérfanos
/requirement-review.github/prompts/requirement-review.prompt.mdPreparar y registrar la sesión de revisión estructurada

Instrucciones con alcance

El applyTo con alcance reduce el costo en tokens en aproximadamente 68 por ciento comparado con instrucciones globales.

Alcance (applyTo)ArchivoPropósito
docs/requirements/**/*.md.github/instructions/requirements.instructions.mdFormato EARS atómico, esquema de IDs, reglas de referencias cruzadas
docs/traceability/**/*.md.github/instructions/traceability.instructions.mdEsquema de matriz, reglas de regeneración, formato de evidencia para auditoría
docs/reviews/**/*.md.github/instructions/reviews.instructions.mdPlantilla de agenda de revisión, formato de registro de decisión

Hooks

Los hooks cuestan cero tokens de LLM. Son la capa de gobierno más fuerte para los requisitos.

  • pre-commit: rechazar cualquier archivo de requisito con cláusulas no atómicas o no EARS, o con IDs duplicados
  • post-commit: regenerar la matriz de trazabilidad y el reporte de readiness
  • pre-merge: bloquear el merge de cualquier cambio de requisitos que introduzca una nueva brecha sin un issue de seguimiento enlazado

MCPs validados

MCPPropósitoDueño
GitHub MCP ServerLeer pull requests, pruebas y corridas de Actions para poblar la matriz de trazabilidadGitHub (oficial)
Azure DevOps MCP ServerLeer work items y planes de prueba en Azure Boards cuando el equipo usa Azure DevOpsMicrosoft (oficial)
Azure MCP ServerConsultar Application Insights para confirmar que los artefactos desplegados coincidan con los IDs de requisitoMicrosoft (oficial)
Microsoft Learn Docs MCPAnclar requisitos sobre superficies de productos Microsoft en documentación vigenteMicrosoft (oficial)
Microsoft 365 Agents SDK MCPLevantar hilos de aclaración en Teams y registrar decisiones desde OutlookMicrosoft (oficial)

Ejemplos reales

Ejemplo 1: descomponer una sección de spec aprobada

Entrada: Una sección de spec sobre renovación de contrato que cubre iniciación, elegibilidad y notificación, aprobada por el Product Owner.

Invocación: /ears seguido de /traceability.

Salida esperada:

  1. Un directorio docs/requirements/contract-renewal/ con doce archivos de requisitos atómicos, cada uno con un ID único y una cláusula EARS estricta.
  2. Una matriz de trazabilidad regenerada que amarra tres pruebas preexistentes a dos de los nuevos requisitos y marca los diez restantes como brechas.
  3. Un pull request con comentarios de Copilot Code Review sobre la forma de las cláusulas y la consistencia de los IDs.

Ejemplo 2: cierre de brechas antes del release

Entrada: Un release candidate con 146 requisitos fusionados. El reporte matutino de /gap-scan marca seis requisitos sin pruebas pasando y dos pruebas sin requisitos.

Invocación: /gap-scan seguido de /requirement-review.

Salida esperada:

  1. Seis tareas en GitHub Projects creadas vía el MCP de GitHub, cada una enlazada al ancla del requisito y asignadas al QA Engineer.
  2. Dos archivos de requisitos redactados para amarrar las pruebas huérfanas a IDs de requisito.
  3. Una sesión de revisión registrada en docs/reviews/2026-q3-release-readiness.md con decisiones etiquetadas por ID de requisito.
  4. Una actualización del reporte de readiness que reabre la compuerta de release hasta que cierren los ocho ítems.

Anti-patrones

  1. Requisitos compuestos. Las cláusulas que agrupan dos o más condiciones no se pueden probar atómicamente. Mitigación: el agente /ears y el hook pre-commit rechazan cláusulas no atómicas.
  2. Trazabilidad manual. Las hojas de cálculo no son confiables al cierre del sprint. Mitigación: la matriz se regenera en post-commit.
  3. Colisiones silenciosas de IDs. Los IDs reutilizados rompen los rastros de auditoría. Mitigación: el hook pre-commit rechaza duplicados a través del árbol docs/requirements/.
  4. Revisiones sin registros. Las aclaraciones verbales se evaporan. Mitigación: /requirement-review exige una decisión registrada para cada ítem de la agenda.
  5. Brechas dispensadas verbalmente. Una brecha dispensada sin un ADR o issue de seguimiento reaparece en el release. Mitigación: pre-merge bloquea la ruta de dispensa.

KPIs y métricas de impacto

KPILínea baseMetaMedición
Requisitos en EARS atómico30 por ciento100 por cientoLinter de requisitos en GitHub Actions
Frescura de la trazabilidad, última regeneración7 días< 1 horaTimestamp del hook post-commit
Conteo de brechas en la compuerta de release140Reporte de readiness
Tiempo de ciclo de revisión de requisitos2 semanas< 1 semanaTimestamps de PR
Tasa de pruebas huérfanas12 por ciento< 2 por cientoSalida del gap scan
Tiempo de respuesta a consulta de auditoría1 día< 1 horaLog de consultas a la matriz de trazabilidad

Madurez en cuatro niveles

NivelNombreMarcadores
L1ManualSpecs en prosa, descomposición ad-hoc, trazabilidad construida a mano
L2AsistidoCopilot usado para pulir el fraseo de requisitos, sin disciplina atómica
L3AumentadoAgente EARS Encoder, cuatro slash prompts, instrucciones con alcance, matriz auto-generada, gap scans en PR
L4AutónomoKit completo de primitivas, hooks forzados, reporte de readiness en vivo, revisiones registradas automáticamente, respuesta de auditoría dentro de la hora

Integración con otras personas

  • Desde Product Owner: SPECIFICATION.md aprobado con requisitos EARS numerados como entrada canónica
  • Desde Business Manager: resultados ligados a KPI que informan la priorización de brechas
  • Hacia Software Architect: IDs de requisito estables que anclan CODEMAP.md y los contratos de API
  • Hacia QA Engineer: requisitos atómicos que dirigen la generación de casos de prueba y reportes de cobertura
  • Hacia Developer: ancla del requisito en cada PR habilitando la trazabilidad de implementación
  • Hacia Compliance Auditor: matriz regenerada como evidencia de auditoría a demanda
  • Hacia Release Manager: reporte de readiness que controla el corte de release

Glosario

  • EARS: Easy Approach to Requirements Syntax. La forma canónica WHEN ... THE system SHALL ....
  • Requisito atómico: una cláusula testable única con un ID único, sin conjunciones que introduzcan condiciones independientes.
  • Matriz de trazabilidad: tabla generada que amarra cada requisito a criterios de aceptación, pruebas, pull requests y despliegues.
  • Gap scan: barrida automatizada que detecta requisitos sin pruebas, pruebas sin requisitos y despliegues sin ninguno.
  • Reporte de readiness: documento generado que resume el estado de la compuerta de release contra brechas de requisitos abiertas.
  • Revisión de requisitos: sesión estructurada y registrada que aprueba o difiere cambios de requisitos con participantes nombrados.

Referencias

Paula Silva | Software Global Black Belt

Start with the platform, not the agents. Comece pela plataforma, não pelos agentes. Comience por la plataforma, no por los agentes.

Building the future of software development with AI and Agentic DevOps.

Knowledge Hub · v3.4.0 · 2026-06-17
paulasilva · 2026-06-17 EN · PT-BR · ES