8. Project Quality Management

 

8.1 La importancia de la administración de calidad

Muchas personas bromean acerca de la pobre calidad de productos de IT (ej. si los coches fueran fabricados por Microsoft).

La gente parece aceptar caídas ocasionales del sistema o la necesidad de reiniciar sus pc's.

La calidad es y debería ser un factor muy importante en los proyectos de IT.

 

8.2 Qué es Quality?

La International Organization for Standardization (ISO) define quality como “the degree to which a set of inherent characteristics fulfils requirements” (ISO9000:2000).

Otros expertos definen la calidad en base a:

Conformance to requirements: los procesos del proyecto y producto alcanzan las especificaciones establecidas.

Fitness for use: un producto puede ser utilizado tal como fue propuesto.

 

8.3 Qué es Project Quality Management?

Asegura que el proyecto satisfacerá las necesidad para la cuales fue emprendido.

Sus procesos son:

  • Quality planning: identificar cuales estándares de calidad son relevantes al proyecto y como satisfacerlos.

  • Quality assurance: evaluación periódica del rendimiento para asegurar que el proyecto satisfacerá los estándares de calidad.

  • Quality control: monitorear los resultados para asegurar que cumplen con los estándares.

 

 

8.4 Quality Planning

8.4.1 Definición

Implica la habilidad de anticipar situaciones y preparar acciones para obtener el resultado.

Se basa en el diseño de experimentos que ayudan a identificar las variables clave.

Importantante prevenir defectos por:

  • Seleccionar materiales apropiados.
  • Capacitar a las personas en calidad.
  • Planear un proceso que asegure el resultado.

 

 

8.4.2 Aspectos a considerar en proyectos de TI

Functionality es el grado en el cual un sistema desempeña la función deseada.

Features son las características que son apreciables al usuario.

System outputs son las pantallas y reportes que el sistema genera.

Performance que tan bien el producto o servicio desempeña el uso deseado.

Reliability es la abilidad del producto o servicio para desempeñarse en condiciones normales.

Maintainability facilidad de mantenimiento.

 

8.4.3 Quién es responsable de la calidad de los proyectos ?

Los project managers son a fin de cuentas los responsables de la calidad en sus proyectos.

Muchas organizaciones y/o referencias pueden ayudar al project manager a que su equipo entienda la el concepto de calidad

  • International Organization for Standardization (www.iso.org)
  • IEEE (www.ieee.org)

 

 

8.5 Quality Assurance

Quality assurance incluye todas las actividades relacionadas con satisfacer los niveles de calidad relevantes para el proyecto.

Otra meta del quality assurance es el mejoramiento continuo de la calidad.

Benchmarking genera ideas para mejorar la calidad comparando prácticas específicas o características del producto con otras fuera de la organización.

Un quality audit es una revisión estructurada del manejo de calidad que ayudan a identificar lecciones aprendidas que puedan mejorar el rendimiento en proyectos actuales o futuros.

 

Table of Contents for a Quality Assurance Plan

 

8.6 Quality Control

8.6.1 Definición

Monitorear los resultados para asegurar que cumplen con los estándares.

Sus principales outputs son:

  • Decisiones de aceptación o rechazo

  • Rehacer

  • Ajuste de procesos

Algunas herramientas y técnicas incluyen:

  • Pareto analysis
  • Statistical sampling
  • Six Sigma
  • Quality control charts

 

8.6.2 Pareto Analysis

 

Pareto analysis procura identificar los contribuidores de los mayores problemas de calidad en un sistema.

También llamado "regla 80-20", que quiere decir que el 80 % de los problemas se deben al 20% de las causas.

Pareto diagrams son histogramas, que muestran la distribución de frecuencia que ayuda a identificar y priorizar áreas problema.

 

Sample Pareto Diagram

 

8.6.3 Statistical Sampling and Standard Deviation

 

Statistical sampling involucra escoger una población para inspeccionar.

La medida de la muestra depende de qué tan representativa se requiera.

Ejemplo: Sample size = .25 X (certainty factor/acceptable error)2

* Para más información de muestreo, consultar algún material referente a Probabilidad y Estadística.

 

 

 

8.6.4 Six Sigma

Six Sigma es “un sistema comprensible y flexible para lograr, sostener y maximizar el éxito de negocio.  Six Sigma es conducido por un entendimiento profundo de las necesidades de usuario, uso disciplinado de hechos, análisis estadístico, atención a la administración, mejoramiento, reinvención de los procesos de negocio.”

 

Información básica de Six Sigma

 

El término sigma significa "desviación estándar".

Standard deviation mide que tanta variación existe en un distribución de datos.

La desviación estándar es un factor clave en determinar el número aceptable de defectos encontrados en una población.

El objetivo de perfección es lograr no más de 3.4 defectos por cada millón de oportunidades.

 

Normal Distribution and Standard Deviation

 

 

 

Six Sigma Conversion Table

 

Los principios pueden aplicar una gran variedad de procesos.

