Métricas para la Información

Quisiera preguntarte algo relacionado con las Métricas que son utilizadas para medir la información... A ver si pudieras ayudarme, ya que este tema es parte de mi trabajo de tesis...
Primero debes conocer que mi Tesis ttrata sobre realizar un procedimiento para la aplicación del AP de MA de CMMI en los proyectos productivos de mi universidad, la cual se dedica producir software para cualquier sector.
Definimos una serie de fases de acuerdo a las SP que propone CMMI y esta AP y en una de estas fases (específicamente la Fase"Aplicar Métricas") mi compañera de tesis y yo pensamos en definir primeramente algunas métricas bases, las cuales estarían encargadas de medir la información recogida en la fase anterior ("Recolectando información") en cuanto a objetividad, y otra serie de aspectos que serán útiles para valorar el estado y valor de la info recogida, y dependiendo de este resultado se definirán un conjunto de Métricas derivadas que estarán encargadas de medir esta info en otros aspectos que aun no hemos decidido.
La función de las Métricas bases es decidir si se prosigue a aplicar o no las métricas derivadas, ya que si la info recogida no esta de acuerdo a los objetivos y necesidades informativas de la organización seria erróneo aplicar todo un proceso de medición y análisis con esta info...
Para eso proponemos las métricas bases, como un filtro...
El asunto es que no sabemos que indicadores definir, pensamos en la objetividad como una buena opción, pero no tenemos conocimientos de otros o los más importanes y útiles, y ahí es cuando necesitamos tu ayuda...
Si pudieras sugerirnos algunos indicadores a tener en cuenta o alguna bibliografía para ello, también sobre métricas que ya estén definidas para ciertos indicadores y que sean de buena popularidad y que sean sobre todo eficientes...
Si algo no quedo claro.

1 Respuesta

Respuesta
1
Me haces una pregunta muy compleja porque afecta a un montón de cosas.
El área de proceso de Medida y Análisis de CMMI es bastante extensa. En realidad, como dice en la introducción, esta área de proceso se encarga de dar soporte a la gestión de toda la información que es necesaria.
La pregunta clave es ¿qué información necesitas?, o dicho de otra forma, ¿para qué procesos necesitas información?
Entiendo que estás hablando del proceso de producción de software como el elemento central de la búsqueda de información.
Siendo así, te hago algunos comentarios generales.
1. En primer lugar, respecto a usar métrica base y métricas derivadas, te comento que es algo habitual. Se trata de un tema más estadístico que otra cosa: definir las poblaciones de datos, las muestras tomar, analizar si las poblaciones son homogéneas, si se distribuyen de forma normal, o de cualquier otro tipo de función de distribución, etc.
Estos primeros análisis efectivamente van encaminados en estadística a utilizar un segundo tipo de análisis sabiendo ya cual es la distribución y homogeneidad de los datos tomados.
Saliendo de la estadística teórica, un ejemplo: no puedes utilizar el número de líneas de código (KLOC) para estimar esfuerzos hasta que no tengas claro que en los proyectos de realizáis haya una correlación fuerte (del tipo que sea: lineal, exponencial, etc.) entre el número de líneas de código y el esfuerzo (las horas/hombre).
Este estudio es bastante apasionante, aunque se puede recurrir a modelos ya establecidos. Por ejemplo, COCOMO, que sin duda conocerás, establece distinciones a la hora de estimar los costes de los proyectos informáticos. De programar en C a programar en Cobol hay diferencia.
Dejándome de rollos, lo que quiero decir es simplemente que no se puede medir de cualquier forma.
Lo fundamental, desde mi punto de vista, es basarse en los métodos estadísticos archiconocidos.
2. En segundo lugar, analizar y medir un proyecto de desarrollo de software va mucho más allá del código. Incluye requisitos, cambios, pruebas, etc. Más allá de lo técnicamente es hacer y validar software, hay montones de medidas relativas al proyecto: costes, cargas, esfuerzos, earned value, etc.
3. Vamos a lo práctico. Dicho todo esto, te doy mis consejos sobre qué leer para obtener métricas o indicadores para todo. A mi me gusta más llamarlos indicadores. La métrica es el método del cálculo para obtener el indicador, aunque vamos, al fin y al cabo todos nos entendemos:
a. Las sugerencias del propio CMMI: esfuerzo y coste (horas hombre), defectos, requisitos, cambios, etc. (Todas estas como métricas base). Earned value, densidad de defectos, cobertura de las pruebas, etc. (Estas otras como métricas derivadas).
b. Una iniciativa del banco mundial; en realidad, una reflexión estadística de todo esto que estamos hablando.
http://www.bancomundial.org/datos/panorama_calidad.html
c. El clásico de Boehm, "Software Engineering Economics". Es un libro que tendrá fácilmente 30 años, pero es donde encontrarás todo lo que estás buscando.
d. En "Ingeniería de software", de Roger Pressman también tienes un capítulo dedicado a ello.
e. En "Data Quality. The Accuracy Dimension", de Morgan Kaufmann, tienes también mucha información al respecto.
f.Finalmente, "Software Engineering Program - Software Measurement Guidebook" de la NASA, que enfoca de una forma práctica cómo tratar los datos, qué cosas medir, qué métricas tomar, etc.
g. Antes de que se me olvide. La madre de todos los sistemas de indicadores actuales, recogidos en lo que se conoce como cuadro de mando, es el de Kaplan y Norton (pon en google "kaplan norton cuadro mando" o "kaplan norton score card" y obtendrás muchísima información al respecto).
4. Para finalizar, una reflexión. Lo que queréis hacer en vuestra tesis es algo serio, que se ha hecho montones de veces en otras industrias (farmacéuticas, automoción, aero espacial, etc.) pero que en software no es habitual.
El proceso en síntesis es sencillo: definir las fuentes de información; tomar datos; analizar los datos y descartar aquellos no válidos para su uso posterior según el modelo (aquí entran vuestras métricas base); obtener indicadores mediante el tratamiento estadístico de los datos (vuestras métricas derivadas); y finalmente sacar conclusiones.
En automoción por ejemplo, las empresas manejan miles de gráficos de control cuyos datos se obtienen de muy diversas fuentes; y que son utilizados para tomar decisiones a diario. En software, por desgracia, esto abunda poco.
Espero que las fuentes de información que os he dado os ayuden un poco. Suerte.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas