CALIDAD EN EL DESARROLLO DE
SOFTWARE
Agenda
1. Calidad de Software
2. Elementos de aseguramiento de calidad
3. Defect Prevention
4. Ampliación y eliminación de...
Calidad de Software
“Lo que ahoga a alguien no es caerse al río, sino mantenerse sumergido en el”
Proceso eficaz que se ap...
Calidad de Software
Un producto es de buena calidad si le sirve a quien lo adquiere y si este lo usa para
realizar la tare...
Calidad de Software
• Reglas del aseguramiento de la calidad del software:
 Regla del 67%: dos terceras partes de los err...
Calidad de Software
• Atributos de la calidad:
Atributos
Funcionalidad
Adecuación
Precisión
Seguridad
Cumplimiento
Fiabili...
Calidad de Software
• Calidad de Uso:
Atributos
Efectividad Productividad Seguridad Satisfacción
Calidad de Software
• Aseguramiento de la calidad:
Un patrón planificado y sistemático de acciones necesarias para para as...
Calidad de Software
• Costo de la calidad:
El costo de la calidad incluye costos que genera la calidad o que demanda el
de...
Calidad de Software
• Proceso básico de SQA:
Calidad de Software
• Proceso básico de pruebas:
Elementos de Aseguramiento de Calidad
• Estándares: Aplicar los estándares establecidos y definir todos aquellos que permi...
Elementos de Aseguramiento de Calidad
• Revisiones: Realizar actividades orientadas a validar la calidad de los productos ...
Elementos de Aseguramiento de Calidad
• Revisiones: En todos los proyecto se deben realizar por menos una IQA / EQA a mita...
Elementos de Aseguramiento de Calidad
• Revisiones: El 60% de los errores de un proyecto son detectados por este medio
con...
Elementos de Aseguramiento de Calidad
• Pruebas: Función de control de calidad que tiene como objetivo principal detectar
...
Elementos de Aseguramiento de Calidad
• Recolección y análisis de errores: Realizar mediciones en los puntos de control,
a...
Elementos de Aseguramiento de Calidad
• Educación: Determinar las necesidades de conocimiento relacionadas con la
generaci...
Elementos de Aseguramiento de Calidad
• Estimaciones: En los procesos de desarrollo de software se deben considerar como
p...
Defect Prevention
• Que es un defecto:
• Un defecto en un producto es:
• Producto que no cumpla los requisitos documentado...
Defect Prevention
• Proceso:
• Responsables:
• Desarrolladores: Realizar IQA.
• Revisores asignados: Realizar EQA.
• Equip...
Ampliación y Eliminación de Defectos
• “Dicen los médicos que en sus inicios algunas enfermedades son fáciles de curar
per...
Eficacia en la remoción de defectos
• Medición de la capacidad de remoción de los defectos detectados. Se evalúa con la
si...
Inspecciones y Revisiones Técnicas
• Proceso básico revisiones:
Inspecciones y Revisiones Técnicas
• Esfuerzo realizado con y sin revisiones:
Esfuerzo
Tiempo
Sin
Inspecciones
Con
Inspecc...
Inspecciones y Revisiones Técnicas
• Costos y Fallas con y sin revisiones:
Costos
Inspecciones y Revisiones Técnicas
• Resultados obtenidos con y sin revisiones:
Proceso
Construcción de
Software
Entra bas...
Inspecciones y Revisiones Técnicas
• Modelo de referencia:
• Responsables:
• Equipo de QA de la documentación
• Equipo de ...
Control Estadístico
• Objetivos:
• Detectar y clasificar los defectos del software.
• Rastrear cada defecto a su causa sub...
Control Estadístico
• Método:
• Muestreo estadístico doble por atributos: Se evalúan y validan todos los
atributos de cali...
Estándares
Documentación Programación
Implícitos
No Funcionales
Calidad Proactiva
• Calidad Proactiva: La calidad es una acción proactiva donde todos los miembros del
equipo deben partic...
Objetivos y Meta del Proceso
• Meta:
• Entregar productos de calidad que cumplan con los requerimientos funcionales
establ...
Objetivos y Meta del Proceso
• Objetivos:
• Entregar productos de calidad que cumplan con los requerimientos del cliente y...
Calidad en el desarrollo de software
Próxima SlideShare
Cargando en…5
×

