Requirements Engineer
Codifica requisitos en EARS.
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
- Como Requirements Engineer, quiero descomponer un spec aprobado en requisitos atómicos en horas, para que el desarrollo nunca se bloquee esperando aclaraciones.
- Como Requirements Engineer, quiero cada requisito en forma EARS estricta, para que agentes y humanos lo parseen de forma idéntica.
- 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.
- Como Requirements Engineer, quiero que los gap scans corran en cada pull request, para que pruebas y requisitos nunca diverjan en silencio.
- 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.
- 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
- 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.
- 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.
- Brechas descubiertas en el release. Las pruebas faltantes y las features huérfanas afloran en la compuerta de release, forzando retrasos en el cronograma.
- Revisiones sin registros. Las aclaraciones ocurren verbalmente. El siguiente sprint, se pregunta lo mismo de nuevo.
- 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
- Abrir el repositorio en Visual Studio Code. GitHub Copilot Chat carga
AGENTS.mdy las instrucciones de requisitos con alcance. - Hacer pull del último
mainy revisar los cambios nocturnos al spec por parte del Product Owner. - Ejecutar
/gap-scanpara producir el reporte de brechas actual: requisitos sin pruebas, pruebas sin requisitos, despliegues sin ninguno. - 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
- Descomposición. Invocar
/earssobre cada nueva sección del spec. El agente EARS Encoder produce requisitos atómicos con IDs únicos, cada uno en forma estrictaWHEN ... THE system SHALL .... - Trazabilidad. Invocar
/traceabilitypara amarrar cada nuevo requisito con pruebas existentes, pull requests y registros de despliegue. El agente actualiza la matriz y marca los huérfanos. - 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.
- 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
- Invocar
/requirement-reviewpara 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. - 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.
- Actualizar el reporte de readiness. Un hook post-merge regenera el reporte con conteos de brechas y listas de bloqueadores.
- Publicar el digest diario de requisitos al canal de producto en Teams a través del Microsoft 365 Agents SDK.
Primitivas recomendadas
Agente
| Agente | Archivo | Propósito |
|---|---|---|
ears-encoder | .github/agents/ears-encoder.agent.md | Descomponer 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
| Comando | Archivo | Propósito |
|---|---|---|
/ears | .github/prompts/ears.prompt.md | Descomponer una sección del spec en requisitos EARS atómicos |
/traceability | .github/prompts/traceability.prompt.md | Amarrar requisitos a pruebas, PRs y despliegues, regenerar la matriz |
/gap-scan | .github/prompts/gap-scan.prompt.md | Detectar requisitos sin pruebas, pruebas sin requisitos, despliegues huérfanos |
/requirement-review | .github/prompts/requirement-review.prompt.md | Preparar 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) | Archivo | Propósito |
|---|---|---|
docs/requirements/**/*.md | .github/instructions/requirements.instructions.md | Formato EARS atómico, esquema de IDs, reglas de referencias cruzadas |
docs/traceability/**/*.md | .github/instructions/traceability.instructions.md | Esquema de matriz, reglas de regeneración, formato de evidencia para auditoría |
docs/reviews/**/*.md | .github/instructions/reviews.instructions.md | Plantilla 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 duplicadospost-commit: regenerar la matriz de trazabilidad y el reporte de readinesspre-merge: bloquear el merge de cualquier cambio de requisitos que introduzca una nueva brecha sin un issue de seguimiento enlazado
MCPs validados
| MCP | Propósito | Dueño |
|---|---|---|
| GitHub MCP Server | Leer pull requests, pruebas y corridas de Actions para poblar la matriz de trazabilidad | GitHub (oficial) |
| Azure DevOps MCP Server | Leer work items y planes de prueba en Azure Boards cuando el equipo usa Azure DevOps | Microsoft (oficial) |
| Azure MCP Server | Consultar Application Insights para confirmar que los artefactos desplegados coincidan con los IDs de requisito | Microsoft (oficial) |
| Microsoft Learn Docs MCP | Anclar requisitos sobre superficies de productos Microsoft en documentación vigente | Microsoft (oficial) |
| Microsoft 365 Agents SDK MCP | Levantar hilos de aclaración en Teams y registrar decisiones desde Outlook | Microsoft (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:
- 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. - Una matriz de trazabilidad regenerada que amarra tres pruebas preexistentes a dos de los nuevos requisitos y marca los diez restantes como brechas.
- 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:
- Seis tareas en GitHub Projects creadas vía el MCP de GitHub, cada una enlazada al ancla del requisito y asignadas al QA Engineer.
- Dos archivos de requisitos redactados para amarrar las pruebas huérfanas a IDs de requisito.
- Una sesión de revisión registrada en
docs/reviews/2026-q3-release-readiness.mdcon decisiones etiquetadas por ID de requisito. - Una actualización del reporte de readiness que reabre la compuerta de release hasta que cierren los ocho ítems.
Anti-patrones
- Requisitos compuestos. Las cláusulas que agrupan dos o más condiciones no se pueden probar atómicamente. Mitigación: el agente
/earsy el hookpre-commitrechazan cláusulas no atómicas. - Trazabilidad manual. Las hojas de cálculo no son confiables al cierre del sprint. Mitigación: la matriz se regenera en
post-commit. - Colisiones silenciosas de IDs. Los IDs reutilizados rompen los rastros de auditoría. Mitigación: el hook
pre-commitrechaza duplicados a través del árboldocs/requirements/. - Revisiones sin registros. Las aclaraciones verbales se evaporan. Mitigación:
/requirement-reviewexige una decisión registrada para cada ítem de la agenda. - Brechas dispensadas verbalmente. Una brecha dispensada sin un ADR o issue de seguimiento reaparece en el release. Mitigación:
pre-mergebloquea la ruta de dispensa.
KPIs y métricas de impacto
| KPI | Línea base | Meta | Medición |
|---|---|---|---|
| Requisitos en EARS atómico | 30 por ciento | 100 por ciento | Linter de requisitos en GitHub Actions |
| Frescura de la trazabilidad, última regeneración | 7 días | < 1 hora | Timestamp del hook post-commit |
| Conteo de brechas en la compuerta de release | 14 | 0 | Reporte de readiness |
| Tiempo de ciclo de revisión de requisitos | 2 semanas | < 1 semana | Timestamps de PR |
| Tasa de pruebas huérfanas | 12 por ciento | < 2 por ciento | Salida del gap scan |
| Tiempo de respuesta a consulta de auditoría | 1 día | < 1 hora | Log de consultas a la matriz de trazabilidad |
Madurez en cuatro niveles
| Nivel | Nombre | Marcadores |
|---|---|---|
| L1 | Manual | Specs en prosa, descomposición ad-hoc, trazabilidad construida a mano |
| L2 | Asistido | Copilot usado para pulir el fraseo de requisitos, sin disciplina atómica |
| L3 | Aumentado | Agente EARS Encoder, cuatro slash prompts, instrucciones con alcance, matriz auto-generada, gap scans en PR |
| L4 | Autónomo | Kit 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.mdaprobado 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.mdy 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
- GitHub Copilot documentation — agent mode, prompts e instructions
- Azure Boards documentation — seguimiento de work items para tareas enlazadas a requisitos
- GitHub Actions documentation — automatización para regeneración de trazabilidad y gap scans
- Application Insights documentation — telemetría de artefactos desplegados para verificación de requisitos
- Microsoft Learn, Well-Architected Framework — guía de excelencia operativa y evidencia de auditoría