01_Unidad1_Metricas - vhcontre/inventario-2025 GitHub Wiki
📏 Métricas y medición del software
🎯 Objetivos
- Comprender la importancia de las métricas en el proceso de desarrollo de software.
- Conocer tipos de métricas, su aplicación y relevancia para la gestión y mejora continua.
- Introducir conceptos de calidad medible en productos y procesos.
📐 ¿Qué son las métricas de software?
Las métricas de software son medidas cuantitativas utilizadas para evaluar atributos de productos, procesos y proyectos de software. Su objetivo es facilitar:
- La planificación de recursos y tiempos,
- El seguimiento del proyecto,
- La mejora continua del proceso,
- Y la toma de decisiones basada en datos.
🔎 “Lo que no se mide, no se puede mejorar.” — Lord Kelvin
🧮 Tipos de métricas
📦 Métricas de producto
Evalúan características del software entregado.
- Tamaño (Líneas de código - LOC, Puntos función)
- Complejidad (McCabe, Halstead)
- Calidad (tasa de errores, cobertura de pruebas, mantenibilidad)
🛠️ Métricas de proceso
Miden la eficiencia del ciclo de vida del software.
- Velocidad de desarrollo
- Retrabajo o retrabajo evitado
- Tiempos de ciclo y lead time
- Índice de defectos por etapa
👥 Métricas de proyecto
Ayudan a evaluar el progreso y desempeño del equipo.
- Esfuerzo estimado vs. real
- Progreso (% de tareas completadas)
- Burn-down y burn-up charts
- Velocidad del equipo (en proyectos ágiles)
📊 Ejemplos y herramientas
Métrica | Herramienta típica |
---|---|
LOC, complejidad | SonarQube, CodeClimate |
Cobertura de tests | Pytest + coverage |
Seguimiento ágil | GitHub Projects, Jira |
Integración continua | GitHub Actions, Jenkins |
🧠 Importancia práctica
Aplicar métricas permite:
- Prevenir desviaciones graves en cronogramas.
- Detectar cuellos de botella y áreas críticas.
- Justificar decisiones técnicas frente a stakeholders.
- Argumentar mejoras de procesos y prácticas de desarrollo.
🔗 Relación con el proyecto
Semana | Aplicación directa de conceptos de métricas |
---|---|
2 | Diseño del modelo y estimaciones iniciales |
3–6 | Uso de herramientas como coverage, linters |
6–10 | Pruebas automáticas, CI/CD y métricas de calidad |
📚 Bibliografía y recursos
- Pressman, R. – Ingeniería del Software. Un enfoque práctico.
- Sommerville, I. – Software Engineering.
- McCabe, T. – A Complexity Measure (1976).
- Artículos sobre DevOps Metrics (DORA, Accelerate).
📝 Actividades sugeridas
- Medir la cobertura de tests en tu proyecto.
- Analizar la complejidad ciclomática de un módulo.
- Implementar un badge de calidad en el README.
💡 Cierre
Las métricas no son un fin en sí mismo, sino una herramienta para tomar mejores decisiones.