3 u3 mecanicas_calidad1

243 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
243
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • {"9":"IEEE Std 1012-1998, IEEE standard for software verification and validation \n","47":"RUP, Rational Unified Process Version 7.0.1, IBM Corporation 1987, 2005\n","28":"RUP, Rational Unified Process Version 7.0.1, IBM Corporation 1987, 2005\n","66":"RUP, Rational Unified Process Version 7.0.1, IBM Corporation 1987, 2005\n","19":"ISO/IEC 12207:1995, Standard for Information Technology — Software Life Cycle Processes\n","57":"RUP, Rational Unified Process Version 7.0.1, IBM Corporation 1987, 2005\n","38":"RUP, Rational Unified Process Version 7.0.1, IBM Corporation 1987, 2005\n","10":"cb.mty.itesm.mx/.../Modulo%201%20-%20Introduccion%20a%20Verificacion%20y%20Validacion%20de%20SW.pdf \nhttp://en.wikipedia.org/wiki/Software_verification\n","48":"RUP, Rational Unified Process Version 7.0.1, IBM Corporation 1987, 2005\n","29":"RUP, Rational Unified Process Version 7.0.1, IBM Corporation 1987, 2005\n","67":"RUP, Rational Unified Process Version 7.0.1, IBM Corporation 1987, 2005\n","20":"ISO/IEC 12207:1995, Standard for Information Technology — Software Life Cycle Processes\n","58":"RUP, Rational Unified Process Version 7.0.1, IBM Corporation 1987, 2005\n","39":"RUP, Rational Unified Process Version 7.0.1, IBM Corporation 1987, 2005\n","68":"RUP, Rational Unified Process Version 7.0.1, IBM Corporation 1987, 2005\n","30":"RUP, Rational Unified Process Version 7.0.1, IBM Corporation 1987, 2005\n","11":"IEEE Std 1012-1998, IEEE standard for software verification and validation \n","49":"RUP, Rational Unified Process Version 7.0.1, IBM Corporation 1987, 2005\n","21":"ISO/IEC 12207:1995, Standard for Information Technology — Software Life Cycle Processes\n","59":"RUP, Rational Unified Process Version 7.0.1, IBM Corporation 1987, 2005\n","2":"RUP, Rational Unified Process Version 7.0.1, IBM Corporation 1987, 2005.\n","40":"RUP, Rational Unified Process Version 7.0.1, IBM Corporation 1987, 2005\n","69":"RUP, Rational Unified Process Version 7.0.1, IBM Corporation 1987, 2005\n","31":"RUP, Rational Unified Process Version 7.0.1, IBM Corporation 1987, 2005\n","12":"ISO/IEC 12207:1995, Standard for Information Technology — Software Life Cycle Processes\n","50":"RUP, Rational Unified Process Version 7.0.1, IBM Corporation 1987, 2005\n","3":"RUP, Rational Unified Process Version 7.0.1, IBM Corporation 1987, 2005\n","41":"RUP, Rational Unified Process Version 7.0.1, IBM Corporation 1987, 2005\n","22":"ISO/IEC 12207:1995, Standard for Information Technology — Software Life Cycle Processes\n","60":"RUP, Rational Unified Process Version 7.0.1, IBM Corporation 1987, 2005\n","70":"RUP, Rational Unified Process Version 7.0.1, IBM Corporation 1987, 2005\n","32":"RUP, Rational Unified Process Version 7.0.1, IBM Corporation 1987, 2005\n","13":"ISO/IEC 12207:1995, Standard for Information Technology — Software Life Cycle Processes\n","51":"RUP, Rational Unified Process Version 7.0.1, IBM Corporation 1987, 2005\n","4":"RUP, Rational Unified Process Version 7.0.1, IBM Corporation 1987, 2005\n","42":"RUP, Rational Unified Process Version 7.0.1, IBM Corporation 1987, 2005\n","23":"ISO/IEC 12207:1995, Standard for Information Technology — Software Life Cycle Processes\n","61":"RUP, Rational Unified Process Version 7.0.1, IBM Corporation 1987, 2005\n","14":"ISO/IEC 12207:1995, Standard for Information Technology — Software Life Cycle Processes\n","52":"RUP, Rational Unified Process Version 7.0.1, IBM Corporation 1987, 2005\n","33":"RUP, Rational Unified Process Version 7.0.1, IBM Corporation 1987, 2005\n","43":"RUP, Rational Unified Process Version 7.0.1, IBM Corporation 1987, 2005\n","24":"ISO/IEC 12207:1995, Standard for Information Technology — Software Life Cycle Processes\n","62":"RUP, Rational Unified Process Version 7.0.1, IBM Corporation 1987, 2005\n","5":"RUP, Rational Unified Process Version 7.0.1, IBM Corporation 1987, 2005\n","15":"ISO/IEC 12207:1995, Standard for Information Technology — Software Life Cycle Processes\n","53":"RUP, Rational Unified Process Version 7.0.1, IBM Corporation 1987, 2005\n","34":"RUP, Rational Unified Process Version 7.0.1, IBM Corporation 1987, 2005\n","25":"RUP, Rational Unified Process Version 7.0.1, IBM Corporation 1987, 2005\n","63":"RUP, Rational Unified Process Version 7.0.1, IBM Corporation 1987, 2005\n","6":"RUP, Rational Unified Process Version 7.0.1, IBM Corporation 1987, 2005\n","44":"RUP, Rational Unified Process Version 7.0.1, IBM Corporation 1987, 2005\n","54":"RUP, Rational Unified Process Version 7.0.1, IBM Corporation 1987, 2005\n","35":"RUP, Rational Unified Process Version 7.0.1, IBM Corporation 1987, 2005\n","16":"ISO/IEC 12207:1995, Standard for Information Technology — Software Life Cycle Processes\n","26":"RUP, Rational Unified Process Version 7.0.1, IBM Corporation 1987, 2005\n","64":"RUP, Rational Unified Process Version 7.0.1, IBM Corporation 1987, 2005\n","7":"RUP, Rational Unified Process Version 7.0.1, IBM Corporation 1987, 2005\n","45":"RUP, Rational Unified Process Version 7.0.1, IBM Corporation 1987, 2005\n","36":"RUP, Rational Unified Process Version 7.0.1, IBM Corporation 1987, 2005\n","17":"ISO/IEC 12207:1995, Standard for Information Technology — Software Life Cycle Processes\n","55":"RUP, Rational Unified Process Version 7.0.1, IBM Corporation 1987, 2005\n","65":"RUP, Rational Unified Process Version 7.0.1, IBM Corporation 1987, 2005\n","8":"Capability Maturity Model® Integration (CMMISM), Version 1.1 \nStaged Representation CMU/SEI-2002-TR-029 ESC-TR-2002-029\nVerification: “you built it right”\nValidation: “you built the right thing”\n","46":"RUP, Rational Unified Process Version 7.0.1, IBM Corporation 1987, 2005\n","27":"RUP, Rational Unified Process Version 7.0.1, IBM Corporation 1987, 2005\n","37":"RUP, Rational Unified Process Version 7.0.1, IBM Corporation 1987, 2005\n","18":"ISO/IEC 12207:1995, Standard for Information Technology — Software Life Cycle Processes\n","56":"RUP, Rational Unified Process Version 7.0.1, IBM Corporation 1987, 2005\n"}
  • 3 u3 mecanicas_calidad1

    1. 1. Mecánicas de Calidad I: en el Ciclo de Vida Introducción Verificación y Validación Evaluaciones, Revisiones e Inspecciones Aplicación de la Calidad del Software en el Proceso de Desarrollo
    2. 2. Aplicación de la Calidad del Software en el Proceso de Desarrollo Introducción • Administrar la calidad se realiza por las siguientes razones – Para identificar los indicadores apropiados (métricas) de calidad aceptable – Para identificar las medidas apropiadas para ser utilizadas en la evaluación y revisión de calidad – Para identificar y dirigir adecuadamente asuntos que afectan la calidad tan temprana y eficazmente como sea posible
    3. 3. Aplicación de la Calidad del Software en el Proceso de Desarrollo Introducción • En general administrar la calidad a través del ciclo de vida significa que se implementan, se miden y evalúan tanto la calidad del proceso como la calidad del producto • Basados en proceso de desarrollo como el del proceso unificado se pueden identificar algunos de los esfuerzos enfocados a administrar la calidad en cada fase
    4. 4. Aplicación de la Calidad del Software en el Proceso de Desarrollo Introducción • Requerimientos. El flujo de trabajo de esta fase para administrar la calidad incluye analizar el conjunto de artefactos (productos de software) de requerimientos para su consistencia (entre los artefactos estándar y otros artefactos), claridad (que la información se comunique claramente entre todos los roles) y precisión (el nivel apropiado de detalle y exactitud
    5. 5. Aplicación de la Calidad del Software en el Proceso de Desarrollo Introducción • Análisis y Diseño. En esta fase administrar la calidad incluye valorar el conjunto de artefactos de diseño, incluyendo la consistencia de elementos como el modelo de diseño, su traducción desde los elementos de requerimientos y su traducción en los elementos de implementación • Implementación. En esta fase administrar la calidad incluye valorar los elementos de implantación y evaluar el código fuente o los elementos ejecutables contra los elementos de requerimientos, diseño y pruebas
    6. 6. Aplicación de la Calidad del Software en el Proceso de Desarrollo Introducción • Pruebas. Esta fase está enfocada altamente hacia la administración de la calidad y la mayoría de los esfuerzos se enfocan en los propósitos de administración de la calidad • Despliegue. En esta fase se incluye valorar los artefactos de implementación y despliegue, y evaluar los artefactos ejecutables y de despliegue contra los elementos apropiados de requerimientos, diseño y prueba necesarias para entregar el software al cliente
    7. 7. Aplicación de la Calidad del Software en el Proceso de Desarrollo Introducción • El Ambiente de desarrollo, también es considerado al administrar la calidad pues éste puede ser configurado de la mejor manera para que el proceso de desarrollo cumpla las necesidades • El rol del Administrador del Proyecto (o su equivalente) incluye la responsabilidad de muchos de los esfuerzos para administrar la calidad, incluyendo las revisiones y auditorías requeridas para evaluar la implantación, apego y progreso del proceso de desarrollo
    8. 8. Aplicación de la Calidad del Software en el Proceso de Desarrollo Verificación y Validación • La Verificación confirma que los productos de trabajo reflejan adecuadamente los requerimientos especificados para ellos. En otras palabras, la verificación se asegura de que “se construyó correcto” • La Validación, por su parte, confirma que el producto, como fue entregado, cumplirá con el uso pretendido. En otras palabras, la validación se asegura de que “se construyó lo correcto”
    9. 9. Aplicación de la Calidad del Software en el Proceso de Desarrollo Verificación y Validación • La norma IEEE 1012:2004 (Standard for Software Verification and Validation) Estándar para la Verificación y Validación del software, incluye las siguientes definiciones • Validación – Es el proceso de evaluar un sistema o un componente durante o al final del proceso de desarrollo para determinar si satisface requerimientos específicos • Verificación – Es el proceso de evaluar un sistema o un componente para determinar si los productos de una fase de desarrollo satisfacen las condiciones impuestas al inicio de cada fase
    10. 10. Aplicación de la Calidad del Software en el Proceso de Desarrollo Verificación y Validación • Existen dos perspectivas fundamentales para la verificación • La verificación Dinámica – Ejercitar y observar el comportamiento del producto – Normalmente = Pruebas del sistema • La verificación Estática – Analizar representación estática del sistema – Normalmente = Revisiones de productos de trabajo
    11. 11. Aplicación de la Calidad del Software en el Proceso de Desarrollo Verificación y Validación Verificación y Validación Estática Plan de Trabajo Requerimientos Prototipo Producto de Trabajo Arquitectura Diseño Detallado Código Verificación y Validación Dinámica
    12. 12. Aplicación de la Calidad del Software en el Proceso de Desarrollo Verificación y Validación • Según la ISO/IEC 12207, el proceso de verificación es el proceso de determinar si los productos de software de una actividad cumple los requerimientos o condiciones impuestas a éste en actividades previas • Para efectividad en los costos y desempeño, la verificación debe estar integrada, tan temprano como sea posible, dentro del proceso que lo emplea (tales como proveer, desarrollar, operar o mantener) • Este proceso puede incluir análisis, revisiones y pruebas
    13. 13. Aplicación de la Calidad del Software en el Proceso de Desarrollo Verificación y Validación • La actividad de verificación consiste las siguientes tareas, con sus respectivos criterios a incluir en la verificación • Verificación de Contratos a. El proveedor tiene la capacidad de satisfacer los requerimientos b. Los requerimientos son consistentes y cubren las necesidades de los usuarios
    14. 14. Aplicación de la Calidad del Software en el Proceso de Desarrollo Verificación y Validación • Verificación de Contratos c. Existen procedimientos adecuados para el control de cambios y la escalación de problemas d. Los procedimientos y su alcance para las interfases y la cooperación entre las partes son estipuladas, incluyendo la propiedad, los derechos de autor y la confidencialidad e. Los criterios de aceptación y sus procedimientos están estipulados de acuerdo con los requerimientos
    15. 15. Aplicación de la Calidad del Software en el Proceso de Desarrollo Verificación y Validación • Verificación de Procesos a. La planeación de los requerimientos del proyecto son adecuados y oportunos b. Los procesos seleccionados para el proceso son adecuados, están implantados, se ejecutan de acuerdo a lo planeado y cumplen con el contrato c. Los estándares, procedimientos y ambientes para los procesos del proyecto son adecuados d. El proyecto tiene el personal entrenado como lo define el contrato
    16. 16. Aplicación de la Calidad del Software en el Proceso de Desarrollo Verificación y Validación • Validación de Requerimientos a. Los requerimientos del sistema son consistentes, factibles y se pueden probar b. Los requerimientos del sistema han sido asignados apropiadamente a los elementos de hardware, de software y operaciones manuales de acuerdo a los criterios de diseño c. Los requerimientos de software son consistentes, factibles, se pueden probar y reflejan de manera precisa los requerimientos del sistema d. Los requerimientos del software están relacionadas a la seguridad, certidumbre y de manera correcta
    17. 17. Aplicación de la Calidad del Software en el Proceso de Desarrollo Verificación y Validación • Verificación de Diseño a. El diseño es correcto y consistente con los requerimientos y es rastreable a ellos b. Los diseños implementan la secuencia adecuada de eventos, entradas, salidas, interfases, flujos, asignación de presupuestos de tiempos y de tamaños, definición de errores, de aislamiento y de recuperación c. El diseño seleccionado puede ser derivado de los requerimientos d. El diseño implementa los requerimientos de seguridad, certidumbre y otros de manera correcta
    18. 18. Aplicación de la Calidad del Software en el Proceso de Desarrollo Verificación y Validación • Verificación de Código a. El código es rastreable al diseño y a los requerimientos, se puede probar, es correcto y cumple con los requerimientos y los estándares de código b. El código implementa la correcta secuencia de eventos, interfases consistentes, datos correctos y flujo de control, completitud, asignación adecuada de presupuestos de tiempo y de tamaño, y definición de errores, aislamiento y recuperación c. El código seleccionado puede derivarse desde el diseño o de los requerimientos d. El código implementa los requerimientos de seguridad, certidumbre y otros de manera correcta
    19. 19. Aplicación de la Calidad del Software en el Proceso de Desarrollo Verificación y Validación • Verificación de la Integración a. Los componentes de software y las unidades de cada componente han sido completa y correctamente integrados dentro del elemento de software b. Los elementos de hardware, elementos de software y operaciones manuales del sistema han sido completa y correctamente integrados dentro del sistema c. Las tareas de integración han sido ejecutadas de acuerdo con una plan de integración
    20. 20. Aplicación de la Calidad del Software en el Proceso de Desarrollo Verificación y Validación • Verificación de la Documentación a. La documentación es adecuada, completa y consistente b. La preparación de la documentación es oportuna c. La administración de la configuración de los documentos sigue los procedimientos especificados
    21. 21. Aplicación de la Calidad del Software en el Proceso de Desarrollo Verificación y Validación • Según la ISO/IEC 12207, el proceso de validación es el proceso de determinar si los requerimientos al final de un sistema o producto de software construido cumple con su uso específico deseado • La validación también puede ser conducida en etapas tempranas del proceso de desarrollo y se asocia comúnmente con la validación dinámica, es decir, con las pruebas
    22. 22. Aplicación de la Calidad del Software en el Proceso de Desarrollo Verificación y Validación • La actividad de validación podría consistir en las siguientes tareas – Preparar los requerimientos seleccionados de pruebas, casos de pruebas, y especificaciones de pruebas para analizar los resultados de las pruebas – Asegurar que estos requerimientos de pruebas, casos de prueba y especificaciones de pruebas reflejen los requerimientos particulares para su uso específico deseado
    23. 23. Aplicación de la Calidad del Software en el Proceso de Desarrollo Verificación y Validación – Conducir las pruebas mencionadas, que incluye a. Probar con estrés, fronteras y entradas singulares b. Probar los productos de software para su habilidad de aislar y minimizar el efecto de los errores; esto es, comportamiento adecuado ante fallas, solicitar la asistencia del operador bajo condiciones de estrés, frontera o singulares c. Probar que los usuarios representativos pueden alcanzar exitosamente las tareas propuestas utilizando el producto de software
    24. 24. Aplicación de la Calidad del Software en el Proceso de Desarrollo Verificación y Validación – Validar que el producto de software satisface su uso deseado – Probar que el producto de software es apropiado en las áreas seleccionadas del ambiente destino
    25. 25. Aplicación de la Calidad del Software en el Proceso de Desarrollo Evaluaciones, Revisiones e Inspecciones • A través del ciclo de vida del producto de software, para administrar la calidad, se ejecutan las mediciones y las valoraciones de la calidad del proceso y del producto • La evaluación de la calidad puede ser realizada cuando ocurre un evento importante, tal como el final de una fase, o puede ocurrir cuando es producido un artefacto, tal como una revisión estructurada de código
    26. 26. Aplicación de la Calidad del Software en el Proceso de Desarrollo Evaluaciones, Revisiones e Inspecciones • Las diferentes evaluaciones que pueden ocurrir en el ciclo de desarrollo pueden ser – Evaluaciones de Hitos y de Estatus – Inspecciones, Revisiones y Revisiones estructuradas (walkthruoghs)
    27. 27. Aplicación de la Calidad del Software en el Proceso de Desarrollo Evaluaciones de Hitos y Estatus • Cada fase (o iteración, en procesos iterativos de desarrollos) da por resultado un entregable, puede ser un producto ejecutable o un subconjunto del producto final en desarrollo al cual, las evaluaciones en el tiempo son realizadas por los siguientes propósitos – Demostrar el cumplimiento de los requerimientos (y sus criterios) – Sincronizar expectativas – Sincronizar los artefactos relacionados dentro de una línea base – Identificar riesgos
    28. 28. Aplicación de la Calidad del Software en el Proceso de Desarrollo Inspecciones, Revisiones y Revisiones Estructuradas • Las inspecciones, las revisiones y las revisiones estructuradas (walkthroughs) son técnicas específicas enfocadas en evaluar artefactos y son métodos poderosos de mejora de la calidad y la productividad de los procesos de desarrollo • Llevar a cabo estas técnicas debe realizarse en una formato de reunión, con un rol que actúe como facilitador y un segundo rol de registro de notas (solicitudes de cambio, pendientes, etc.)
    29. 29. Aplicación de la Calidad del Software en el Proceso de Desarrollo Inspecciones, Revisiones y Revisiones Estructuradas • El glosario de la IEEE incluye las siguientes definiciones • Revisión – Una junta formal en la que un producto de software, o un conjunto de ellos, son presentados a los usuarios, clientes y otros participantes interesados para realizar comentarios y aprobaciones
    30. 30. Aplicación de la Calidad del Software en el Proceso de Desarrollo Inspecciones, Revisiones y Revisiones Estructuradas • Inspección – Es una técnica de evaluación formal en los cuales los productos de software son examinados en detalle por una persona o grupo diferente al autor para detectar errores, violaciones a los estándares de desarrollo y otros problemas
    31. 31. Aplicación de la Calidad del Software en el Proceso de Desarrollo Inspecciones, Revisiones y Revisiones Estructuradas • Revisiones Estructuradas (walkthroughs) – Son un proceso de revisión en los cuales un desarrollador dirige uno o más miembros del equipo de desarrollo a través de una sección de un artefacto que él haya desarrollado mientras los otros miembros hacen preguntas y realizan comentarios acerca de la técnica, estilo, posibles errores, violaciones de los estándares de desarrollo y otros problemas
    32. 32. Aplicación de la Calidad del Software en el Proceso de Desarrollo Inspecciones, Revisiones y Revisiones Estructuradas • El ejecutar estas revisiones son realizadas en formato de reuniones, aunque los participantes pueden preparar algunas revisiones por si mismos • El monitoreo continuo de la calidad durante las actividades de los procesos previene a tener un gran número de defectos que se mantengan ocultos hasta las revisiones
    33. 33. Aplicación de la Calidad del Software en el Proceso de Desarrollo Inspecciones, Revisiones y Revisiones Estructuradas • Cuando se implementan estas técnicas en equipos las revisiones también proporcionan oportunidades para examinar el diseño y el código desde otros grupos e incrementar las oportunidades de detectar código fuente de uso común, oportunidades de reuso y oportunidades para generalización
    34. 34. Aplicación de la Calidad del Software en el Proceso de Desarrollo Inspecciones, Revisiones y Revisiones Estructuradas • Las revisiones también proporcionan una manera de coordinar el estilo de la arquitectura entre varios grupos • En el proceso unificado las revisiones juegan una importante segunda opinión en el aseguramiento de calidad
    35. 35. Aplicación de la Calidad del Software en el Proceso de Desarrollo Inspecciones, Revisiones y Revisiones Estructuradas • Una de las principales actividades que contribuyen a la calidad (en metodologías como RUP o PSP) son las Revisiones de Colegas (peer reviews) que también son un tipo de Revisiones
    36. 36. Aplicación de la Calidad del Software en el Proceso de Desarrollo Inspecciones, Revisiones y Revisiones Estructuradas — Planeación • Se planean las revisiones para determinar el enfoque y el alcance de las revisiones, y para estar seguros de que todos los participantes entienden su papel y las metas de las revisiones • Previo a las revisiones se define el alcance de las revisiones para determinar las preguntas a realizar, definir qué elementos serán evaluados y por qué
    37. 37. Aplicación de la Calidad del Software en el Proceso de Desarrollo Inspecciones, Revisiones y Revisiones Estructuradas — Planeación • Para cada producto de software se pueden definir un conjunto de puntos de revisión (check-points) que podrán ser evaluados • Las preguntas exactas a ser realizadas dependerá de la fase del proyecto de desarrollo: las revisiones tempranas se enfocarán con aspectos de arquitectura, las revisiones posteriores serán más específicas
    38. 38. Aplicación de la Calidad del Software en el Proceso de Desarrollo Inspecciones, Revisiones y Revisiones Estructuradas — Planeación • Una vez que el alcance de las revisiones ha sido determinada, se deben definir los participantes de las revisiones, la agenda y la información que será requerida para ejecutar la revisión • Al seleccionar los participantes, se debe establecer el balance entre la habilidad de arquitectura de software y la habilidad del domino de negocio
    39. 39. Aplicación de la Calidad del Software en el Proceso de Desarrollo Inspecciones, Revisiones y Revisiones Estructuradas — Planeación • Se debe definir de manera clara y no ambigua el líder de evaluación • Si es necesario, se pueden tomar otros equipos o otras partes de la organización para proporcionar habilidad del negocio o técnica • El número de revisores deberá ser aproximadamente siete o menos
    40. 40. Aplicación de la Calidad del Software en el Proceso de Desarrollo Inspecciones, Revisiones y Revisiones Estructuradas — Planeación • Si son elegidos adecuadamente, serán capaces sin dificultad de identificar problemas en la arquitectura • Un mayor número de revisores en realidad reducen la calidad de la revisión al hacer las reuniones más largas, la participación más difícil y pueden inyectar problemas adicionales y discusiones en la revisión
    41. 41. Aplicación de la Calidad del Software en el Proceso de Desarrollo Inspecciones, Revisiones y Revisiones Estructuradas — Planeación • Menos de cuatro revisores incrementa el riesgo de no ver defectos así como la diversidad de asuntos se reduce • Los revisores deben ser experimentados en el área a revisar, para elementos de requerimientos, los revisores deben entender el dominio del problema, para la arquitectura del software se requiere conocimiento de técnicas de diseño
    42. 42. Aplicación de la Calidad del Software en el Proceso de Desarrollo Inspecciones, Revisiones y Revisiones Estructuradas — Planeación • Los revisores no experimentados pueden aprender acerca de la arquitectura al participar, pero contribuirán poco a las revisiones y su presencia puede ser motivo de distracciones • Se debe mantener el grupo pequeño, no más de siete elementos y no menos de tres
    43. 43. Aplicación de la Calidad del Software en el Proceso de Desarrollo Inspecciones, Revisiones y Revisiones Estructuradas — Planeación • Un número menor de revisores arriesga la calidad de la revisión y más revisores evitan las discusiones interactivas esenciales para alcanzar resultados de calidad
    44. 44. Aplicación de la Calidad del Software en el Proceso de Desarrollo Inspecciones, Revisiones y Revisiones Estructuradas — Planeación • Se deben seleccionar a los revisores de acuerdo al material – Aquellos que tienen la experiencia para entender el material presentado – Aquellos que tienen relación directa en la calidad del producto de software a ser revisado
    45. 45. Aplicación de la Calidad del Software en el Proceso de Desarrollo Inspecciones, Revisiones y Revisiones Estructuradas — Preparación • Previo a la revisión, los artefactos serán revisados y cualquier material de soporte deberá ser generado y distribuido a los participantes de la revisión • Esto debe ser realizado con suficiente anticipación y permitir a los revisores tener tiempo para prepararse para la revisión, mejora de manera significativa la calidad de los resultados de la revisión
    46. 46. Aplicación de la Calidad del Software en el Proceso de Desarrollo Inspecciones, Revisiones y Revisiones Estructuradas — Preparación • La preparación de los revisores también mejora la eficiencia y efectividad de las revisiones • Los revisores deberán estudiar la documentación, formular preguntas e identificar los asuntos a analizar, todo esto, antes de la revisión
    47. 47. Aplicación de la Calidad del Software en el Proceso de Desarrollo Inspecciones, Revisiones y Revisiones Estructuradas — Preparación • Pensando en la carga de trabajo normal de los revisores, unos pocos días de trabajo serán normalmente el tiempo mínimo suficiente para prepararse para las revisiones
    48. 48. Aplicación de la Calidad del Software en el Proceso de Desarrollo Inspecciones, Revisiones y Revisiones Estructuradas — Conduciendo la Revisión • Existen diversos elementos clave para conducir una revisión exitosa – Entender el proceso de revisión – Estar seguros de que los revisores entienden sus roles – Tener un moderador – Mantener la revisión corta y apegarse a la agenda – Identificar pendientes, no arreglar problemas
    49. 49. Aplicación de la Calidad del Software en el Proceso de Desarrollo Inspecciones, Revisiones y Revisiones Estructuradas — Conduciendo la Revisión • Entender el Proceso de Revisión. Se refiere a que en lo general, el proceso de revisión sigue el siguiente ciclo – Un asunto es identificado por el revisor – El asunto es discutido y potencialmente confirmado – Se identifica un defecto (lo que se haya identificado necesita ser canalizado) – Continuar hasta que no haya más asuntos identificados
    50. 50. Aplicación de la Calidad del Software en el Proceso de Desarrollo Inspecciones, Revisiones y Revisiones Estructuradas — Conduciendo la Revisión • Con el propósito de hacer este trabajo de manera efectiva, todos deben entender que la meta de una revisión es mejorar la calidad del producto de software revisado • Los productos deben ser revisados con un ojo crítico para encontrar problemas
    51. 51. Aplicación de la Calidad del Software en el Proceso de Desarrollo Inspecciones, Revisiones y Revisiones Estructuradas — Conduciendo la Revisión • Hacer esto puede ser difícil, así que todos los revisores deben constantemente recordar enfocarse en la identificación de asuntos (de manera natural somos solucionadores de problemas, pero los revisores deben dejar esto a un lado) • Todos tenemos un fuerte sentido de propiedad de nuestro trabajo, normalmente es difícil aceptar la crítica, aún cuando es constructiva
    52. 52. Aplicación de la Calidad del Software en el Proceso de Desarrollo Inspecciones, Revisiones y Revisiones Estructuradas — Conduciendo la Revisión • Como resultado de esto, nuestro trabajo deberá ser aún mejor para enfocarnos en las metas de las revisiones: hacer el trabajo mejor
    53. 53. Aplicación de la Calidad del Software en el Proceso de Desarrollo Inspecciones, Revisiones y Revisiones Estructuradas — Entender los Roles • Con el propósito de conducir una revisión efectiva, cada participante juega un rol • De forma más específica, hay ciertos roles que deben ser jugado y los revisores no pueden intercambiar sus papeles tan fácilmente
    54. 54. Aplicación de la Calidad del Software en el Proceso de Desarrollo Inspecciones, Revisiones y Revisiones Estructuradas — Entender los Roles • Los roles básicos de una revisión son – – – – El moderador El secretario (escribano) El presentador Los revisores
    55. 55. Aplicación de la Calidad del Software en el Proceso de Desarrollo Inspecciones, Revisiones y Revisiones Estructuradas — Entender los Roles • El moderador asegura que los revisores se apeguen a la agenda y permanece enfocado en el tópico en cuestión • El moderador asegura que las discusiones no tomen partido, que no arruinen la revisión y que los revisores participen equitativamente • El escribano normalmente es subestimado, pero es un parte esencial para el equipo de revisión
    56. 56. Aplicación de la Calidad del Software en el Proceso de Desarrollo Inspecciones, Revisiones y Revisiones Estructuradas — Entender los Roles • Mantener un registro de lo que es discutido y documentar las acciones a ser tomadas es una tarea de tiempo completo • Asignar esta tarea a uno de los revisores normalmente lo mantendría fuera de la discusión
    57. 57. Aplicación de la Calidad del Software en el Proceso de Desarrollo Inspecciones, Revisiones y Revisiones Estructuradas — Entender los Roles • Peor aún, si no se documenta de forma correcta lo que fue decidido probablemente llevará a que el asunto revisado aparezca de nuevo en el futuro • Debe estarse seguro de que exista un escribano y que éste sea el único papel que juegue esa persona • El presentador es el autor del producto a ser revisado
    58. 58. Aplicación de la Calidad del Software en el Proceso de Desarrollo Inspecciones, Revisiones y Revisiones Estructuradas — Entender los Roles • El presentador explica el producto de software y cualquier información de contexto necesaria para entenderlo (aunque si el producto no explica por si mismo, esto probablemente requerirá cierto trabajo) • Es importante que los revisores no se conviertan en jueces – el enfoque debe ser en el producto que es revisado, no en el presentador
    59. 59. Aplicación de la Calidad del Software en el Proceso de Desarrollo Inspecciones, Revisiones y Revisiones Estructuradas — Entender los Roles • Es responsabilidad del rol de moderador el asegurar que los participantes (incluyendo al presentador) tengan esto en mente • El presentador está allí para iniciar la discusión o análisis, responder preguntas y ofrecer clarificación cuando sea necesaria • Los revisores identifican asuntos o problemas (issues)
    60. 60. Aplicación de la Calidad del Software en el Proceso de Desarrollo Inspecciones, Revisiones y Revisiones Estructuradas — Entender los Roles • Es importante mantenerse enfocado en esto y no caer en discusiones de cómo canalizar el asunto • Se deben enfocar en los resultados, no en los medios
    61. 61. Aplicación de la Calidad del Software en el Proceso de Desarrollo Inspecciones, Revisiones y Revisiones Estructuradas — Tener un Moderador • Como ya se mencionó, un moderador juega un papel crucial en evitar que la revisión pierda el orden y pierda foco • Es importante que el moderador esté enfocado en mantener la revisión sobre su camino, el moderador no debe tener responsabilidades de revisor
    62. 62. Aplicación de la Calidad del Software en el Proceso de Desarrollo Inspecciones, Revisiones y Revisiones Estructuradas — Tener un Moderador • El rol de moderador está para promover la discusión y análisis, asegurar la participación equitativa y evitar agresividad • Es una tarea de tiempo completo • Fallar en moderar de manera eficiente podría causar a los revisores que se salgan de los objetivos buscados y podrían fallar en alcanzar sus metas de revisión
    63. 63. Aplicación de la Calidad del Software en el Proceso de Desarrollo Inspecciones, Revisiones y Revisiones Estructuradas — Revisiones Breves • Las revisiones son más eficientes cuando son breves y se enfocan en objetivos claramente definidos • Debido a que es difícil mantener el enfoque por períodos de tiempo largos y también porque los revisores tienen más trabajo que hacer, se deben limitar las revisiones a no más de dos horas
    64. 64. Aplicación de la Calidad del Software en el Proceso de Desarrollo Inspecciones, Revisiones y Revisiones Estructuradas — Revisiones Breves • Si se espera que una revisión sea más larga, es mejor dividirla en varias reuniones más pequeñas y más enfocadas • Los resultados serán mejores si los revisores pueden mantenerse enfocados • La clave de realizar esto es tener una agenda bien definida y con metas claramente articuladas
    65. 65. Aplicación de la Calidad del Software en el Proceso de Desarrollo Inspecciones, Revisiones y Revisiones Estructuradas — Revisiones Breves • Ésta debería ser comunicada cuando se distribuye el material de la revisión y el moderador debe reforzarlo cuando inicie la reunión de revisión • El moderador debe entonces ser consistente (y a veces muy estricto) en reforzar estas metas durante la reunión
    66. 66. Aplicación de la Calidad del Software en el Proceso de Desarrollo Inspecciones, Revisiones y Revisiones Estructuradas — Identificar Asuntos, no Resolverlos • Una de las principales razones por las cuales las reuniones fracasan en alcanzar los resultados esperados es que tienen la tendencia a degradarse en discusiones de cómo un problema debe ser arreglado • El arreglar problemas normalmente requiere de investigación y de reflexión, el formato de una revisión no será un medio efectivo para este tipo de discusión
    67. 67. Aplicación de la Calidad del Software en el Proceso de Desarrollo Inspecciones, Revisiones y Revisiones Estructuradas — Identificar Asuntos, no Resolverlos • Una vez que el asunto (issue) es identificado, se debe determinar si es un defecto que debe ser resuelto, y entonces asignarlo a alguien para investigarlo y resolverlo • La reunión de revisión debe enfocarse en la identificación solamente • Si el asunto requiere de una mayor discusión entre un grupo de personas, se debe realizar una reunión por separado para enfocarse en él
    68. 68. Aplicación de la Calidad del Software en el Proceso de Desarrollo Inspecciones, Revisiones y Revisiones Estructuradas — Identificar Asuntos, no Resolverlos • Típicamente estas reuniones requieren de investigación y preparación, y será necesaria la gente con las habilidades correctas para ser involucradas en ella • El revisor debe mantenerse enfocado en identificar otros aspectos • El moderador necesitará frecuentemente emplearse con firmeza para mantener a los revisores enfocados en esto
    69. 69. Aplicación de la Calidad del Software en el Proceso de Desarrollo Evaluaciones, Revisiones e Inspecciones • Las revisiones aportan poco valor a la calidad si no hay acciones en consecuencia de ejecutarlas • Al concluir las revisiones se debe – Asignar prioridades a la lista de problemas – Crear un registro de los defectos para el seguimiento de los problemas y de su solución – Si se requiere investigación adicional, asignar un pequeño equipo de trabajo para hacerlo (pero no para resolverlo)
    70. 70. Aplicación de la Calidad del Software en el Proceso de Desarrollo Evaluaciones, Revisiones e Inspecciones – Para los problemas que pueden ser resueltos en la iteración o fase actual, se le asigna un persona o equipo para corregirlo – Actualizar la lista de los problemas no resueltos para planear los esfuerzos de la siguiente fase o iteración
    71. 71. Mecánicas de Calidad I: en el Ciclo de Vida Introducción Verificación y Validación Evaluaciones, Revisiones e Inspecciones Fin de la Presentación Continúe en la siguiente actividad

    ×