Calidad en el desarrollo de software

811 visualizaciones

Publicado el

Calidad en el desarrollo de software y mejores prácticas

Publicado en: Software
0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
811
En SlideShare
0
De insertados
0
Número de insertados
6
Acciones
Compartido
0
Descargas
25
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

Calidad en el desarrollo de software

  1. 1. CALIDAD EN EL DESARROLLO DE SOFTWARE
  2. 2. Agenda 1. Calidad de Software 2. Elementos de aseguramiento de calidad 3. Defect Prevention 4. Ampliación y eliminación de defectos 5. Eficacia en la remoción de defectos 6. Inspecciones y Revisiones Técnicas 7. Control Estadístico 8. Estándares 9. Calidad Proactiva 10. Objetivos y Meta del proceso
  3. 3. Calidad de Software “Lo que ahoga a alguien no es caerse al río, sino mantenerse sumergido en el” Proceso eficaz que se aplica de manera que crea un producto útil que proporciona valor medible a quienes lo producen y a quienes lo utilizan. Debe estar alineado a los estándares relacionados con el aseguramiento de la calidad en los entregables y la gestión de riesgos. Producto que funciona Buena calidad Entrega dentro de presupuesto y plazo Satisfacción del usuario
  4. 4. Calidad de Software Un producto es de buena calidad si le sirve a quien lo adquiere y si este lo usa para realizar la tarea para lo que fue concebido. Practicar el control de calidad consiste en realizar las acciones necesarias para este producto cumpla con los atributos de calidad y con las prestaciones que lo califican. Un proceso que implique el aseguramiento de calidad de los productos, bien concebido e implementado generará la mayor cantidad de las veces productos de buena calidad. Proceso de calidad Colaboración del equipo Mejor calidad, bajos costos
  5. 5. Calidad de Software • Reglas del aseguramiento de la calidad del software:  Regla del 67%: dos terceras partes de los errors son introducidos en las fases de análisis y diseño.  Regla del 60/1000: Por cada 1000 líneas de código, son introducidos 60 errors.  Regla del 80%: Todo proceso inpección logra detector 80% de los errors.
  6. 6. Calidad de Software • Atributos de la calidad: Atributos Funcionalidad Adecuación Precisión Seguridad Cumplimiento Fiabilidad Tolerancia a Fallos Recuperación Usabilidad Comprensibilidad Aprendizaje Eficiencia Uso de recursos Mantenibilidad Analizable Modificable Estabilidad Fácil de Probar Portabilidad Adaptabilidad Co-existencia
  7. 7. Calidad de Software • Calidad de Uso: Atributos Efectividad Productividad Seguridad Satisfacción
  8. 8. Calidad de Software • Aseguramiento de la calidad: Un patrón planificado y sistemático de acciones necesarias para para asegurar que el producto cumple con los requisitos funcionales y técnicos establecidos. • Control de calidad: Conjunto de acciones que ayudan a asegurar que todo producto cumpla con las metas de calidad establecidas. Tiempo Costos Alcance Calidad
  9. 9. Calidad de Software • Costo de la calidad: El costo de la calidad incluye costos que genera la calidad o que demanda el desarrollo de actividades relacionada con la calidad. Se divide en: • Costos asociados con prevención: Revisiones técnicas. • Costos asociados con la evaluación: inspecciones en el proceso y fallas. • Garantía de la calidad: Consiste en un conjunto de funciones de auditoría e información que evalúa la efectividad y completitud de las actividades de control y aseguramiento de la calidad.
  10. 10. Calidad de Software • Proceso básico de SQA:
  11. 11. Calidad de Software • Proceso básico de pruebas:
  12. 12. Elementos de Aseguramiento de Calidad • Estándares: Aplicar los estándares establecidos y definir todos aquellos que permitan mejorar la calidad de los productos. Aseguramiento Marco de referencia Estándares propios Revisiones Control de Calidad
  13. 13. Elementos de Aseguramiento de Calidad • Revisiones: Realizar actividades orientadas a validar la calidad de los productos en cada punto de control del proceso. Las revisiones incluyen las revisiones técnicas, IQA’s y EQA’s. • IQA: Evaluaciones internas al equipo del proyecto. • EQA: Evaluaciones externas al equipo del proyecto. • Todas las IQA’s y EQA’s deben ser registradas en IPMS.
  14. 14. Elementos de Aseguramiento de Calidad • Revisiones: En todos los proyecto se deben realizar por menos una IQA / EQA a mitad del proyecto y al final. • Criterios para realizar las IQA y EQA: • Dividir las unidades de revisión en Simple, Medio y Complejo y tomar al menos 20% de cada componente para realizar la IQA. • Seleccionar 10% de las unidades que han tenido número máximo de defectos en la IQA para realizar EQA.
  15. 15. Elementos de Aseguramiento de Calidad • Revisiones: El 60% de los errores de un proyecto son detectados por este medio contra el 40% restante detectados por los test. 40% 60%
  16. 16. Elementos de Aseguramiento de Calidad • Pruebas: Función de control de calidad que tiene como objetivo principal detectar errores. Como punto de control se exigirá la elaboración del plan de pruebas unitarias requerido como parte de los entregables del proyecto. Diseño de pruebas unitarias Plan de pruebas, Casos de pruebas y evidencia de pruebas unitarias Especificar casos de pruebas unitarias Describir casos de pruebas unitarias Ejecutar y documentar casos de pruebas unitarias
  17. 17. Elementos de Aseguramiento de Calidad • Recolección y análisis de errores: Realizar mediciones en los puntos de control, analizar y aplicar las acciones correctivas. Control de calidad Recolección de datos Análisis de datos Determinar acciones correctivas Aplicar Acciones correctivas
  18. 18. Elementos de Aseguramiento de Calidad • Educación: Determinar las necesidades de conocimiento relacionadas con la generación de productos de software de calidad y planificar los programas de capacitación que permitan darlos a conocer al personal. Necesidades Debilidades Programas de capacitación
  19. 19. Elementos de Aseguramiento de Calidad • Estimaciones: En los procesos de desarrollo de software se deben considerar como parte de las actividades de estimación factores de calculo que permitan predecir la cantidad de defectos que se pueden generar en cada fase de un proyecto de desarrollo de software de modo de establecer de forma clara las actividades de prevención de defectos.
  20. 20. Defect Prevention • Que es un defecto: • Un defecto en un producto es: • Producto que no cumpla los requisitos documentados. • No es apto para su uso. • Un defecto en un proceso es: Desviación no autorizada del proceso y procedimiento aprobado. • Impacto de los defectos: Los defectos tienen un impacto importante en la satisfacción del cliente. resultado de defectos en la considerable reelaborar lo que conduce tanto a horario y el deslizamiento esfuerzo.
  21. 21. Defect Prevention • Proceso: • Responsables: • Desarrolladores: Realizar IQA. • Revisores asignados: Realizar EQA. • Equipo QA: (Documentación / Código), realizar análisis causal y definir planes de acción. Proceso de Software Identificación de defectos: IQA s, EQA s, Revisones, Pruebas Remoción del defecto Acción Correctiva Análisis Causal Prevención de Defectos: Plan para prevenirlo en el futuro Modificación del plan y/o proceso de software Prevención de defectos
  22. 22. Ampliación y Eliminación de Defectos • “Dicen los médicos que en sus inicios algunas enfermedades son fáciles de curar pero difíciles de reconocer… más con el paso del tiempo, si no se detectaron al principio, se vuelven fáciles de reconocer pero difíciles de curar” Nicolás Maquiavelo Errores de la Etapa anterior Errores que pasan a la siguiente etapa Etapa Errores pasados por alto Errores amplificados Nuevos Errores generados Porcentaje de eficiencia en la detección y eliminación de errores
  23. 23. Eficacia en la remoción de defectos • Medición de la capacidad de remoción de los defectos detectados. Se evalúa con la siguiente ecuación: • Donde: • E = Número de errores detectados en la inspección • D = Número de defectos detectados después de la corrección pos-inspección. 𝐸𝑅𝐷 = 𝐸 𝐸+𝐷
  24. 24. Inspecciones y Revisiones Técnicas • Proceso básico revisiones:
  25. 25. Inspecciones y Revisiones Técnicas • Esfuerzo realizado con y sin revisiones: Esfuerzo Tiempo Sin Inspecciones Con Inspecciones Entrega
  26. 26. Inspecciones y Revisiones Técnicas • Costos y Fallas con y sin revisiones: Costos
  27. 27. Inspecciones y Revisiones Técnicas • Resultados obtenidos con y sin revisiones: Proceso Construcción de Software Entra basura Incrementa los costos por retrabajo y reprocesamiento Sale basura Disminuye la credibilidad Proceso Construcción de Software Entran insumos De calidad Se reducen los costos Salen productos de calidad Incrementa la credibilidad
  28. 28. Inspecciones y Revisiones Técnicas • Modelo de referencia: • Responsables: • Equipo de QA de la documentación • Equipo de QA del código / Catalogaciones Planificar Se conoce el proyecto No Visión General Si Preparación Realizar inspección Se encontraron defectos No Validar estado defectos Si Validar y corregir defectos Clasificar defectos Se requiere nueva inspección Generar reporte de defectos por tipo NoGenerar MétricasFin Si Si
  29. 29. Control Estadístico • Objetivos: • Detectar y clasificar los defectos del software. • Rastrear cada defecto a su causa subyacente. • Aislar las causas vitales de la fuente principal de todos los errores. • Corregir los problemas que han causado los defectos. 17 8 9 10 6 7 9 16 7 10 14 8 6 8 16 11 5 11 12 9 0 5 10 15 20 25 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Datos Media LSC LIC
  30. 30. Control Estadístico • Método: • Muestreo estadístico doble por atributos: Se evalúan y validan todos los atributos de calidad del software basados en criterios de aceptación estadística.
  31. 31. Estándares Documentación Programación Implícitos No Funcionales
  32. 32. Calidad Proactiva • Calidad Proactiva: La calidad es una acción proactiva donde todos los miembros del equipo deben participar en forma proactiva en la prevención, detección de oportunidades de mejora, solución de defectos y definición de planes de acción. Acción Preventiva Evaluar riesgos del proyecto Definir planes de acción preventiva Revisiones técnicas, IQA’s y EQA’s Determinar oportunidades de mejora
  33. 33. Objetivos y Meta del Proceso • Meta: • Entregar productos de calidad que cumplan con los requerimientos funcionales establecidos y no funcionales, dentro de los tiempos y costos estimados en cada proyecto, reduciendo los costos asociados del re-trabajo mediante la implementación de controles para el aseguramiento de la calidad progresiva en el proceso de desarrollo de software en todos los proyectos y con un índice de CERO DEFECTOS.
  34. 34. Objetivos y Meta del Proceso • Objetivos: • Entregar productos de calidad que cumplan con los requerimientos del cliente y requisitos implícitos de calidad. • Asegurar la participación activa del equipo en todas las actividades de aseguramiento de la calidad. • Realizar revisiones en todos los proyectos tanto de IQA como de EQA en forma objetiva. • Reportar cualquier cambio solicitado de forma no oficial en los proyectos ya que esto afecta la calidad. • Llevar un control claro y conciso de los defectos generados en el software que permita establecer oportunidades de mejora, controlar el tiempo invertido en re-trabajo y gestionar el costo de la calidad.

×