PLAN DE MÉTRICAS EN OCHO PASOS Primera parte Ing. Esteban Vargas Asesor en Calidad Pro-Software Introducción a las métricas Qué son métricas de software? Las métricas de software son medidas que se usan para cuantificar software, recursos y/o procesos de desarrollo. Incluye aspectos que son directamente medibles, como las líneas de código, así como también artículos que están calculados a partir de otras mediciones, tales como el Análisis de Valor Devengado. Todo el que desarrolla software, usa algún tipo de métricas. Sin embargo, cuando se pregunta qué es métrica, la tendencia es restringir la respuesta a métricas de tamaño, como líneas de código o puntos de función, cuando en realidad, las métricas de software incluyen mucho más que las mencionadas únicamente para tamaño. Las métricas de software incluyen cálculos basados en mediciones de cualquier componente en el desarrollo de software. Por ejemplo, considere información sobre la proporción de las pruebas que se han ejecutado, la proporción ejecutada exitosamente y el número de defectos identificados. Estas mediciones son ejemplo de que son primitivas (pero aún útiles) métricas de software. Asimismo, existen métricas, también primitivas, que se utilizan para monitorear el desempeño de una aplicación, por ejemplo utilización de memoria, tiempo de finalización de consultas y complejidad de módulos. Estos ejemplos demuestran que el asunto de las métricas no es nada complicado. De hecho, cuando se va a formular un plan de métricas, lo más difícil es determinar cuál métrica brinda verdadero valor a la compañía, desde el punto de vista estratégico (dinero, mercado, aceptación, entre otros) porque el hablar, por ejemplo de estadísticas, fórmulas o gráficos, generalmente no representa la traducción de hechos operativos hacia hechos estratégicos.
Un buen plan de métricas se enfoca más hacia otras cosas que no sea, por ejemplo, la productividad del programador. Considere estas áreas de producción de software que pueden beneficiarse a partir de un adecuado plan de métricas: Administración de proyectos Calidad de producto Desempeño de producto Ejecución del proceso Estimación de costos y tiempo Con base en lo mencionado anteriormente, le presento una metodología para desarrollar, en ocho pasos, un buen plan de métricas que involucre y ayude a definir cuáles métricas definir, cómo recolectar datos y por último como utilizar dichos datos para la toma de decisiones, dentro del proceso de desarrollo de software. Esta metodología se elaboró a partir de la desarrollada por el Centro de Productividad de Software (SPC). Objetivos Existen dos objetivos importantes que se persiguen dentro del programa de métricas: Documentar las metas a la hora de establecer un programa de métricas. Esto tiene sentido a la hora de decidir exactamente qué debe lograrse antes de gastar recursos estableciendo un programa de este tipo. Identificar la información (la métrica) necesaria para lograr estas metas y establecer el marco de referencia de donde puede ser obtenida. El cometido de los ocho pasos es crear un proceso a través del cual un programa corriente de métrica puede ser utilizado como una herramienta estratégica de gestión. Los pasos Usted puede cumplir estos objetivos desarrollando los siguientes ocho pasos de manera estructurada. Estos pasos deberían ser ejecutados por un equipo de métricas, contando, por supuesto, con el apoyo de la alta gerencia. Los ocho pasos requeridos para implementar un programa de métrica es: 1. Documentar el proceso de desarrollo de software
2. Establecer las metas 3. Definir las métricas necesarias para alcanzar las metas 4. Identificar los datos a recolectar 5. Definir procedimientos para la recolección de datos 6. Implantar herramientas necesarias para análisis de métricas 7. Crear una base de datos de métricas 8. Definir mecanismos de retroalimentación Metodología para ejecutar programa de métricas El segundo componente de un programa de métricas es la metodología necesaria para aplicar el marco de referencia de las métricas dentro de cualquier compañía, en otras palabras, cómo implementar el concepto de medición en la empresa? El SPC presenta una metodología de uso del programa denominada Ciclo de Medición de Proyectos (CMP), la cual consta de los siguientes siete pasos: 1. Escoger un proyecto de desarrollo de software para medirlo. 2. Concienciar al equipo de trabajo. 3. Medir el proyecto de desarrollo. 4. Preparar los resultados. 5. Presentar resultados y obtener retroalimentación. 6. Implementar cambios. 7. Medir nuevamente. Por supuesto, la metodología que presenta el SPC puede ser utilizada directamente, o puede ser personalizada de acuerdo a las necesidades propias de la empresa. Está descrito detalladamente dentro del Capítulo Paso 2. Consideraciones importantes Antes de iniciar la ejecución de los ocho pasos, hay algunos aspectos importantes que deben evaluarse, los cuales ayudarán a ahorrar muchísimo tiempo (y dinero, por supuesto) y molestias durante todo el programa: Identificar a un patrocinador gerencial Vender el programa a la alta gerencia Crear un equipo de métricas
Determinar cómo el programa de métricas será documentado y comunicado al resto del personal. Identificar a un patrocinador gerencial El patrocinador gerencial (de ahora en adelante, sponsor ) es la persona responsable de mantener vivo el programa de métricas, ya que podría tomar algunos años en llegar a ser parte de la cultura corporativa. El sponsor debería ser un alto ejecutivo que entienda el valor del programa, y que pueda ejecutarlo sin que lo afecten cortes de presupuesto o reorganización de la compañía. Las responsabilidades del sponsor son las siguientes: Obtener el compromiso de la alta gerencia para la implantación del programa. Ayudar a que la alta gerencia mantenga dicho compromiso hacia el programa. Dar directrices al equipo de métricas. Vender el plan de métricas hacia los equipos de proyectos. Asegurarse que los equipos de proyectos sepan que el programa cuenta con la aprobación y apoyo por parte de la alta gerencia. Asegurarse que cualquier conclusión que se logre obtener a través del programa, sean traducidos en una acción concreta por medio de la alta gerencia. Vender el programa El sponsor es el responsable de vender el programa de métricas a la alta gerencia de la compañía. La alta gerencia a su vez debería vender el programa a sus gerentes de área y a sus empleados, quedando claro que para el éxito de este programa, se necesita que exista un alto grado de sinergia dentro de la organización. Para ser un buen vendedor, es necesario invertir todo el tiempo necesario para desarrollar todos los mecanismos y herramientas útiles para generar conciencia a nivel interno sobre las metas del programa, específicamente, cómo podría beneficiarse la persona con la consecución de las metas del programa de métricas. Por último, debe tomarse en cuenta que gerentes de división, directores de departamentos, así como mandos medios en general, son los que pueden brindar información útil sobre fortalezas y debilidades que tenga el programa.
Crear un equipo de métricas El equipo de métricas consta de una o más personas físicas que están comprometidas en el programa. En la mayoría de los casos, sus tareas implicarán sólo una pequeña porción de su tiempo y podrán ser realizadas en conjunción con su trabajo regular. Dependiendo de la extensión del programa, uno o dos personas podrían ser asignadas al programa de métricas full time. Estas personas actúan como coordinadores, y tienen la tarea específica de establecer el programa de métrica y echarlo a andar. Las siguientes tareas serán responsabilidad del equipo de métricas: Implementar el programa. Mantener al staff de la compañía informada con respecto al programa y a sus avances. Coordinación de la recolección de los datos. Analizar los datos recolectados. Presentar los datos a la alta gerencia. Brindar retroalimentación a los equipos de proyectos. Ayudar en la redefinición de los procesos de desarrollo de software. Los mejores candidatos para la coordinación del equipo de métricas tienen que tener una alta aptitud para el trabajo en equipo, y también buena relación con la alta gerencia, conocimiento detallado de las prácticas organizacionales y, por supuesto, compromiso con el programa. Documentar el programa de métricas Existen varios procedimientos relacionados con el programa de métricas que es necesario documentarlos, y como se podrá ver a continuación, existe un cierto número de formas para hacerlo: Actualice documentos internos existentes de SQA (Software Quality Assurance) con cualquier información importante, referente al programa y los datos obtenidos. Cree un documento nuevo (por ejemplo, Descripción del programa de métricas") que contenga la información y los procedimientos que soportan el programa de métrica.
Documente de manera informal el programa de métricas, a través del uso de comunicados internos o correos electrónicos. Este método es efectivo, pero puede serlo más si se elabora una copia que se mantenga accesible al resto de la organización. La documentación es una forma muy útil para poder informar a la compañía con respecto al programa y a sus alcances. También asegurará que las personas se den cuenta de las responsabilidades que tienen con relación al programa de métricas. En el próximo boletín de CAPROSOFT se describirá un ejemplo de la aplicación de este programa.