Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
Sistemas de Gestión II Métricas del Software Trabajo Realizado por: Melina Potenza Rubén Muccilli Docentes: Est. Mónica Grasso Ing. Cristian Bigatti 2 Agenda Acerca de CMMI Introducción a las mediciones Clasificación de indicadores Desarrollo de algunos indicadores 3 Acerca de CMMI – Enfoque en procesos El SEI define al “Proceso de software” como el conjunto de actividades, métodos, prácticas y transformaciones que la gente usa para desarrollar y mantener software. Los procesos involucran la utilización de un conjunto de recursos y actividades interrelacionadas. Existen 3 dimensiones críticas: los procesos, las personas y la tecnología. Los procesos son el mayor determinante de costos, tiempo y calidad, y son los que realmente permiten “independizarse” de las personas. 4 Premisa de la mejora de procesos “La calidad de un producto está determinada por la calidad del proceso que se usa para desarrollarlo y para mantenerlo”. Un proceso de software efectivo total debe considerar la relación entre todas las tareas requeridas, las herramientas y métodos usados y las habilidades, entrenamientos y motivación de las personas involucradas. El principio básico para esto es el Proceso de Control Estadístico. Un proceso está bajo Control Estadístico si su performance futura es predecible dentro de los límites estadísticos establecidos. 5 La importancia de un modelo Un modelo provee Un punto de partida El beneficio de experiencias anteriores Un lenguaje común y una visión compartida Un marco de trabajo para priorizar acciones Un modelo NO es un proceso. El modelo muestra Qué hacer, no Cómo hacerlo ni Quién debe hacerlo. 6 ¿Qué es CMMI? Capability Maturity Model Integration (Modelo de Madurez de Capacidades Integrado) Es un modelo de referencia sobre prácticas maduras de una disciplina específica. Provee guías para mejorar los procesos de la organización y la habilidad para administrar el desarrollo, adquisición y mantenimiento de productos y servicios. Integra las disciplinas de ingeniería de sistemas y de software dentro del marco de trabajo de la mejora de procesos. 7 Estructura de CMMI (Representación por niveles) Nivel de Madurez Área de Proceso 1 Área de Proceso m Área de Proceso n Objetivos Genéricos Objetivos Específicos Prácticas Genéricas Prácticas Específicas 8 Niveles de madurez Cada nivel es una base evolutiva que fundamenta los procesos de mejora continua. Cada vez que se alcanza un Nivel de Madurez, se incrementa la productividad del proceso y de las organizaciones. En la representación por niveles (staged) existen 5 Niveles de Madurez. 9 Nivel 1 – Inicial o realizado Ausencia de gerencia de proyectos. El proceso de software es cambiante e irregular. Durante las crisis, los grupos abandonan el método y se concentran en la codificación y pruebas. Los planes, estimaciones y calidad son impredecibles. 10 Nivel 2 - Administrado La organización establece políticas para gerenciar los proyectos de software y procedimientos para implantar estas políticas. Los procesos de software son estables y repetibles. Existen estándares de desarrollo definidos y exigidos. La calidad es controlada. 11 Nivel 3 - Definido Los procesos de software son definidos, estandarizados, documentados e institucionalizados. La organización mantiene un grupo dedicado a la definición, mejoramiento y difusión del proceso estándar. El proceso estándar es adaptado a cada tipo de proyecto. 12 Nivel 4 – Cuantitativamente administrado La organización define metas de calidad cuantitativas para: los productos de software y los procesos de software El proceso estándar es medible o cuantificable: La productividad y la calidad se miden y se registran para cada proyecto La calidad del software es predecible. Mediante el uso de métricas de software, se crea una base de datos cuantitativa para la evaluación y estimación en proyectos futuros. La capacidad del proceso de software es cuantificable y predecible. 13 Nivel 5 - Optimizado La organización identifica las debilidades y fortalezas de su proceso y determina maneras de mejorar su capacidad. Se incorporan nuevas tecnologías y métodos para mejorar los procesos. 14 Introducción a las mediciones: Algunas definiciones Indicador: representación de datos de mediciones que provee una idea del proceso de desarrollo de software y/o de las actividades de mejora de procesos. Medición: El acto o proceso de medir algo. También puede ser un resultado. Medida: Una unidad o estándar de medición / la extensión, dimensiones, capacidad, etc. de algo relacionado a un estándar / un acto o proceso de medición / un resultado de una medición. Medir: Determinar la cantidad, volumen, extensión o grado de algo en términos de una unidad estándar o monto fijo, usualmente a través de un instrumento o proceso. Métrica: sinónimo de medida. 15 Usuarios de las mediciones Administración Senior (visibilidad) Administradores del proyecto de Software (Planeación y Control) Indicadores del software Clientes (Seguimiento) Comunidad de investigación (investigaciones) Grupo de Procesos de Ing. Del Software (mejora) Internos al proyecto Externos al proyecto 16 Clasificación de indicadores Progreso: Provee información de cuan bien el proyecto se está desarrollando con respecto a sus compromisos de cronograma (programación). Esfuerzo: Provee visibilidad acerca de la contribución del staff con respecto a los costos del proyecto, adherencia al cronograma y calidad del producto. 17 Clasificación de indicadores (cont.) Costo: Provee el seguimiento de los costos reales versus los costos estimados y provee estimaciones de los costos de los proyectos futuros. 18 Clasificación de indicadores (cont.) Calidad: Resultados de auditorías de aseguramiento de la calidad (QA) del software: Provee estimaciones de la calidad del producto y conformidad del staff con respecto a los procesos del proyecto. Reportes de revisiones: Provee el estado de los ítems de acción de las revisiones de los ciclos de vida. 19 Clasificación de indicadores (cont.) Reportes de problemas: Provee una idea de la calidad de los productos y procesos y la efectividad del testing. Resultados de revisiones por pares: Provee una idea de la calidad de los productos intermedios y finales y de las revisiones por pares y procesos de desarrollo. Prevención de defectos: Provee una idea de las causas de defectos y el efecto de las actividades de prevención de defectos en el ratio de inserción de defectos. 20 Clasificación de indicadores (cont.) Estabilidad Estabilidad de Requerimientos: Provee visibilidad de la magnitud e impacto de los cambios a requerimientos. Estabilidad de Tamaño: Provee una idea de la completitud y estabilidad de los requerimientos y de la capacidad del staff para completar el proyecto dentro del presupuesto y tiempo previsto. 21 Clasificación de indicadores (cont.) Efectividad de la tecnología: Provee información de cuan bien el proyecto se está desarrollando con respecto a sus requerimientos/metas de utilización de recursos de computadora. Entrenamiento: Provee visibilidad de la efectividad del programa de entrenamiento de la organización en el cumplimiento de los requerimientos de habilidades. 22 Clasificación de indicadores (cont.) Performance del proceso: Provee una idea de la efectividad y calidad del proceso definido. Satisfacción del cliente: Brinda información acerca de la satisfacción de los clientes con los servicios y productos brindados. 23 Desarrollo de Indicadores La diferencia entre progreso y esfuerzo: La principal diferencia entre los indicadores de progreso y esfuerzo es que los primeros se miden en días transcurridos, y los segundos en horas de trabajo efectivas. Ejemplo: Supongamos que una empresa de software quiere monitorear el desvío entre los tiempos estimadosy reales de sus proyectos de desarrollo. Si determinada tarea del proyecto, por ejemplo, la codificación, debía llevar 20 horas hombre y llevó 30, tuve un desvío en esfuerzo del 50%. Ahora bien: si yo planifiqué entregar el software terminado en 30 días y lo entregué en 45, tuve un desvío en progreso del 50%. 24 Categoría: PROGRESO Proporción de tiempo de retrabajo sobre el tiempo total de cada proyecto El tiempo de retrabajo se refiere al tiempo insumido en realizar nuevamente una tarea debido a fallas o no conformidades la primera vez que se realizó. 25 Proporción del tiempo de retrabajo… (cont.) En el nivel Cuantitativamente Administrado, el progreso se controla y mide estadísticamente. Los indicadores de progreso en el nivel Optimizado examinan el efecto de las actividades de mejora a procesos, innovación tecnológica y de prevención de defectos. 26 Proporción de tiempo insumido en actividades de retrabajo para varios proyectos, con límites de control. Pr o p o rc ió n d e re tr ab aj o so b re ti em p o t o ta l Meses 27 Proporción del tiempo de retrabajo… (cont.) Interpretación Cada punto representa el nivel de retrabajo de un proyecto cerrado en ese mes. Antes del mes 4, las proporciones son altas y varían ampliamente. El procedimiento de prevención de defectos fue puesto en marcha durante el mes 5. La tendencia indica que los procedimientos son efectivos. Mes 8: se establecen nuevos límites de control (provisorios hasta tener más datos) 28 Proporción de tiempo de retrabajo sobre el tiempo total de cada proyecto Categoría: ESFUERZO Al igual que los indicadores de Progreso, estos indicadores sirven para examinan el efecto de las actividades de mejora a procesos, innovación tecnológica y de prevención de defectos. Los cambios al proceso de desarrollo deberían causar que el tiempo insumido en cada actividad disminuya, incrementando la productividad. Mientras los cambios a procesos ocurren, el progreso no está bajo control estadístico, pero se estabilizará luego de un período de tiempo. 29 Pr o p o rc ió n d e re tr ab aj o so b re ti em p o t o ta l Meses Proporción de tiempo insumido en actividades de retrabajo para varios proyectos, con límites de control. 30 Proporción del tiempo de retrabajo… (cont.) Interpretación La figura muestra un diagrama de dispersión de la proporción de retrabajo para varios proyectos con límites de control y una línea promedio derivada de los datos. El eje y es la proporción de esfuerzo insumido en retrabajo sobre el esfuerzo total del proyecto. Cada punto en el diagrama es un proyecto que se completó en ese mes. 31 Categoría: COSTO Costo real vs. estimado con límites de control Objetivo: Realizar el seguimiento de los costos reales contra el plan de proyecto y presupuestar el costo de futuros proyectos. El administrador del proyecto de software usa datos históricos y cálculos estadísticos para establecer los límites de control 32 Costo real vs. Estimado (cont.) Definiciones: CPTP: Costo Presupuestado para el Trabajo Programado. Es el costo estimado de todas las actividades que se deberían haber realizado en el proyecto al día de hoy. CPTR: Costo Presupuestado para el Trabajo Realizado. Es el costo estimado de todas las actividades que efectivamente se realizaron en el proyecto al día de hoy (pueden ser menos actividades que las programadas o actividades diferentes). CRTR: Costo Real del Trabajo Realizado. Es el costo real de todas las actividades que efectivamente se realizaron en el proyecto al día de hoy (pueden ser menos actividades que las programadas o actividades diferentes). 33 CPTP CPTR CRTR Meses Reporte de estado de costo/cronograma mostrando el rango permitido para el costo presupuestado del trabajo programado. Costo ($1K) 34 Costo real vs. Estimado (cont.) Interpretación: La performance del costo a la fecha es favorable, ya que el CRTR es menor que el CPTR. El CPTR continúa por debajo de la línea del CPTP, indicando que el este proyecto está retrasado. De todas formas, como el CPTR y el CPTP están convergiendo lentamente, el monto de retraso está disminuyendo. 35 El personal de aseguramiento de la calidad de una empresa que aspira a evaluar el modelo CMMI, debe realizar periódicamente auditorías de calidad de producto y de proceso. El objetivo de este indicador es proveer al Administrador del Proyecto de Software una evaluación independiente de la calidad del producto y de la adherencia del staff del proyecto a los procesos que crean el producto. Estado de los issues de no conformidades Categoría: CALIDAD 36 Estado de los issues de no conformidades (cont.) Proceso Producto Política Número de issues de no conformi dad Tipo de issues de no conformidad 37 Estado de los issues de no conformidades (cont.) Interpretación: La figura compara el número de no conformidades de políticas, producto y proceso detectadas durante las auditorías de aseguramiento de la calidad en un período determinado. La figura muestra que el proceso de revisión por pares es efectivo, ya que fueron reportadas muy pocas no conformidades de producto. El número de no conformidades de proceso es mayor a las de producto debido a que no existe un proceso anterior, tal como el de revisiones por pares, que actúe en forma directa sobre estas no conformidades. Las mismas son encontradas en las auditorías y analizadas posteriormente por el SEPG, para determinar causas de problemas recurrentes y mejorar los procesos. 38 Categoría: CALIDAD Resultado de revisiones por pares El principio básico del proceso de revisión por pares es la de encontrar defectos en los productos medios de software y removerlos para que el producto final sea de alta calidad. Las mediciones sobre los datos de las revisiones por pares pueden proveer información sobre el número y tipo de defectos de encontrados 39 Distribución de las categorías de defectos para revisiones de unidades de diseño. Número de defectos Violaciones de estándares Defectos de Interfaz Defectos de lógica Otros 40 Distribución de las categorías de defectos para revisiones de unidades de diseño - Interpretación. La figura muestra un ejemplo de una distribución de posibles categorías de defectos para unidades de diseño de revisión. La figura puede usarse para determinar cuales categorías son la mayor fuente de defectos en un tipo de revisión determinado. En el ejemplo se observa que las fallas por no respetar los estándares es la categoría dominante seguida por los errores de interfaces. El personal de aseguramiento de la calidad debería tomar acciones para disminuir este tipo de defectos (por ej. Brindar una capacitación sobre estándares de diseño). 41 Densidad de defectos por cada actividad del ciclo de vida de un proyecto. 0 1 2 3 4 5 Análisis de requerimientos Diseño Diseño detallado de unidad Codificación de unidad Testeo de unidad Integración y test Actividad del ciclo de vida 42 Densidad de defectos por cada actividad del ciclo de vida de un proyecto - Interpretación La figura muestra información sobre la efectividad de los distintos tipos de revisiones. Si la densidad de los defectos en menor en las etapas tempranas del ciclo de vida que en las últimas, el SEPG debe analizar el proceso de revisión por pares en las etapas tempranas ya que es deseable encontrar defectos en forma temprana. Una vez que hay datos históricos recolectados se pueden usar para estimar el número de defectos esperado. 43 Número de cambios a requerimientos y aclaraciones de requerimientos con rangos. Categoría: ESTABILIDAD La falta de estabilidad en los requerimientos puede llevar a productos de baja calidad, incremento de los costos del proyecto y desvíos en la planificación del proyecto. El objetivo de este indicador es proveer al gerente del proyecto de softwarey al grupo de procesos de ingeniería de software (SEPG) visibilidad acerca de la naturaleza y magnitud de los cambios a requerimientos. 44 Número total de cambios a requerimientos y número de cambios por tipo de requerimiento. C am b io s a R eq u er im ie n to s ap ro b ad o s Meses 45 Número de cambios a requerimientos… (cont.) Interpretación: La figura muestra el número total de cambios a requerimientos aprobados hasta la fecha y los separa en tipo de requerimiento. El gerente del proyecto, el SEPG, o el personal de ingeniería de software puede determinar qué tipo de requerimiento es dominante. Si el gráfico muestra que la mayoría de los cambios se deben a un solo tipo de requerimiento, entonces la causa necesita ser determinada. Los tipos de requerimientos del gráfico fueron elegidos como representativos y no están completos. 46 Número de clases ofrecidas real vs. Estimado. Categoría: ENTRENAMIENTO Un staff entrenado es un activo importante para el gerente del proyecto de software. El gerente debe asegurar que el staff tiene las habilidades y conocimientos necesarios para realizar sus tareas asignadas. El objetivo de este indicador es proveer a los gerentes una visión del proceso de entrenamiento, para asegurar la utilización efectiva del entrenamiento y para proveer a los gerentes con una medida de las habilidades de su equipo de trabajo. 47 Número de clases ofrecidas cada mes Clases Meses 48 Número de clases ofrecidas real vs. Estimado (cont.) Interpretación: La figura muestra el número planificado de clases ofrecidas versus el número real ofrecido en un período. Existirá un gráfico para cada curso. La desviación del plan puede indicar la falta de un plan detallado, o compromiso con el plan de entrenamiento. La desviación también puede reflejar la falta de recursos, o un número insuficiente de estudiantes que requieren el curso. 49 Número de cambios al proceso Categoría: PERFORMANCE DEL PROCESO Un gran número de pedidos de cambios al proceso indica que el proceso no es tan eficiente como se cree o que no es apropiado para el proyecto. El objetivo de este indicador es proveer un valor de la estabilidad del proceso definido y proveer al SEPG con una idea de la calidad del proceso definido. 50 Número de cambios al proceso (cont.) Pedidos de cambio Cambios aprobados Pedidos de cambio al proceso Meses 51 Número de cambios al proceso (cont.) Interpretación: Un número alto de pedidos de cambios indica que el personal no comprende lo suficiente el proceso o que el proceso estándar es inapropiado y debe ser revisado. En el gráfico no se muestran los pedidos que fueron aprobados pero no incorporados. Los cambios a procesos deben ser cuidadosamente administrados, como los cambios a requerimientos. Una vez que un cambio a requerimiento es aprobado, debe realizarse una planificación apropiada para introducir el cambio. 52 Porcentaje de clientes satisfechos e insatisfechos. Categoría: SATISFACCIÓN DEL CLIENTE El objetivo de este indicador es proveer a los Gerentes Senior y a la Gerencia General una visión de cómo los clientes perciben el nivel de los productos y servicios brindados por la empresa. 53 Porcentaje de clientes insatisfechos 62 64 66 68 70 72 74 76 78 80 ju n- 03 se p- 03 di c- 03 m ar -0 4 ju n- 04 se p- 04 di c- 04 m ar -0 5 ju n- 05 se p- 05 di c- 05 54 Cantidad de clientes insatisfechos por causa 0 1 2 3 4 5 6 7 8 9 Tiempos de entrega Errores en el producto Conocimientos del personal Precio del producto Servicio Postventa 0,00 20,00 40,00 60,00 80,00 100,00 120,00 55 Porcentaje de clientes satisfechos e insatisfechos - Interpretación La primer figura muestra la tendencia del porcentaje de clientes satisfechos. Si esta tendencia es descendente, deben analizarse las causas y tomar acciones para revertir la situación. La segunda figura, muestra la cantidad de clientes insatisfechos por causa. Si el gráfico muestra una causa que predomina sobre las demás, el Gerente debe tomar las acciones correspondientes para eliminar el problema. Las causas presentadas son sólo una selección de las posibles. 56 Conclusiones Los indicadores vistos son solamente ejemplos, cada empresa debe seleccionar las variables que le sean útiles para poder gerenciar sus procesos y proyectos. Seleccionar dichas variables, es el punto más difícil del proceso de medición. Recordar siempre “mantenerlo simple”. Sin datos fieles es imposible conocer el estado de nuestros procesos y proyectos (dijo Demming “En Dios confío, los demás muéstreme datos”). 57 Fuentes Baumert, John y McWhinney Mark: “Software Measure and the Capability Maturity Model”. Software Engineering Institute, 1992. “The rational Edge”: edición de enero de 2003. www.therationaledge.com Zemel, Tami: “Software and systems measurement according to de PSM Approach”. Softeare Engineering Institute. “Capability Maturity Model® Integration (CMMISM)”, Versión 1.1. Staged Representation. Polo Tecnológico Rosario: “Curso introductorio CMMI”, 2003. Gonzalez, Alejandra, Tartarelli, Diego, Colombo, Viviana: “CMMI en Argentina”. 33 JAIIO. Concurso de trabajos estudiantiles EST 2004. Categoría Trabajos de Cátedra. Área Ingeniería de software. http://www.therationaledge.com/ http://www.therationaledge.com/ Sistemas de Gestión IIMétricas del Software Agenda Acerca de CMMI – Enfoque en procesos Premisa de la mejora de procesos La importancia de un modelo ¿Qué es CMMI? Estructura de CMMI (Representación por niveles) Niveles de madurez Nivel 1 – Inicial o realizado Nivel 2 - Administrado Nivel 3 - Definido Nivel 4 – Cuantitativamente administrado Nivel 5 - Optimizado Introducción a las mediciones: Algunas definiciones Usuarios de las mediciones Clasificación de indicadores Clasificación de indicadores (cont.) Clasificación de indicadores (cont.) Clasificación de indicadores (cont.) Clasificación de indicadores (cont.) Clasificación de indicadores (cont.) Clasificación de indicadores (cont.) Desarrollo de Indicadores Proporción de tiempo de retrabajo sobre el tiempo total de cada proyecto Proporción del tiempo de retrabajo… (cont.) Proporción de tiempo insumido en actividades de retrabajo para varios proyectos, con límites de control. Proporción del tiempo de retrabajo… (cont.) Proporción de tiempo de retrabajo sobre el tiempo total de cada proyecto Proporción del tiempo de retrabajo… (cont.) Costo real vs. estimado con límites de control Costo real vs. Estimado (cont.) Costo real vs. Estimado (cont.) Estado de los issues de no conformidades Estado de los issues de no conformidades (cont.) Estado de los issues de no conformidades (cont.) Resultado de revisiones por pares Distribución de las categorías de defectos para revisiones de unidades de diseño. Densidad de defectos por cada actividad del ciclo de vida de un proyecto. Densidad de defectos por cada actividad del ciclo de vida de un proyecto - Interpretación Número de cambios a requerimientos y aclaraciones de requerimientos con rangos. Número total de cambios a requerimientos y número de cambios por tipo de requerimiento. Número de cambios a requerimientos… (cont.) Número de clases ofrecidas real vs. Estimado. Número de clases ofrecidas cada mes Número de clases ofrecidas real vs. Estimado (cont.) Número de cambios al proceso Número de cambios al proceso (cont.) Número de cambios al proceso (cont.) Porcentaje de clientes satisfechos e insatisfechos. Porcentaje de clientes insatisfechos Cantidad de clientes insatisfechos por causa Porcentaje de clientes satisfechos e insatisfechos - Interpretación Conclusiones Fuentes
Compartir