Los proyectos Six Sigma normalmente siguen un proceso de 5 fases de mejoramiento llamado DMAIC.

  • Define: Definir el problema/oportunidad, proceso, y requerimientos del cliente.

  • Measure: Definir medidas, entonces recolectar, compilar y desplegar datos.

  • Analyze: Registrar detalles de proceso para encontrar oportunidades de mejora.

  • Improve: Generar soluciones e ideas para mejorar el problema.

  • Control: Dar seguimiento y verificación de la estabilidad de las mejoras y la factibilidad de la solución.

 

 

 

 

Organizaciones empleando Six Sigma

Motorola, Inc. pionero en la adopción de Six Sigma es los 1980s y ahorro cerca de $14 billones de dólares.

Allied Signal/Honeywell ahorró má de $600 millones de dólares al año reduciendo costos por "rehacer" productos debido a defectos.

General Electric utiliza Six Sigma para lograr satisfacción del usuario.

 

 

 

8.6.5 Quality Control Charts

Un control chart es un desplegado gráfico de datos que ilustra los resultados de un proceso a lo largo del tiempo.

Su uso principal es prevenir defectos, más que detectarlos o rechazarlos.

Permiten decidir cuándo un proceso está bajo o fuera de control.

  • Cuando está bajo control, cualquier variación en los resultados del proceso son a causa de eventos aleatorios, dichos procesos no necesitan ser ajustados.
  • Cuando está fuera de control, variaciones en los resultados del proceso son causadas por eventos no aleatorios, se necesitan identificar las causas y ajustar los procesos para corregirlas o eliminarlas.

 

Seven Run Rule

A través de gráficas de control de calidad se puede aplicar la regla del "seven run", que indica si 7 puntos seguidos están fuera del rango esperado, entonces no son eventos aleatorios y el proceso necesita una revisión.

 

Sample Quality Control Chart

 

8.7 Testing

8.7.1 Definición

Muchos profesionales de TI, piensan en "pruebas" como una etapa muy al final del desarrollo.

Testing debe realizarse casi en cada fase del ciclo de vida del desarrollo.

Recordar que Testing Alone Is Not Enough

 

Testing Tasks in the Software Development Life Cycle

 

8.7.2 Tipos de Tests

Unit testing prueban cada componente de manera individual, tratando de asegurar que no haya defectos.

Integration testing occurre entre las pruebas de componentes y de sistema, para probar "agrupaciones" de componentes.

System testing prueba el sistema completo como una sola entidad.

User acceptance testing es un test independiente realizado por los usuarios finales antes de aceptar la entrega del sistema.

 

 

 

8.8 Modern Quality Management

8.8.1 Definición

Modern quality management:

  • Requiere satisfacción del cliente.

  • Prefiere prevención a inspección.

  • Reconoce responsabilidad administrativa para la calidad.

 

8.8.2 Quality Experts

Deming fue famoso por su trabajo en reincorporar Japón.

Juran escribió el Quality Control Handbook y 10 pasos para mejorar la calidad.

Crosby escribió Quality is Free y sugirió que las organizaciones se esfuerzan por "cero defectos".

Ishikawa desarrollo los conceptos de círculos de calidad y los diagramas fishbone.

Taguchi desarrollo métodos para optimizar el proceso de experimentación ingenieril.

Feigenbaum desarrolló el concepto de " total quality control".

 

Sample Fishbone or Ishikawa Diagram

 

 

8.8.3 ISO Standards

ISO 9000 es un sistema estándar de calidad (certificación) que contiene 3 partes:

  • Ciclo continuo de planeación
  • Control
  • Documentación de la calidad en la organización

ISO 15504, conocida como SPICE (Software Process Improvement and Capability dEtermination), es una plataforma para la evaluación de procesos de software.

ISO 9126, es un estándar internacional para la evaluación de software (Functionality, Reliability, Usability, Efficiency, Maintainability, Portability)

 

 

 

8.9 Cost of Quality

Es el costo de conformidad más el costo de no-conformidad.

Conformance (conformidad) significa entregar productos que alcancen los requerimientos y facilidad de uso.

Cost of nonconformance (no-conformidad) significa asumir la responsabilidad por fallas o no alcanzar las expectativas de calidad.

 

Costs Per Hour of Downtime Caused by Software Defects

 

Cinco costos relacionados a la calidad

  • Prevention cost: costo de planear y ejecutar un proyecto sin o casi sin errores.

  • Appraisal cost: costo de evaluar procesos.

  • Internal failure cost: costo incurrido por detectar y corregir defectos antes de que el cliente reciba el producto.

  • External failure cost: costo de todos los errores no detectados antes de la entrega.

  • Measurement and test equipment costs: costo capital del equipo usado para realizar prevención y avalúos.

 

 

8.10 Maturity Models

Maturity models son plataformas que ayudan a las organizaciones a mejorar sus procesos y sistemas.

El Software Quality Function Deployment Model se enfoca en definir requerimientos de usuario y planear proyectos de software.

El Software Engineering Institute’s Capability Maturity Model es un modelo de 5 niveles para mejorar procesos relacionados con el desarrollo de software.

 

CMM Levels

 

 

El Capability Maturity Model Integration (CMMI) está remplazando al viejo CMM ya que incluye ingeniería de software, ingeniería de sistemas y administración de proyectos.

 

CMMI Levels