Métrica del software

En el campo de la ingeniería del software, una métrica es un estándar de medida de un grado en el que un sistema o proceso de software posee alguna propiedad. Aunque una métrica no es una medida (las métricas son roles o funciones, mientras que las mediciones son números obtenidos por aplicación de tales métricas), con frecuencia ambos términos son usados como si fueran sinónimos. Ya que las mediciones cuantitativas son esenciales en todas las ciencias, hay un continuo esfuerzo de parte de practicantes de la informática y teoréticos para lograr acercamientos similares para el desarrollo de software. La meta, es obtener mediciones objetivas, reproducibles y cuantificables, que posibilitan tener valiosas y numerosas aplicaciones, en planificación de calendarios y presupuestos, planificación presupuestaria, aseguramiento de calidad, pruebas, depuración de software, optimización del rendimiento del software y asignaciones óptimas de tareas del personal.

Mediciones Comunes de Software editar

Aceptación y Opinión Pública editar

Algunos profesionales o practicantes de desarrollo de software puntualizan que mediciones simplistas pueden causar más daño que beneficio.[3]​ Otros han notado que las métricas se han ido convirtiendo en parte integral del proceso de desarrollo del software.[4]​ El impacto de la medición en la psicología del programador ha levantado preocupaciones a causa de los efectos dañinos para el rendimiento a causa del estrés, ansiedad por rendimiento e intentos de engañar a las métricas, mientras que otros encuentran que tiene un impacto positivo en su valor como desarrolladores hacia su propio trabajo y previene que ellos sean devaluados o sobrevalorados. Algunos argumentan que la definición de muchas metodologías de medición es imprecisa y consecuentemente, frecuentemente es poco claro, cómo las herramientas para hacer esos cálculos llegan a un resultado particular,[5]​ mientras otros argumentan que la cuantificación imperfecta es mejor que no contar con ninguna "You can’t control what you can't measure" (No puedes controlar lo que no puedes medir)[6]​ Se puede evidenciar, que las métricas de software están siendo ampliamente usadas por agencias gubernamentales, el ejército de los EE. UU., La NASA,[7]​ consultores de TI, instituciones académicas,[8]​ y software de estimación de desarrollo comercial y académico.

Limitaciones editar

Así como el desarrollo de software es un proceso complejo, con alta variabilidad en metodologías y objetivos, es difícil definir o medir cualidades y cantidades del software y determinar una métrica de medición válida y concurrente, especialmente cuando se hace tal predicción antes del diseño detallado. Otra fuente que origina dificultad y debate es determinar qué métricas son importantes y que significan ellas.[9][10]​ La utilidad práctica de las mediciones de software, por lo tanto, se limita a los siguientes dominios:

Una medición específica puede elegir como destino uno o más de los aspectos de dominio explicados anteriormente, o el balance existente entre cada uno de ellos, por ejemplo, como indicador de motivación del equipo o desempeño del proyecto.

Véase también editar

Referencias editar

  1. «Descriptive Information (DI) Metric Thresholds». Land Software Engineering Centre. Archivado desde el original el 6 de julio de 2011. Consultado el 19 de octubre de 2010. 
  2. «OMG Adopts Automated Function Point Specification». Omg.org. 17 de enero de 2013. Consultado el 19 de mayo de 2013. 
  3. Kaner, Dr. Cem, Software Engineer Metrics: What do they measure and how do we know? .
  4. Binstock, Andrew. «Integration Watch: Using metrics effectively». SD Times. BZ Media. Consultado el 19 de octubre de 2010. 
  5. Lincke, Rüdiger; Lundberg, Jonas; Löwe, Welf (2008), «Comparing software metrics tools», International Symposium on Software Testing and Analysis 2008: 131-142 .
  6. DeMarco, Tom. Controlling Software Projects: Management, Measurement and Estimation. ISBN 0-13-171711-1. 
  7. «NASA Metrics Planning and Reporting Working Group (MPARWG)». Earthdata.nasa.gov. Archivado desde el original el 22 de octubre de 2011. Consultado el 19 de mayo de 2013. 
  8. «USC Center for Systems and Software Engineering». Sunset.usc.edu. Archivado desde el original el 11 de diciembre de 2017. Consultado el 19 de mayo de 2013. 
  9. Binstock, Andrew. «Integration Watch: Using metrics effectively». SD Times. BZ Media. Consultado el 19 de octubre de 2010. 
  10. Kolawa, Adam. «When, Why, and How: Code Analysis». The Code Project. Consultado el 19 de octubre de 2010. 

Enlaces externos editar