¿Cómo nos ayuda GeneXus a mejorar la calidad en el proceso de desarrollo de Software? Ing. Rosario Estévez rem@artech.com.uy Ing. Rafael Mon rafael@artech.com.uy
Definiciones SQA Conjunto de actividades planificadas con el objetivo de verificar la calidad de los entregables durante un proyecto, que los mismos alcancen estándares de completitud y calidad.
Costo de un proyecto = Costo base + costo re-trabajo El objetivo general del SQA es reducir los costos de solucionar problemas, tratando de detectar los errores en las etapas mas tempranas del Proyecto La calidad no es un costo es una inversión Proceso Requeri- mientos Solución Informática Retrabajo Mejoras
SQA: Aseguramiento de la calidad del software Calidad en el proceso de desarrollo Calidad del producto
Tareas de SQA Planificación Prevención - Control Mejora Exigir que se cumplan todas las normas y estándares establecidos para asegurar el buen fin del proyecto Mejora
Tareas del SQA Seguimiento y control del proyecto Definición de estandares Gestión de riesgos Prototipos Test Revisiones Métricas Aprender de la experiencia
El producto Modelo de Negocio Modelo Operativo Modelo de Medición Solución Informática
El producto ¿Para quién? Proyecto de la Organización y para la Organización LA ORGANIZACION: Directivos Empleados Clientes Proveedores . . .
Metodología de proyectos Basada en adaptaciones del MSF Microsoft® Solutions Framework, Normas ANSI/IEEE, Guias del PMI y Metodología de Desarrollo GeneXus de ARTech Consultores®
Definición Estandares Documentación Nomenclatura Interfases Styles - Themes Componentes Reutilización Rutinas Business Objects Tecnologías
Desarrollo con GeneXus Definición de las visiones de los usuarios Mayor nivel de abstración Orientado al usuario Definición de las reglas del negocio
Metodología de desarrollo GeneXus Definición y Construcción Incremental
No requiere un Modelo de Datos detallado para comenzar Consecuencias: GeneXus No requiere un Modelo de Datos detallado para comenzar Consecuencias: Adaptación fácil a cambios durante el desarrollo - test Más adecuado para Grandes Sistemas Sistemas Corporativos Soluciones de mejor calidad Disminuye tiempos REALIDAD DESCRIPCION DE OBJETOS BASE DE CONOCIMIENTO BASE DE DATOS PROGRAMAS
Ciclos de Vida “Incrementales” El producto de software es desarrollado y entregado en etapas Ventajas Reducen el riesgo Mas simple desarrollar subproyectos pequeños que un único y monolítico gran proyecto Hacen más visible el desarrollo Son más adaptables, permiten cambios de dirección durante el proyecto
Ciclos de vida incrementales En subprocesos Análisis Requerimientos Diseño Arquitectura Test Integrado Desarrollo en GeneXus Prototipación Test del Prototipo Integración o Consolidación En espiral Análisis Requerimientos Diseño Arquitectura Etapa 1 Desarrollo en GeneXus Prototipación Test Implantación Etapa 2 Etapa n ........ En etapas
Prototipación con GeneXus Análisis Requerimientos Diseño Arquitectura Desarrollo en GeneXus Prototipación Test del Prototipo Integración o Consolidación Test Integrado
Prototipación Aplicación funcionando con todos los detalles Permite ver resultados rápidamente Permite terminar de definir los requerimientos Detección de errores en forma temprana Logra mayor compromiso de los usuarios con el desarrollo Sistemas de mejor calidad
Integración de módulos Análisis Requerimientos Diseño Arquitectura Desarrollo en GeneXus Prototipación Test del Prototipo Integración o Consolidación Test Integrado
Integración de Módulos Bases de conocimiento separadas Nucleo Módulo Consolidada Integración – Knowledge Manager
Control de Calidad - Testing SQA: Plan de Test Actividades que deberá realizar el equipo de testing a los efectos de verificar la calidad de los productos.
Validación integral del producto VALIDACION DE LA DEFINICIÓN INICIAL Costo de defectos INSPECCION DE MODELOS PROTOTIPACION TEST PRODUCCION
Plan de test Planificación Diseño y calificación de los casos de uso Diseño de casos de prueba en base a los casos de uso Ejecución Evaluación Test de regresión Agrupación y evaluación de los datos resultantes
Tipos de testing Funcionalidades Interfaz Performance Integración Migración Convivencia Configuración Documentación
Evaluar los resultados obtenidos en el control de calidad Evaluación Evaluar los resultados obtenidos en el control de calidad Barra de calidad Utilización de métricas Productividad Eficacia para detectar fallas Estado del producto
Ejemplo Proyecto ARCO
Tareas horizontales Seguimiento y control del proyecto Control de cambios Revisiones Métricas Aprendiendo de la experiencia
Seguimiento y control del proyecto Cumplimiento de los Objetivos Comparar lo planificado con la realidad Validación de la Definición Inicial Seguimiento Reuniones de avance Reuniones de dirección
Revisiones gerenciales Evaluar progreso Revisiones técnicas Discrepancias con especificaciones y estándares Inspecciones y Walkthroughs Examenes puntuales con el objetivo de ayudar en la mejora del proceso productivo
Metodología de Control de Cambios Los cambios son parte natural del proceso. Mantener la integridad del diseño del sistema, controlar desbordamientos del presupuesto y realizar la afectación del cronograma. Control de cambios: durante todo el proyecto hay cambios en los requerimientos que pueden implicar cambios en el diseño y la implementación. Dependiendo del cambio solicitado el impacto que pueda tener. Por lo tanto, en primera instancia se debe evaluar si la solicitud de cambio es aceptada, y en caso de serlo se debe verificar que además de los programas también se actualice la documentación correspondiente; y que el aplicativo siga funcionando correctamente luego de aplicado el cambio.
Productividad: Puntos funcionales Métricas Productividad: Puntos funcionales Objetos GeneXus – Complejidad Métricas de testing
Aprendiendo de la experiencia Evaluar cuáles fueron las pautas de trabajo que resultaron útiles y cuales no y sus causales: ¿Qué funcionó? - ¿Por qué? ¿Qué haría diferente? - ¿Por qué? Recomendaciones Briefing de prevención Una experiencia que ha resultado productiva es realizar, luego del algun hito importante del proceso, una reunion con todo el equipo de trabajo para evaluar que cosas funcionaron y cuales no.
Importancia de la metodología de proyecto Asegura: Conclusiones Importancia de la metodología de proyecto Asegura: Aumento de productividad Calidad del proceso y del producto GeneXus Desarrollo incremental Prototipación. Definición de alto nivel – Reglas de negocio Adecuado para grandes proyectos.
Ing. Rosario Estévez rem@artech.com.uy Ing. Rafael Mon rafael@artech.com.uy