480 likes | 705 Views
Diplomado en Calidad en el Software. Control de Procesos Estadístico para el Software. Statistical Process Control (SPC). Juan Antonio Vega Fernández. Derechos Reservados, 1999. Control de Procesos Estadístico. Métricas Dirigidas a Metas. Las 7 Herramientas de la Calidad.
E N D
Diplomado en Calidad en el Software Control de Procesos Estadístico para el Software Statistical Process Control (SPC) Juan Antonio Vega Fernández Derechos Reservados, 1999
Control de Procesos Estadístico Métricas Dirigidas a Metas Las 7 Herramientas de la Calidad Métricas del Proceso Métricas del Producto Jerarquía de Utilización de las Métricas Diplomado en Calidad en el Software Juan Antonio Vega Fernández Derechos Reservados, 1999
SPC en el Proceso del Software Diplomado en Calidad en el Software • La medición y técnicas estadísticas en la ingeniería del software se han estudiado por años. • Sin la información adecuada, sólo eres una persona con una opinión. Tracey O’Rourke • Los niveles 4 y 5 del CMM del SEI están basados en los conceptos del control de procesos estadístico. • El nivel 4 se enfoca a control de procesos basados en mediciones; las causas especiales de variación. • El nivel 5 es el proceso de mejora contínua basado en las causas comunes de variación. Juan Antonio Vega Fernández Derechos Reservados, 1999
CMM v. 2.0 Diplomado en Calidad en el Software • La versión 1.1 del CMM para el software hace énfasis en el pensamiento cuantitativo, en vez del estadístico. • La versión 2.0 propone el moverse a un mayor rigor estadístico. • La Administración de Procesos Cuantitativos se convertirá en Administración de Procesos Estadísticos. • El enfoque será conservador en un inicio. • La versión 2.0 fue abandonada a favor de CMMI Juan Antonio Vega Fernández Derechos Reservados, 1999
Entendiendo el nivel de madurez Administrado Diplomado en Calidad en el Software • Consiste en la aplicación de los principios del Control de Procesos Estadístico • Se enfoca a las variaciones del proceso por causas especiales. Identifica el problema en el proceso Juan Antonio Vega Fernández Derechos Reservados, 1999
Entendiendo el nivel de madurez Optimizado Diplomado en Calidad en el Software • Identifica y elimina causas comunes crónicas de pobre rendimiento. • Mejora contínuamente el proceso. Zona original de control de Calidad Nueva zona de control de Calidad Desperdicio Crónico Mejora de la Calidad Juan Antonio Vega Fernández Derechos Reservados, 1999
Nuevo Territorio Diplomado en Calidad en el Software • Los niveles 4 y 5 representan un territorio no explorado. • CMM expresa los aspectos cuantitativos del control y mejora de procesos muy flexiblemente. • El número de organizaciones en nivel 4 y 5 es todavia muy pequeño. • La mayor parte de lo que sabemos sobre SPC es por analogía con otras disciplinas o está basado en una población muy pequeña. Juan Antonio Vega Fernández Derechos Reservados, 1999
Métricas y Control Diplomado en Calidad en el Software • El uso de métricas es un avance importante para la mayoría de las organizaciones de software. • ¿Puede una implementación básica de CMM v. 1.1 no utilizar técnicas estadísticas? • ¿Nos ayudaría a entender mejor lo que sucede en nuestro proceso, nos daría mayor predictibilidad, mayor control? • Es difícil pensar que sin el Control de Procesos Estadístico podemos estar mejor que con él. Juan Antonio Vega Fernández Derechos Reservados, 1999
Contextualizando el uso de SPC Diplomado en Calidad en el Software • Sólo las organizaciones con nivel de madurez 3 o mayor tienen un proceso estable y capaz necesario para considerar SPC. • Las organizaciones de nivel 1 y 2 pueden hablar acerca de SPC, pero no pueden implementar un SPC exitoso. Juan Antonio Vega Fernández Derechos Reservados, 1999
Premisas del SPC del Software Diplomado en Calidad en el Software • El proceso de software es realizado por personas, no por máquinas. • El proceso de software es (o puede ser repetible), pero no repetitivo. • El acto de medir y analizar cambiará el comportamiento de las personas, potencialmente en maneras disfuncionales. Juan Antonio Vega Fernández Derechos Reservados, 1999
3 Preguntas Fundamentales Diplomado en Calidad en el Software • ¿Qué valor agregará SPC a la organización? • Objetivos de negocio importantes pueden incluir una mejor calidad, reducir el tiempo del proceso, etc. • ¿Qué técnicas estadísticas son apropiadas? • La implementación correcta de las técnicas adecuadas es crucial para el proceso. • ¿El introducir SPC causará comportamiento disfuncional? • Las mediciones cambian el comportamiento Juan Antonio Vega Fernández Derechos Reservados, 1999
Diplomado en Calidad en el Software SPC y el valor agregado al Negocio Juan Antonio Vega Fernández Derechos Reservados, 1999
El Valor Agregado al Negocio Diplomado en Calidad en el Software • Las metas, los objetivos, las estrategias y los planes de toda organización se basan en dos necesidades fundamentales. • Proveer productos o servicios competitivos en términos de funcionalidad, tiempo-para-el-mercado, calidad y costo. • Cumplir los compromisos para con los clientes con respecto a productos y servicios. El éxito en cumplir compromisos significa que los compromisos sean alcanzables. Esto implica la necesidad de predecir el resultado. Juan Antonio Vega Fernández Derechos Reservados, 1999
Diplomado en Calidad en el Software • Un fenómeno se dice que es controlado cuando, a través del uso de la experiencia pasada, nosotros podemos predecir, al menos dentro de ciertos límites, como ese fenómeno se espera que varíe en el futuro. Walter A. Shewhart, 1931 Juan Antonio Vega Fernández Derechos Reservados, 1999
Escuchando Voces Diplomado en Calidad en el Software • La voz del Proceso nos indica los límites naturales del rendimiento del proceso. • La voz del Cliente nos indica las metas establecidas para el producto y el rendimiento del proceso. Juan Antonio Vega Fernández Derechos Reservados, 1999
Estabilidad Diplomado en Calidad en el Software • ¿Está el proceso que estamos administrando comportándose predeciblemente? • El valor agregado está en tener una base para estimaciones y predicciones que nos permitan hacer compromisos. Juan Antonio Vega Fernández Derechos Reservados, 1999
Capacidad Diplomado en Calidad en el Software • ¿Es el proceso capaz de entregar productos que cumplen los requerimientos? • ¿El rendimiento del proceso cumple las necesidades de negocio de la organización? • El valor agregado esta en la base para hacer compromisos. Juan Antonio Vega Fernández Derechos Reservados, 1999
¿Por qué medir el Proceso? Diplomado en Calidad en el Software • Los procesos son críticos para ejecutar estrategias y planes dirigidos a objetivos del negocio. • Se enfocan en responsabilidades de administración fundamentales. • Los procesos tienen que estar controlados y mejorados para alcanzar las metas de negocio organizacionales. • Entender el pasado. • Controlar el presente. • Predecir el futuro. Juan Antonio Vega Fernández Derechos Reservados, 1999
El Paradigma de la Administración de Procesos Maduros Diplomado en Calidad en el Software Medir el Rendimiento del Proceso Es el proceso estable? no Remover Causas de inestabilidad Medición Acción si Es el proceso capaz? Cambiar Proceso no Mejora Contínua si Juan Antonio Vega Fernández Derechos Reservados, 1999
Las 4 Responsabilidades Claves de la Administración de Procesos Diplomado en Calidad en el Software • Definir el Proceso • Medir el Proceso • Controlar el Proceso • Mejorar el Proceso Mejorar el Proceso Controlar el Proceso Medir el Proceso Definir el Proceso Ejecutar el Proceso Juan Antonio Vega Fernández Derechos Reservados, 1999
Clarificar las metas del negocio si Nuevas metas, estrategias? no Identificar y priorizar los problemas si Nuevas métricas? Seleccionar y Definir Métricas no Diplomado en Calidad en el Software si Relación entre Medición y Administración de Procesos Nuevos Problemas? Recolectar, verificar y retener los datos no Analizar comportamiento del proceso Es el proceso estable? no Remover Causas de inestabilidad si Es el proceso capaz? Cambiar Proceso no Mejora Contínua si Juan Antonio Vega Fernández Derechos Reservados, 1999
Control de Procesos Estadístico Diplomado en Calidad en el Software • Ejemplo de Proceso en Control • Fig. 5-3 • Ejemplo de Proceso fuera de Control • Fig. 5-4 Juan Antonio Vega Fernández Derechos Reservados, 1999
Preocupaciones de la Administración Diplomado en Calidad en el Software • ¿Puede ser el proceso de software estable? ¿En verdad? • ¿Puede ser el proceso de software capaz? ¿En que dimensiones - costo, calendario, calidad? • ¿Pueden las gráficas de control y otras técnicas de control de procesos estadístico proveer entendimiento “insight” a los implementadores del proceso? • ¿Son la estabilidad y capacidad del proceso importantes para el negocio? Juan Antonio Vega Fernández Derechos Reservados, 1999
Diplomado en Calidad en el Software Técnicas Estadísticas para SPC Juan Antonio Vega Fernández Derechos Reservados, 1999
¿Por qué estadística? Diplomado en Calidad en el Software • Un simple promedio es una estadística • provee de una medida de tendencia central • la media, la mediana, la moda son otros ejemplos • Los promedios por sí solos no nos dan una medida de dispersión • ¿Que tánta variación hay en los datos? • Ejemplos incluyen la desviación estándar y la varianza Juan Antonio Vega Fernández Derechos Reservados, 1999
Avg Avg +/-20% Voz del Cliente ¿Por qué estadística? Diplomado en Calidad en el Software • Los clientes tienen requerimientos … • Los proveedores tienen alguna capacidad de satisfacer esos requerimientos … Juan Antonio Vega Fernández Derechos Reservados, 1999
¿Por qué estadística? Diplomado en Calidad en el Software • El promedio puede sugerir que el proveedor es capaz de satisfacer los requerimientos del cliente • Pero la voz del proceso nos puede dar una respuesta más adecuada, si sabemos escucharla. Avg +/- Voz del Proceso Caso 1 Avg +/- Voz del Proceso Caso 2 Juan Antonio Vega Fernández Derechos Reservados, 1999
Control de Procesos Estadístico Diplomado en Calidad en el Software • Uso de herramientas y técnicas estadísticas para analizar • Un proceso o sus salidas (productos)… • … para controlar, administrar y mejorar • La calidad de la salida o la capacidad del proceso. Juan Antonio Vega Fernández Derechos Reservados, 1999
Técnicas Estadísticas Diplomado en Calidad en el Software • SPC significa gráficas de control para la mayoría de las personas. • Las gráficas de control no son las únicas técnicas estadísticas que nos pueden ayudar. • Intervalos de confianza • Intervalos de predicción • Pruebas de hipótesis • Diseño de Experimentos Juan Antonio Vega Fernández Derechos Reservados, 1999
Las 7 Herramientas de Calidad Diplomado en Calidad en el Software • Tambien se pueden utilizar las 7 herramientas para SPC • Gráficas de correlación • Gráficas de corrida • Diagramas causa-efecto • Histogramas • Checklists - Gráfica de barras • Pareto • Gráficas de control Juan Antonio Vega Fernández Derechos Reservados, 1999
Preguntas Técnicas Diplomado en Calidad en el Software • ¿Qué métricas son importantes para controlar el proceso? • ¿Podemos medir todas las partes críticas del proceso y todos los atributos del producto? • ¿Deberíamos apoyarnos en tiempo/esfuerzo/costo como dependientes de la calidad? • ¿Es la calidad algo más que la densidad de defectos? • El proceso del software se debe controlar al nivel de: • ¿el individuo, el equipo o el proyecto? Juan Antonio Vega Fernández Derechos Reservados, 1999
Preguntas Técnicas Diplomado en Calidad en el Software • ¿Qué técnicas estadísticas pueden y deberían ser utilizadas? • ¿Qué técnicas de gráfica de control se deben aplicar al software? • Considera las gráficas XmR en primer lugar • En muchas ocaciones una de las otras 7 herramientas básicas son mejores que la gráfica de control. • Algunas veces se necesitan otras herramientas • QFD, pruebas de hipótesis, diseño de experimentos, etc. Juan Antonio Vega Fernández Derechos Reservados, 1999
¿Por qué se recomiendan las gráficas de control? Diplomado en Calidad en el Software • Las gráficas de control le permiten saber lo que el proceso puede hacer, de manera que se puedan asignar metas alcanzables. • Representan la voz del proceso. • Proveen la evidencia de estabilidad que justifica la predicción del rendimiento del proceso. Juan Antonio Vega Fernández Derechos Reservados, 1999
¿Por qué se recomiendan las gráficas de control? Diplomado en Calidad en el Software • Las gráficas de control nos ayudan a separar la señal del ruido, de manera que podamos reconocer cuando ocurre un cambio en el proceso. • Las gráficas de control identifican eventos inusuales. Señalan problemas que se pueden resolver y mejoras potenciales en el proceso. Juan Antonio Vega Fernández Derechos Reservados, 1999
Mitos acerca de la gráfica de control Diplomado en Calidad en el Software • Los datos tienen que estar normalizados antes de que sean puestos en la gráfica de control. • La gráfica de control trabaja por el teorema del límite central. • Las observaciones tienen que ser independientes. • Los datos tienen que estar controlados antes de graficarlos en la gráfica de control. Juan Antonio Vega Fernández Derechos Reservados, 1999
Fundamentos de las gráficas de Control Diplomado en Calidad en el Software • Siempre usa límites de control asignados a tres sigma de cada lado de la linea central. • Al calcular las tres sigma, siempre usa una estadística de dispersión del promedio. • Un fundamento conceptual es la noción de muestreo racional y agrupamiento racional. • Efectivo solo en la medida que la organización puede usar, de manera efectiva, la conocimiento obtenido de la gráfica de control. Juan Antonio Vega Fernández Derechos Reservados, 1999
Cómo saber si las necesito Diplomado en Calidad en el Software • ¿Está mi negocio rindiendo de acuerdo a lo esperado? • ¿Puedo localizar un problema? • ¿Qué tanta confianza tengo en mi entendimiento del proceso? Juan Antonio Vega Fernández Derechos Reservados, 1999
Justificación Económica Diplomado en Calidad en el Software • Las gráficas de control son importantes para • identificar y remover las causas especiales de variación. • balancear entre falsas alarmas y señales perdidas. • determinar la estabilidad y capacidad del proceso. Juan Antonio Vega Fernández Derechos Reservados, 1999
Las Seis Sigmas Diplomado en Calidad en el Software • El término seis sigmas representan un nivel riguroso de calidad, sirve para especificar un coeficiente de defecto: 3.4 partes defectuosas por millón (ppm). • Fué introducido por Motorola, Inc. a finales de los 80s, cuando ganó el primer Malcolm Baldrige National Quality Award. Juan Antonio Vega Fernández Derechos Reservados, 1999
Las Seis Sigmas Diplomado en Calidad en el Software • Sigma (s) es el símbolo utilizado para representar la desviación estándar. Las áreas bajo la curva de una distribución normal definida por la derivación estándar son constantes en términos de porcentajes. El área bajo la curva entre mas menos una derivación estandar significa 68.26%. El área definida por más/menos dos derivaciones estándar es 95.44%, así sucesivamente hasta llegar al área definina por más menos seis derivaciones estándar la cual es 99.9999998%, de tal forma que el área fuera de sigma seis es 100% - 99.9999998% = 0.0000002% Juan Antonio Vega Fernández Derechos Reservados, 1999
Las Seis Sigmas Diplomado en Calidad en el Software Juan Antonio Vega Fernández Derechos Reservados, 1999
Las Seis Sigmas Diplomado en Calidad en el Software • Si tomamos el área dentro del límite de sigma seis como el porcentaje de partes libres de fallas y el área fuera de los límites como el porcentaje de partes defectuosas, podemos ver que sigma seis es igual a dos partes defectuosas por billón o 0.002 partes defectuosas por millón. Es necesario involucrar las especificaciones para los límites, de tal forma que dadas las especificaciones (derivadas de los requerimientos del cliente), nuestro propósito es producir partes o productos dentro de esos límites. Juan Antonio Vega Fernández Derechos Reservados, 1999
Las Seis Sigmas Diplomado en Calidad en el Software • Si podemos reducir las variaciones en el proceso de producción tal que la variación seis sigmas del proceso de producción esté dentro de los límites, entonces tendremos un nivel de calidad sigma seis. • El valor sigma seis de 0.002 ppm asume que cada ejecución dentro del proceso de producción producirá la distribución exacta de las partes o productos dentro de los límites especificados, pero en la realidad existen procesos que cambian o modifican la ejecución del proceso. Juan Antonio Vega Fernández Derechos Reservados, 1999
Diplomado en Calidad en el Software Las Seis Sigmas Juan Antonio Vega Fernández Derechos Reservados, 1999
Las Seis Sigmas Diplomado en Calidad en el Software • El máximo proceso de cambio es 1.5 sigma, obtenido en base a investigaciones realizadas por M. J. Harry, debido a este cambio obtendremos 3.4 ppm, de tal forma que este cambio puede ser a la izquierda o a la derecha, de tal forma que si la variación es 1.5 sigma, por un lado tendremos 3.4 ppm y por el otro prácticamente cero. • Esta variación llegó a ser el estándar industrial en términos de los niveles de calidad de sigma seis. Juan Antonio Vega Fernández Derechos Reservados, 1999
Las Seis Sigmas Diplomado en Calidad en el Software • En el software, una falla es una variable binaria (el programa trabaja o no), por lo que se dificulta relacionarlo con distribuciones continuas como la distribución normal, pero en distribuciones discretas hay una aproximación equivalente a sigma seis en la teoría estadística. • Sigma seis es definido como 3.4 defectos por millones de líneas del código del producto en su tiempo de vida. Juan Antonio Vega Fernández Derechos Reservados, 1999
Las Seis Sigmas Diplomado en Calidad en el Software • IBM consideró el número de instrucciones fuente enviadas independientemente del tipo de lenguaje usado para el desarrollo del software. • Motorala, operacionaliza el denominador como las instrucciones equivalentes en lenguaje Ensamblador, por lo que usó una normalización de líneas de código en base a tablas donde se indicaba cuantas instrucciones de Ensamblador correspondían a una instrucción de un lenguaje de alto nivel. Juan Antonio Vega Fernández Derechos Reservados, 1999
Las Seis Sigmas Diplomado en Calidad en el Software • Entonces, al poder involucrar diferentes lengujes de desarrollo, tendríamos diferentes definiciones operacionales comparables. • Una línea de código PL/I es equivalente a cuatro líneas de Ensamblador y una línea de SMALLTALK es equivalente a 15 líneas de Ensamblador. Juan Antonio Vega Fernández Derechos Reservados, 1999