🧮 Cálculo del KPI de Calidad de Código

🎯 Escala de Calificación

⭐ A (90-100): Excelente - Código de alta calidad, listo para producción sin reservas

✅ B (75-89): Bueno - Calidad sólida con áreas menores de mejora

⚠️ C (60-74): Aceptable - Requiere atención en algunas áreas críticas

🚨 D (40-59): Mejorable - Necesita trabajo significativo antes de producción

❌ F (0-39): Crítico - Requiere refactorización inmediata, no apto para producción

📊 Fórmula del KPI

El KPI se calcula como una suma ponderada de 10 métricas clave de SonarQube, cada una normalizada a una escala de 0-100:

KPI = (DeudaTécnica × 15%) + (Bloqueantes × 10%) + (Críticos × 8%) + (Bugs × 12%) + (Vulnerabilidades × 15%) + (Seguridad × 10%) + (Duplicación × 10%) + (Cobertura × 12%) + (Complejidad × 4%) + (ComplejidadCognitiva × 4%)

⚖️ Pesos por Categoría

🔴 Seguridad (35%): Vulnerabilidades (15%) + Security Hotspots (10%) + Bloqueantes (10%)

🟡 Mantenibilidad (27%): Deuda Técnica (15%) + Cobertura (12%)

🟠 Fiabilidad (20%): Bugs (12%) + Críticos (8%)

🔵 Calidad (18%): Duplicación (10%) + Complejidad (4%) + Complejidad Cognitiva (4%)

🔍 Normalización de Métricas

Deuda Técnica: 100 - (sqale_index / 24) → penaliza 4.17 pts por cada hora

Issues: 100 - (bugs × 5), 100 - (bloqueantes × 20), 100 - (críticos × 10)

Vulnerabilidades: 100 - (vulnerabilidades × 15) → alto impacto por cada vulnerabilidad

Duplicación: 100 - duplicated_lines_density → penaliza proporcionalmente

Cobertura: coverage (directo) → mayor cobertura = mejor score

Complejidad: 100 - (complexity / 50), 100 - (cognitive_complexity / 1.5)

🎯 ¿Por qué estos pesos?

Seguridad (35%): Es crítica para evitar brechas y ataques. Tiene el mayor peso porque un fallo de seguridad puede comprometer todo el sistema.

Mantenibilidad (27%): Código mantenible reduce costos a largo plazo. La deuda técnica y cobertura de tests son fundamentales.

Fiabilidad (20%): Bugs y code smells críticos afectan directamente la experiencia del usuario y la estabilidad.

Calidad (18%): Código limpio y simple facilita cambios futuros, aunque tiene menor impacto inmediato.

📈 Resumen General

📅 -

Total de Proyectos

-

KPI Promedio

-

Mejor Proyecto

-
Cargando último análisis local...