DORA + DX AI Metrics
Guia de Medicion de Experiencia de Desarrollo con AI (DX AI)
Sección titulada «Guia de Medicion de Experiencia de Desarrollo con AI (DX AI)»Companion del AI-First Engineering Framework v7.4.0
1. Por Que Medir la Experiencia de Desarrollo con AI
Sección titulada «1. Por Que Medir la Experiencia de Desarrollo con AI»La adopcion de AI en equipos de ingenieria genera una paradoja recurrente: los desarrolladores sienten que son mas productivos, pero las metricas organizacionales no siempre lo reflejan. El reporte DORA 2025 confirmo que equipos con alta adopcion AI completaron 21% mas tasks individuales, pero las metricas de delivery organizacional se mantuvieron planas.
Sin medicion explicita de la experiencia AI:
- No sabes si la inversion en herramientas AI tiene ROI real.
- No puedes diferenciar productividad percibida de productividad real.
- No detectas cuando la AI introduce deuda tecnica silenciosa.
- No puedes guiar la adopcion de niveles L1 (autocompletado) a L4 (autonomo).
- No cumples con los requisitos de transparencia del EU AI Act Art. 50/73.
Principio: Medir DX AI no reemplaza DORA ni SPACE — lo complementa. DORA mide delivery, SPACE mide satisfaccion, DX AI mide el impacto especifico de las herramientas AI en el flujo de trabajo.
2. Las 5 Metricas AI DX
Sección titulada «2. Las 5 Metricas AI DX»2.1 Modelo Conceptual
Sección titulada «2.1 Modelo Conceptual»┌─────────────────────────────────────────────────────────────┐│ DX AI METRICS MODEL │├──────────────────┬──────────────────────────────────────────┤│ ADOPCION │ ai_adoption_rate ││ │ % commits con asistencia AI │├──────────────────┼──────────────────────────────────────────┤│ COSTO │ ai_cost_per_feature ││ │ USD promedio por feature completado │├──────────────────┼──────────────────────────────────────────┤│ CALIDAD │ ai_quality_impact ││ │ Ratio rework AI vs humano │├──────────────────┼──────────────────────────────────────────┤│ VELOCIDAD │ ai_time_savings ││ │ Lead time AI vs no-AI │├──────────────────┼──────────────────────────────────────────┤│ MADUREZ │ ai_autonomy_trend ││ │ Progresion L1 → L4 en el tiempo │└──────────────────┴──────────────────────────────────────────┘2.2 ai_adoption_rate
Sección titulada «2.2 ai_adoption_rate»Definicion: Porcentaje de commits que fueron creados con asistencia AI.
Formula:
ai_adoption_rate = commits_con_marcador_ai / total_commitsMarcadores detectados en git history:
Co-Authored-By:con mencion de AI (Claude, Copilot, GPT, etc.)Generated byen el mensaje de commitAI-assistedcomo tag o prefijocheckpoint:,fab:,auto-generatedpara commits autonomos
Interpretacion:
| Nivel | Rango | Significado |
|---|---|---|
| Elite | >= 70% | AI integrada en flujo diario, FABs activos |
| High | 50-69% | Adopcion consistente, pair programming con AI |
| Medium | 30-49% | Uso esporadico, solo autocompletado |
| Low | < 30% | Adopcion minima o resistencia activa |
2.3 ai_cost_per_feature
Sección titulada «2.3 ai_cost_per_feature»Definicion: Costo promedio en USD de tokens/API calls por feature o intent completado.
Formula:
ai_cost_per_feature = total_ai_spend_usd / features_completedFuentes de datos:
- Logs de LLMOps (Langfuse, LangSmith, Helicone)
fab-cost-guard.pycircuit breaker logs- Facturas de API providers (OpenAI, Anthropic, etc.)
- Intent completion records en
progress-tracker.md
Interpretacion:
| Nivel | USD/Feature | Significado |
|---|---|---|
| Elite | <= $5 | Prompts optimizados, caching efectivo |
| High | $5-$15 | Buen balance costo/valor |
| Medium | $15-$50 | Oportunidad de optimizacion |
| Low | > $50 | Ineficiencia critica, revisar prompts y modelos |
2.4 ai_quality_impact
Sección titulada «2.4 ai_quality_impact»Definicion: Ratio de rework en commits generados por AI versus commits puramente humanos.
Formula:
ai_quality_impact = rework_rate_ai_commits / rework_rate_human_commitsUn valor < 1.0 indica que los commits AI requieren menos rework que los humanos. Un valor > 1.0 indica que la AI introduce mas defectos.
Como medir rework: Un commit es “rework” si modifica lineas que fueron cambiadas en los ultimos 14 dias (mismo archivo, mismas funciones).
Interpretacion:
| Nivel | Ratio | Significado |
|---|---|---|
| Elite | <= 0.5 | AI produce codigo mas estable que humanos |
| High | 0.5-0.8 | AI produce calidad comparable, con ventaja |
| Medium | 0.8-1.0 | Calidad neutra, AI no empeora |
| Low | > 1.0 | AI introduce defectos — revisar prompts y reviews |
2.5 ai_time_savings
Sección titulada «2.5 ai_time_savings»Definicion: Reduccion porcentual en lead time para features completados con AI versus sin AI.
Formula:
ai_time_savings = 1 - (lead_time_ai / lead_time_no_ai)Lead time: Desde la creacion del intent/issue hasta el merge del PR.
Interpretacion:
| Nivel | Ahorro | Significado |
|---|---|---|
| Elite | >= 60% | Features AI se entregan 2.5x mas rapido |
| High | 40-59% | Aceleracion significativa |
| Medium | 20-39% | Mejora moderada |
| Low | < 20% | Beneficio marginal |
2.6 ai_autonomy_trend
Sección titulada «2.6 ai_autonomy_trend»Definicion: Progresion del equipo en los niveles de autonomia AI a lo largo del tiempo.
Niveles:
| Nivel | Descripcion | Indicadores |
|---|---|---|
| L1 - Autocompletado | Tab-complete, snippets | Solo Co-Authored-By en commits puntuales |
| L2 - Pair Programming | Chat con AI, iteracion guiada | Sesiones largas, commits con contexto AI |
| L3 - Delegacion | Tareas completas delegadas a AI | Intents completados end-to-end, PRs generados |
| L4 - Autonomo | FABs ejecutando sin intervencion | Commits fab:, checkpoints automaticos |
Medicion: Distribucion porcentual de commits por nivel en ventanas de 30 dias.
Mes 1: L1=80% L2=15% L3=5% L4=0%Mes 3: L1=40% L2=35% L3=20% L4=5%Mes 6: L1=15% L2=25% L3=40% L4=20%3. Como Recolectar Datos
Sección titulada «3. Como Recolectar Datos»3.1 Fuentes Primarias
Sección titulada «3.1 Fuentes Primarias»| Fuente | Metricas | Metodo |
|---|---|---|
| Git history | adoption_rate, quality_impact | Analisis de commits (marcadores, rework) |
| Intent completion | cost_per_feature, time_savings | progress-tracker.md + logs de intents |
| LLMOps platform | cost_per_feature | API de Langfuse/LangSmith/Helicone |
| FAB telemetria | autonomy_trend, cost | fab-feedback-loop.py output |
| CI/CD pipeline | time_savings, quality | PR timestamps, test results |
3.2 Recoleccion desde Git History
Sección titulada «3.2 Recoleccion desde Git History»# Contar commits AI-assisted en los ultimos 30 diasgit log --since="30 days ago" --all --format="%H %s" | \ grep -iE "(Co-Authored-By:.*(claude|copilot|gpt|ai)|Generated by|AI-assisted|checkpoint:|fab:|auto-generated)" | \ wc -l
# Total de commits en el mismo periodogit log --since="30 days ago" --all --oneline | wc -l3.3 Recoleccion desde Intent Completion
Sección titulada «3.3 Recoleccion desde Intent Completion»El archivo progress-tracker.md registra:
- Fecha de inicio y fin de cada intent
- Costo acumulado (si esta disponible via FAB)
- Nivel de autonomia utilizado
3.4 Automatizacion con dora-metrics.py
Sección titulada «3.4 Automatizacion con dora-metrics.py»El script dora-metrics.py incluye atribucion AI automatica:
python3 baseline/scripts/dora-metrics.py \ --project-dir . \ --period 30Este script:
- Analiza git history para detectar commits AI
- Calcula DORA metrics estandar (DF, MLT, CFR, MTTR)
- Agrega metricas AI DX (adoption_rate, quality_impact)
- Genera reporte JSON compatible con dashboards
4. Establecer Baselines y Targets
Sección titulada «4. Establecer Baselines y Targets»4.1 Tabla de Referencia Completa
Sección titulada «4.1 Tabla de Referencia Completa»| Metrica | Elite | High | Medium | Low | Target Sugerido |
|---|---|---|---|---|---|
| ai_adoption_rate | >= 0.70 | 0.50-0.69 | 0.30-0.49 | < 0.30 | 0.50 |
| ai_cost_per_feature (USD) | <= 5 | 5-15 | 15-50 | > 50 | 20 |
| ai_quality_impact (ratio) | <= 0.5 | 0.5-0.8 | 0.8-1.0 | > 1.0 | 0.8 |
| ai_time_savings (%) | >= 60% | 40-59% | 20-39% | < 20% | 40% |
| ai_autonomy_level | L4 | L3 | L2 | L1 | L3 |
4.2 Configuracion de Thresholds
Sección titulada «4.2 Configuracion de Thresholds»Los thresholds se configuran en project/F09_operations/dx_ai_metrics.yaml:
thresholds: ai_adoption_rate: elite: 0.70 high: 0.50 medium: 0.30 low: 0.104.3 Proceso de Calibracion
Sección titulada «4.3 Proceso de Calibracion»- Semana 1-2: Recolectar datos sin targets (baseline)
- Semana 3: Establecer targets iniciales basados en la tabla de referencia
- Mes 2: Ajustar targets segun contexto del equipo
- Trimestre 2: Re-calibrar con datos reales acumulados
Regla de oro: No establecer targets elite desde el inicio. Apuntar a “medium” en el primer trimestre y subir gradualmente.
5. Dashboard Recommendations
Sección titulada «5. Dashboard Recommendations»5.1 Que Visualizar
Sección titulada «5.1 Que Visualizar»┌─────────────────────────────────────────────────────────────┐│ DX AI DASHBOARD │├─────────────────────────────────┬───────────────────────────┤│ Adoption Rate (gauge) │ Cost/Feature (trend) ││ ████████░░ 65% │ $12 ↓ (vs $18 prev) │├─────────────────────────────────┼───────────────────────────┤│ Quality Impact (ratio bar) │ Time Savings (bar chart) ││ AI: 0.6x rework vs human │ AI: 45% faster │├─────────────────────────────────┴───────────────────────────┤│ Autonomy Trend (stacked area over time) ││ L4 ▓▓░░░ L3 ▓▓▓▓░ L2 ▓▓▓░░ L1 ▓░░░░ │└─────────────────────────────────────────────────────────────┘5.2 Herramientas Recomendadas
Sección titulada «5.2 Herramientas Recomendadas»| Herramienta | Tipo | Mejor Para |
|---|---|---|
| Grafana | OSS | Dashboards custom, integracion Prometheus |
| Datadog | SaaS | Correlacion con APM, alertas |
| Metabase | OSS | SQL sobre datos exportados, self-hosted |
| Google Sheets | SaaS | Equipos pequenos, prototipado rapido |
| Factory Dashboard | Framework | Vista integrada FAB + DORA + DX AI |
5.3 Alertas Sugeridas
Sección titulada «5.3 Alertas Sugeridas»| Alerta | Condicion | Accion |
|---|---|---|
| Adoption drop | ai_adoption_rate < target por 7 dias | Investigar barreras, revisar tooling |
| Cost spike | ai_cost_per_feature > 2x target | Activar cost guard, revisar prompts |
| Quality regression | ai_quality_impact > 1.2 | Pausar delegacion, reforzar reviews |
| Savings plateau | ai_time_savings sin mejora en 30 dias | Evaluar nivel de autonomia, capacitar |
5.4 Setup con Grafana (Template Incluido)
Sección titulada «5.4 Setup con Grafana (Template Incluido)»El framework incluye un dashboard JSON listo para importar en Grafana 10+.
Archivo: project/F09_operations/grafana_dora_dashboard.json
Pasos para importar:
# 1. Generar metricas en formato JSONpython3 baseline/scripts/dora-metrics.py \ --project-dir . \ --period 30 \ --output json > /tmp/dora-metrics.json
# 2. Importar dashboard en Grafana# Dashboards > New > Import > Upload JSON file# Seleccionar: project/F09_operations/grafana_dora_dashboard.json# Asignar datasource Prometheus o JSON8 paneles incluidos:
┌──────────────────────┬──────────────────────┬──────────────────────┬──────────────────────┐│ Deployment Freq. │ Lead Time (series) │ Change Failure Rate │ Rework Rate ││ [stat] 4.2/sem │ [timeseries] 48h │ [gauge] 8% │ [gauge] 12% ││ ████████░░ Elite │ ───╲────── │ ▓▓░░░░░░ Elite │ ▓▓▓░░░░░ High │├──────────────────────┼──────────────────────┼──────────────────────┼──────────────────────┤│ AI Attribution % │ Autonomous % │ Cost/Session (USD) │ DX Core 4 Score ││ [stat] 65% │ [stat] 12% │ [bar] $12.40 │ [barchart] ││ ████████░░ High │ ▓▓░░░░░░ L3 │ █ █ █▄█ █ │ Review ▓▓▓▓░ 80% ││ │ │ │ Satisf ▓▓▓░░ 72% │└──────────────────────┴──────────────────────┴──────────────────────┴──────────────────────┘Variables configurables:
$project— Filtrar por proyecto (codename)$period— Ventana de tiempo (7, 14, 30, 90 dias)
Datasource: El template usa ${DS_PROMETHEUS} como placeholder. Compatible con:
- Prometheus (metricas push via pushgateway o exporter custom)
- JSON API datasource (lectura directa del output de
dora-metrics.py)
5.5 Setup con Datadog (Monitors Incluidos)
Sección titulada «5.5 Setup con Datadog (Monitors Incluidos)»El framework incluye definiciones de monitores para alertas automaticas.
Archivo: project/F09_operations/datadog_dora_monitors.yaml
Pasos para aplicar:
# 1. Publicar metricas a Datadogpython3 baseline/scripts/dora-metrics.py \ --project-dir . \ --period 30 \ --output json | \ curl -X POST "https://api.datadoghq.com/api/v1/series" \ -H "DD-API-KEY: ${DD_API_KEY}" \ -d @-
# 2. Sincronizar monitorespip install datadog-cidatadog-ci monitors sync \ --config project/F09_operations/datadog_dora_monitors.yaml5 monitores incluidos:
| Monitor | Tipo | Umbral Warning | Umbral Critical |
|---|---|---|---|
| Deployment Frequency Low | warning | < 2/sem | < 1/sem |
| Change Failure Rate High | critical | > 10% | > 15% |
| Rework Rate High | critical | > 15% | > 20% |
| Cost per Session High | critical | > $30 | > $50 |
| AI Attribution Low | warning | < 50% | < 30% |
Cada monitor envia notificacion al canal Slack configurado ({{ALERT_CHANNEL}}).
5.6 Pipeline: dora-metrics.py → Dashboards
Sección titulada «5.6 Pipeline: dora-metrics.py → Dashboards»El script dora-metrics.py es la fuente de datos para ambas plataformas. El flujo completo:
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────────┐│ Git History │────►│ dora-metrics.py │────►│ JSON Output ││ + FAB Logs │ │ --output json │ │ (metricas DORA + ││ + Intent Logs │ │ --period 30 │ │ AI attribution) │└─────────────────┘ └──────────────────┘ └────────┬────────────┘ │ ┌───────────────┼───────────────┐ ▼ ▼ ▼ ┌────────────┐ ┌────────────┐ ┌────────────┐ │ Prometheus │ │ Datadog │ │ JSON File │ │ pushgateway │ │ API │ │ (backup) │ └──────┬─────┘ └──────┬─────┘ └────────────┘ ▼ ▼ ┌────────────┐ ┌────────────┐ │ Grafana │ │ Datadog │ │ Dashboard │ │ Monitors │ └────────────┘ └────────────┘Metricas exportadas por dora-metrics.py (—output json):
| Metrica JSON | Panel Grafana | Monitor Datadog |
|---|---|---|
deployment_frequency | Deployment Frequency (stat) | deployment_frequency_low |
lead_time_hours | Lead Time (timeseries) | — |
change_failure_rate | Change Failure Rate (gauge) | change_failure_rate_high |
rework_rate | Rework Rate (gauge) | rework_rate_high |
ai_attribution_rate | AI Attribution % (stat) | ai_attribution_low |
autonomous_rate | Autonomous % (stat) | — |
cost_per_session_usd | Cost per Session (bar) | cost_per_session_high |
dx_core4_* | DX Core 4 Score (barchart) | — |
Automatizacion recomendada: Usar el workflow CI/CD de la seccion 8.3 para generar el JSON semanalmente y publicar a la plataforma elegida.
6. Integracion con DORA/SPACE
Sección titulada «6. Integracion con DORA/SPACE»6.1 Relacion entre Frameworks
Sección titulada «6.1 Relacion entre Frameworks»┌──────────┐ ┌──────────┐ ┌──────────┐│ DORA │ │ SPACE │ │ DX AI ││ │ │ │ │ ││ DF, MLT │◄──►│ Satisf. │◄──►│ Adoption ││ CFR, MTTR│ │ Activity │ │ Cost ││ │ │ Communic.│ │ Quality ││ Delivery │ │ Efficien.│ │ Speed ││ metrics │ │ Perceptn.│ │ Autonomy │└──────────┘ └──────────┘ └──────────┘ │ │ │ └───────────────┴───────────────┘ Vista Integrada6.2 Mapeo de Complementariedad
Sección titulada «6.2 Mapeo de Complementariedad»| Pregunta | DORA | SPACE | DX AI |
|---|---|---|---|
| Entregamos rapido? | MLT, DF | Activity | ai_time_savings |
| Con calidad? | CFR | Satisfaction | ai_quality_impact |
| A buen costo? | - | Efficiency | ai_cost_per_feature |
| El equipo adopta AI? | - | - | ai_adoption_rate |
| Hacia donde vamos? | - | - | ai_autonomy_trend |
6.3 Anti-patron: Reemplazar DORA con DX AI
Sección titulada «6.3 Anti-patron: Reemplazar DORA con DX AI»DX AI no reemplaza DORA. Un equipo puede tener:
- Alto ai_adoption_rate + bajo DORA DF: Usan AI pero no entregan frecuentemente (proceso bloqueado fuera del codigo).
- Alto ai_time_savings + alto CFR: Entregan rapido pero con defectos (falta de review en outputs AI).
- Alto autonomy_trend + bajo SPACE Satisfaction: FABs activos pero el equipo se siente desplazado.
Las tres vistas juntas dan la imagen completa.
7. La Paradoja de Productividad AI
Sección titulada «7. La Paradoja de Productividad AI»7.1 El Hallazgo DORA 2025
Sección titulada «7.1 El Hallazgo DORA 2025»El reporte DORA 2025 documento una paradoja critica:
- Desarrolladores individuales con herramientas AI completaron 21% mas tasks.
- Sin embargo, las metricas de delivery organizacional (DF, MLT, CFR) se mantuvieron planas.
- La satisfaccion del desarrollador con AI era alta, pero el throughput del equipo no mejoro proporcionalmente.
7.2 Causas Identificadas
Sección titulada «7.2 Causas Identificadas»| Causa | Descripcion | Metrica DX AI que detecta |
|---|---|---|
| Complejidad absorbida | AI permite abordar tareas mas complejas, el ahorro se “reinvierte” | ai_time_savings estancado pese a alto adoption |
| Review bottleneck | Mas codigo generado = mas codigo que revisar | ai_quality_impact subiendo |
| Context switching | Herramientas AI fragmentan el flujo | ai_adoption_rate alto pero inconsistente |
| Rework oculto | Codigo AI requiere ajustes no trackeados | ai_quality_impact > 1.0 |
| Overhead de coordinacion | Mas output individual no se traduce en delivery | DORA DF plano vs ai_time_savings alto |
7.3 Como Navegar la Paradoja
Sección titulada «7.3 Como Navegar la Paradoja»- No asumir que mas AI = mas delivery. Usar las 5 metricas para validar.
- Medir rework explicitamente. Si
ai_quality_impact > 1.0, la AI esta creando mas trabajo del que ahorra. - Balancear adopcion con proceso. Subir de L2 a L3 requiere ajustar code review, testing, y CI/CD.
- Trackear autonomy_trend, no solo adoption_rate. Adopcion sin progresion de autonomia indica estancamiento.
- Correlacionar DX AI con DORA trimestralmente. Buscar divergencias entre productividad individual y organizacional.
8. Uso del Script dora-metrics.py
Sección titulada «8. Uso del Script dora-metrics.py»8.1 Ejecucion Basica
Sección titulada «8.1 Ejecucion Basica»# Metricas de los ultimos 30 diaspython3 baseline/scripts/dora-metrics.py \ --project-dir . \ --period 30
# Metricas de los ultimos 90 dias con output JSONpython3 baseline/scripts/dora-metrics.py \ --project-dir . \ --period 90 \ --output json8.2 Output Esperado
Sección titulada «8.2 Output Esperado»El script genera un reporte que incluye:
=== DORA Metrics (Last 30 days) ===Deployment Frequency: 4.2/week (Elite)Mean Lead Time: 2.1 days (High)Change Failure Rate: 8% (Elite)MTTR: 1.5 hours (Elite)
=== AI Attribution ===AI-Assisted Commits: 127/195 (65%)Autonomous Commits: 23/195 (12%)AI Adoption Rate: 0.65 (High)
=== AI Quality Impact ===Rework Rate (AI): 4.2%Rework Rate (Human): 6.8%Quality Impact Ratio: 0.62 (Elite)8.3 Integracion con CI/CD
Sección titulada «8.3 Integracion con CI/CD»Agregar al pipeline para tracking continuo:
name: DX AI Metricson: schedule: - cron: '0 6 * * 1' # Lunes 6amjobs: metrics: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: fetch-depth: 0 # Necesario para git history completo - run: | python3 baseline/scripts/dora-metrics.py \ --project-dir . \ --period 7 \ --output json > metrics-report.json - uses: actions/upload-artifact@v4 with: name: dx-ai-metrics path: metrics-report.json9. Referencias
Sección titulada «9. Referencias»| Recurso | URL / Ubicacion |
|---|---|
| DORA 2025 Report | dora.dev/research |
| SPACE Framework | Microsoft Research (2021) |
| EU AI Act Art. 50/73 | Transparencia y registro de sistemas AI |
| Framework Observability Guide | framework/guides/Observability_FinOps_Implementation_Guide.md |
| DORA Metrics Script | scripts/dora-metrics.py |
| DX AI Metrics Config | project-template/project/F09_operations/dx_ai_metrics.yaml |
| Grafana Dashboard Template | project-template/project/F09_operations/grafana_dora_dashboard.json |
| Datadog Monitors Template | project-template/project/F09_operations/datadog_dora_monitors.yaml |
| FAB Feedback Loop | scripts/fab-feedback-loop.py |
| FAB Cost Guard | scripts/fab-cost-guard.py |
| Context Engineering Guide | framework/guides/Context_Engineering_Guide.md |
| Evals Framework Guide | framework/guides/Evals_Framework_Guide.md |