Modelo de Proceso de Desarrollo de Software Documento de Actividades Gestión de Calidad (SQA) Ingeniería de Software - Proyecto de Taller5 Andrea Delgado & Beatriz Pérez
ÍNDICE ÍNDICE... 2 GESTIÓN DE CALIDAD... 3 ACTIVIDADES QUE SE REALIZAN EN LA GESTIÓN DE CALIDAD... 4 EL ROL DE LA GESTIÓN DE LA CALIDAD EN EL CICLO DE VIDA DEL SOFTWARE... 4 ACTIVIDADES... 5 SQA1 Preparar el plan... 5 SQA2 Identificar las Propiedades de la Calidad... 6 SQA3 Revisar cada producto... 8 SQA4 Revisar el ajuste al Proceso... 9 SQA5 Realizar Revisión Técnica Formal (RTF)... 11 SQA6 Realizar Evaluación y Ajustes del Plan... 13 SQA7 Asegurar que las desviaciones son documentadas... 14 SQA8 Evaluación final del proyecto... 16 REFERENCIAS... 17 Ingeniería de Software - Proyecto de Taller5 Andrea Delgado & Beatriz Pérez Página 2 de 17
GESTIÓN DE CALIDAD Descripción & Actividades El propósito del aseguramiento de la calidad del software (SQA) ó gestión de la calidad del software es manejar la visibilidad apropiada dentro del proceso de desarrollo del proyecto, respecto a los productos a obtener. El aseguramiento de la calidad se aplica durante todo el proceso de ingeniería de software. El control de calidad consiste de distintas revisiones y pruebas utilizadas a lo largo del ciclo de desarrollo para asegurar que cada producto cumple con los requisitos que le han sido asignados. El control de calidad incluye un feedback del proceso que creó el producto, esto permite afinar el proceso cuando los productos no cumplen sus especificaciones. El SQA involucra revisar y auditar los productos y las actividades para verificar que ellas cumplen con los procedimientos y estándares definidos y entregar los resultados de esas revisiones y auditorias al director del proyecto. Las revisiones son una de las actividades más importantes del aseguramiento de la calidad, debido a que permiten eliminar defectos mientras que no son costosos de encontrar y corregir. La detección anticipada de errores evita el que se propaguen a los restantes procesos de desarrollo, reduciendo substancialmente el esfuerzo invertido en los mismos. Para conseguir estos objetivos, es necesario que el plan de aseguramiento de calidad se desarrolle durante la planificación del proyecto de acuerdo al proceso adoptado La primer actividad en la Gestión de la Calidad es SQA1 Preparar el Plan, para lo que se sigue el estándar IEEE 730, dentro del plan se deben identificar las propiedades de Calidad, lo que se hace en la actividad SQA2 Identificar propiedades de Calidad, una vez que el plan está terminado, el SQA revisa los productos en la actividad SQA3- Revisar cada Producto y luego revisa el ajuste al proceso en la actividad SQA4 Revisar el Ajuste al Proceso. Si es un producto relevante para la calidad del Producto final, se realiza la actividad SQA5 Realizar Revisión Técnica Formal, en la cual participa el grupo encargado del producto a revisar. Además revisa el estado de su plan en la actividad SQA6 Realizar evaluación y ajuste al Plan de SQA y el estado de los otros planes del proyecto en la actividad SQA7- Asegurar que las desviaciones son documentadas. Al finalizar el proyecto el responsable realiza SQA8- Evaluación Final Ingeniería de Software - Proyecto de Taller5 Andrea Delgado & Beatriz Pérez Página 3 de 17
Actividades que se realizan en la Gestión de Calidad Figura 1 Actividades de la Gestión de Calidad y sus participantes Preparar el Plan Revisar cada Producto Revisar el Ajuste al Proceso Realizar evaluación y ajuste al Plan Identificar Propiedades de la Calidad Realizar Revision Técnica Formal Asegurar que las desviaciones son documentadas Grupo responsable del producto El Rol de la Gestión de la Calidad en el Ciclo de Vida del Software Figura 2 El Rol de la Gestión de Calidad Línea de trabajo Gestión: Gestión de Calidad FASES Inicial Elaboración Construcción iteración# 1 iteración# 1 iteración# 2 iteración# 1 iteración# 2 Ingeniería de Software - Proyecto de Taller5 Andrea Delgado & Beatriz Pérez Página 4 de 17
Actividades SQA1 Preparar el plan Entradas : IEEE 730, Standard for Software Quality Assurance Plans Figura 3 Actividad SQA1 Preparar el Plan IEEE 730 Standard for Software Quality Assurance Plans Preparar el Plan Plan Descripción : El plan sirve para guiar las actividades de aseguramiento de la calidad que realiza el En el plan se reflejan las evaluaciones a realizar, los estándares a aplicar, los productos a revisar, los procedimientos a seguir en la elaboración de los distintos productos y los procedimientos para informar de los defectos detectados a sus responsables y realizar el seguimiento de los mismos hasta su corrección. El grupo de aseguramiento de calidad participa en la revisión de los productos seleccionados para determinar si son conformes o no a los procedimientos, normas o criterios especificados, siendo totalmente independiente del equipo de desarrollo. Se determina qué actividades debe realizar el grupo de aseguramiento de calidad a lo largo de todo el proceso de desarrollo de software, para asegurar que se están teniendo en cuenta las propiedades de calidad especificadas para el sistema en la actividad Identificar las Propiedades de Calidad Fase Inicial: El plan se comienza a bosquejar en esta fase, teniendo en cuenta las agendas de los planes de SCM, Verificación y Plan del Proyecto para poder fijar las revisiones y auditorias. Fase de Elaboración: Primera iteración: Al final de la primera iteración el plan debe estar terminado. Segunda iteración: No se aplica en esta iteración Fase de Construcción: No se aplica en esta fase. Salidas : Plan Personas involucradas: Ingeniería de Software - Proyecto de Taller5 Andrea Delgado & Beatriz Pérez Página 5 de 17
SQA2 Identificar las Propiedades de la Calidad Entradas : Plan Actas de reuniones de requerimientos Figura 4 Actividad SQA2 Identificar las Propiedades de la Calidad Plan Actas de Reuniones de Requerimientos Identificar las propiedades de la calidad Plan (refinado) Descripción : Una vez que se conocen los requerimientos del sistema en la actividad Asistir a Reuniones de Requerimientos, se definen aquellas propiedades que permitan evaluar la calidad. Algunas de estas propiedades pueden ser, entre otros, la facilidad de uso, eficiencia, facilidad de mantenimiento, seguridad, portabilidad, etc como específicos del sistema a construir. Para la documentación generada durante el proceso, la calidad estará dada por la adhesión de los mismos a los estándares y normas definidos. En esta actividad se deben identificar los productos que deben ser evaluados para la calidad, además de definir los criterios para evaluar la calidad de cada producto. No sólo en las reuniones de requerimientos encontramos propiedades de calidad, debemos buscarlas dentro de los productos del proyecto, por ejemplo las estimaciones del proyecto, el plan del proyecto, especificación de requerimientos, etc. Es conveniente que seleccione una lista de preguntas (CheckList) para verificar si la propiedad seleccionada se cumple ó no. Esta lista se incorpora al Plan Fase Inicial: En esta fase se comienza a identificar las propiedades de calidad Fase de Elaboración: Primera iteración: Al finalizar la primer iteración las reuniones de requerimientos han terminado y el debe haber identificado todas las propiedades de calidad que va a chequear a lo largo del proyecto. Segunda iteración: No se aplica Ingeniería de Software - Proyecto de Taller5 Andrea Delgado & Beatriz Pérez Página 6 de 17
Fase de Construcción: No se aplica Salidas : Plan (refinado) Personas involucradas: Ingeniería de Software - Proyecto de Taller5 Andrea Delgado & Beatriz Pérez Página 7 de 17
SQA3 Revisar cada producto Entradas : Plan Producto a ser revisado Informes de Revisión previos de ese producto Figura 5 Actividad SQA3 Revisar cada producto Plan Informes de revisión previos Revisar cada producto Informe de revisión Producto a ser revisado Descripción : En esta actividad se revisan los productos que definimos como claves para verificar en el plan. El verifica que no quede ninguna corrección sin resolver en los informes de revisión previos, si se encuentra alguna no resuelta, debe ser incluida en esta revisión. Se revisan los productos contra los estándares, usando la checklist definida para el producto. El responsable identifica, documenta y sigue la pista de las desviaciones (si las hay), verifica que se hayan hecho las correcciones e informa periódicamente los resultados de su trabajo al director del Proyecto. El informe de revisión elaborado debe ser distribuido a los responsables del producto y el SQA debe asegurarse de que son concientes de desviaciones o discrepancias por él encontradas. Fase Inicial: No se aplica, ya que en esta fase se estudia el proceso en la Actividad Entender el Proceso y se están definiendo las propiedades de Calidad Fase de Elaboración: Se realiza la revisión de los productos, como fué especificado en el plan. Fase de Construcción: Se realiza la revisión de los productos, como fué especificado en el plan. Salidas : Informe de revisión Personas involucradas: Ingeniería de Software - Proyecto de Taller5 Andrea Delgado & Beatriz Pérez Página 8 de 17
SQA4 Revisar el ajuste al Proceso Entradas : Plan Proceso de Desarrollo de Software Informe de Revisión anterior de ajuste al Proceso Producto a revisar Figura 6 Actividad SQA4 Revisar el ajuste al proceso Plan Proceso de desarrollo de software Informes de revisión anteriores de ajuste al proceso Revisar el ajuste al proceso Informe de revisión Producto a ser revisado Descripción : En esta actividad se revisan los productos que definimos como claves para verificar el cumplimiento de las actividades definidas en el proceso. Con el fin de asegurar la calidad en el producto final del desarrollo, se deben llevar a cabo revisiones sobre los productos durante todo el ciclo de vida del software. Para ello, se fijan los objetivos de la revisión de acuerdo a lo establecido en el plan, haciendo los ajustes que correspondan. El responsable de aseguramiento de calidad recoge la información necesaria de cada producto, buscando hacia atrás los productos previos que deberían haberse generado, para poder establecer los criterios de revisión y, más adelante, evaluar si el producto cumple las especificaciones, es decir, si se ha elaborado de acuerdo a unas características concretas como puede ser la aplicación de una técnica específica, la inclusión de algún tipo de información, etc. Los documentos claves para recoger la información son el Plan del Proyecto, el plan de la iteración, el plan de verificación ya que muestran el proceso globalmente. Antes de hacer esta actividad, deben revisarse todos los productos que nos dan la información para el producto a revisar el ajuste. Esto se hace en la actividad SQA3 Revisar cada Producto Antes de comenzar el responsable verifica en los informes de revisión previos que todas las desviaciones fueron corregidas, de lo contrario, las no resueltas son puestas para ser evaluadas. Si se detecta alguna desviación en cuanto a sus especificaciones o a los estándares aplicados, y se considera que es necesario realizar alguna modificación, el responsable elabora un informe con el que el director del proyecto tomará las medidas que estime convenientes. El informe de revisión elaborado debe ser distribuido a los responsables de las actividades y el SQA debe asegurarse de que son concientes de las desviaciones o discrepancias por él encontradas. Ingeniería de Software - Proyecto de Taller5 Andrea Delgado & Beatriz Pérez Página 9 de 17
Fase Inicial: No se aplica, ya que en esta fase se estudia el proceso en la Actividad Entender el Proceso y se están definiendo las propiedades de Calidad Fase de Elaboración: Primera iteración: No se aplica, ya que en esta fase se termina el plan en la Actividad Preparar plan y se están definiendo las propiedades de Calidad Segunda iteración: Se realiza la revisión del ajuste al proceso de los productos especificados en el plan. Fase de Construcción: Se realiza la revisión del ajuste al proceso de los productos especificados en el plan. Salidas : Informe de revisión Personas involucradas: Ingeniería de Software - Proyecto de Taller5 Andrea Delgado & Beatriz Pérez Página 10 de 17
SQA5 Realizar Revisión Técnica Formal (RTF) Entradas : Producto a revisar Plan Informes de revisiones formales anteriores Figura 7 Actividad SQA5 Realizar revisiones técnicas formales Plan Grupo responsable del producto Informes de revisión formal previos Realizar Revisiones Técnicas Formales Informe de revisión técnica formal Producto a ser revisado Descripción: El objetivo de la revisión formal es descubrir errores en la función, la lógica ó la implementación de cualquier producto del software, verificar que satisface sus especificaciones, que se ajusta a los estándares establecidos, señalando las posibles desviaciones detectadas. Es un proceso de revisión riguroso, su objetivo es llegar a detectar lo antes posible, los posibles defectos o desviaciones en los productos que se van generando a lo lago del desarrollo. Esta característica fuerza a que se adopte esta práctica únicamente para productos que son de especial importancia, porque de otro modo podría frenar la marcha del proyecto. En este proceso intervienen varias personas, el responsable e integrantes del equipo de desarrollo. El responsable del grupo de aseguramiento de calidad una vez que conoce los productos que se van a revisar formalmente, establece los grupos que van a llevar a cabo las revisiones, convocando a los participantes por adelantado, e informando del objetivo de la revisión, la agenda, y las responsabilidades que tendrán asignadas en la revisión. La revisión se centra en una parte específica( y pequeña) del software total. Antes de la revisión el SQA debe: Convocar a la reunión formalmente a los involucrados, marcando lugar, día y hora Informar en la convocatoria el material que ellos deben preparar por adelantado ( no puede llevar más de dos horas de trabajo por persona) La duración de la reunión de revisión no puede ser mayor a dos horas Estudiar el producto a ser revisado, anotando las preguntas y dudas que le surgen para hacer en la reunión Durante la reunión: Se comienza con una explicación de la /las personas que hicieron el producto, explicando cómo se llegó a ese producto, el responsable hace en el transcurso las preguntas necesarias. Es importante que en el transcurso de la revisión se sigan las directrices que estableció el responsable SQA, con el fin de que sea productiva y no se pierda tiempo en discusiones o ataques al responsable del producto. Se concluye determinando las áreas de problemas y elaborando un informe de revisión formal que incluye las acciones correctivas. Ingeniería de Software - Proyecto de Taller5 Andrea Delgado & Beatriz Pérez Página 11 de 17
Las siguiente es una guía de directrices para la reunión : Revisar el producto, no al productor Fijar una agenda y mantenerla Limitar el debate y las impugnaciones Enunciar áreas de problemas, pero no intentar resolver los problemas. Esto debe ser hecho por el que hizo el producto con otra persona, después de la revisión. Limitar el número de participantes de 3 a 5 e insistir en la preparación anticipada Usar checklist para el producto a revisar Deben estar agendadas en el plan de la iteración y en el plan Repasar las revisiones anteriores, incluso para encontrar errores en el propio proceso de revisión Fase Inicial: No se aplica debido a que el plan no está terminado Fase de Elaboración: Primera iteración: No se aplica debido a que el plan se termina en esta iteración Segunda iteración: En esta iteración se hacen las revisiones formales planificadas en el plan de SQA, durante esta fase consideramos importante la revisión de los siguientes productos: Documento de Requerimientos Descripción de la Arquitectura( vista de cada modelo) Estimaciones y mediciones del proyecto Reportes de verificación de documentos Fase de Construcción: En esta iteración se hacen las revisiones formales planificadas en el plan, durante esta fase consideramos importante la revisión de los siguientes productos: Documentos de Revisión por pares Inspecciones de código Reportes de verificación Salidas : Informe de revisión técnica formal (RTF) Personas involucradas: Grupo de personas que hizo el producto a revisar : Ingeniería de Software - Proyecto de Taller5 Andrea Delgado & Beatriz Pérez Página 12 de 17
SQA6 Realizar Evaluación y Ajustes del Plan Entradas : Plan Documento de Evaluación y ajustes del Plan Figura 8 Actividad SQA6 Realizar Evaluación y Ajustes del Plan Plan Documento de Evaluación y Ajustes del Plan Realizar Evaluación y Ajustes del Plan Documento de Evaluación y Ajustes del Plan (refinado) Descripción : Esta actividad tiene como propósito contrastar la situación real de la Verificación con la planificada en el Plan al comienzo del Proyecto. Se deben identificar las desviaciones que hayan ocurrido respecto a las actividades planificadas, y realizar las correcciones que sean necesarias tanto a las actividades actuales como a la agenda prevista en el Plan. Además debe sacar mediciones de lo hecho contra lo planificado, ejemplos de estas medidas son : Actividades hechas contra planificadas Número de productos revisados comparados con el plan Los resultados de esta actividad proveerán una medida de lo acertado de la planificación realizada en el Plan, y de las actividades efectivamente realizadas en cada iteración lo cual será registrado en un Documento de Evaluación y Ajustes del Plan para cada evaluación realizada. Estos documentos se mantendrán adjuntos al Plan. Fase Inicial: En esta Fase no se realiza esta actividad. Fase de Elaboración: Se realiza esta actividad para evaluar cada iteración respecto a la planificación realizada inicialmente, teniendo en cuenta los ajustes que se hayan realizado como resultado de la misma. Fase de Construcción: Al igual que en la Fase anterior, se realiza esta actividad para evaluar cada iteración respecto a la planificación realizada inicialmente, teniendo en cuenta los ajustes que se hayan realizado como resultado de la misma. Salida : Documento de Evaluación y Ajustes del Plan (refinado) Personas involucradas : Ingeniería de Software - Proyecto de Taller5 Andrea Delgado & Beatriz Pérez Página 13 de 17
SQA7 Asegurar que las desviaciones son documentadas Entradas : Plan de Proyecto Documento de evaluación y ajuste del Proyecto Plan de Verificación Documento de evaluación y ajuste de la verificación Plan Documento de evaluación y ajuste Figura 9 Actividad SQA7 Asegurar que las desviaciones son documentadas Plan Documento de Evaluación y ajuste Plan del Proyecto Documento de evaluación y ajuste del Proyecto Plan de Verificación Asegurar que las desviaciones son documentadas Informe de revisión Documento de evaluación y ajusta de la Verificación Descripción : Las desviaciones encontradas tanto en las actividades como en los productos deben ser documentadas y ser manejadas de acuerdo a un procedimiento establecido. El SQA chequea que los responsables de cada plan los modifiquen cada vez que sea necesario, basados en las desviaciones encontradas por el SQA. Si ocurre que los planes no son modificados por sus responsables, el SQA debe comunicar esto al director del proyecto. Fase Inicial: No se aplica debido a que los planes aún no están terminados Fase de Elaboración: Primera iteración: No se aplica debido a que los planes se terminan en esta iteración Segunda iteración: Se realiza esta actividad cada vez que se encuentre una inconsistencia entre lo planificado y lo real Ingeniería de Software - Proyecto de Taller5 Andrea Delgado & Beatriz Pérez Página 14 de 17
Fase de Construcción: Se realiza esta actividad cada vez que se encuentre una inconsistencia entre lo planificado y lo real Salidas : Informe de revisión Personas involucradas: Ingeniería de Software - Proyecto de Taller5 Andrea Delgado & Beatriz Pérez Página 15 de 17
SQA8 Evaluación final del proyecto Entradas: Plan Informes de Situación Informes de revisión Figura 10 Actividad SQA8 Evaluación final del Proyecto Plan Informes de revisión técnica formal Informes de revisión Evaluación final del Proyecto Documento de Evaluación Final de la Gestión de Calidad Informes de Situación Descripción: El objetivo de esta actividad es el registro de toda la información de la Gestión de Calidad que se considere relevante, que pueda ser utilizada en proyectos posteriores. Para esto, se preparará un informe final con un balance final del proyecto, resumen de alto nivel de los informes de revisiones y cambios en la agenda, proporcionando una valoración del cumplimiento de las actividades y de la calidad en general del proyecto y el producto obtenido Salida : Documento de Evaluación Final de la Gestión de calidad Personas involucradas : Ingeniería de Software - Proyecto de Taller5 Andrea Delgado & Beatriz Pérez Página 16 de 17
Referencias Software Process Improvement and assurance standards Capability Determination ISO/IEC TR 15.504 (SPICE) Métrica Versión 3 Consejo Superior de Informática - España Ingeniería del Software, Un enfoque práctico Roger S. Pressman Mc Graw Hill Key Practices of the Capability Maturity Model, Version 1.1 Mark C. Paulk, Charles V. Weber, Suzanne M. Garcia, Mary Beth Chrissis, Marilyn Bush Capability Maturity Model for Software, Version 1.1 Mark C. Paulk, Bill Curtis, Mary Beth Chrissis, Charles V. Weber IEEE 730/1984, Standard for Software Quality Assurance Plans Ingeniería de Software - Proyecto de Taller5 Andrea Delgado & Beatriz Pérez Página 17 de 17