Calidad en entornos ágiles Juan Gabardini 75.46 Administración y Control de Proyectos Informáticos II Facultad de Ingeniería - UBA.

Slides:



Advertisements
Presentaciones similares
EL PROCESO DE DESARROLLO DEL SOFTWARE
Advertisements

Ciclo de vida de desarrollo de software
Unida III Software para la administración de proyectos
Caso de Éxito: Team System, CMMI, Metodologías Ágiles
BizTalk Server 2006 & Test Driven Development Kabel Sistemas S.L.
Metodologías ágiles.
Desarrollo de software innovador con métodos ágiles
Propuesta de Mejora del Proceso de Pruebas basada en el Modelo TPI
Acercándonos a las Pruebas en Google
Guía metodológica para la gestión de proyectos de software en PyMEs que no son fábricas de software por medio de Metodologías ágiles.
FUNDAMENTOS DE LAS PRUEBAS DEL SOFTWARE
SYSMOTORFLOW PRESENTACIÓN DEL PROCESO Proyecto de Ingeniería de Software 2010.
Materia: Tecnología de la Información
METODOLOGÍAS ÁGILES “PROCESO UNIFICADO ÁGIL (AUP)
Guía metodológica para la gestión de proyectos de software en PyMEs que no son fábricas de software por medio de Metodologías ágiles.
10º2 Sergio Posso. Jonatán Agualimpia. Julia Blandón. Docente:
MÉTODO ÁGIL SCRUM APLICADO A LA IMPLANTACIÓN DE UN SISTEMA INFORMÁTICO PARA EL PROCESO DE RECOLECCIÓN MASIVA DE INFORMACIÓN CON TECNOLOGÍA MÓVIL Como.
Proyecto de Ingeniería de Software 2008
Soporte GO-LIVE Crear y seguir tareas, escenarios, requerimientos Asignar trabajo al equipo Uso de workflow para hacer cumplir el proceso.
Sistema de Administración de Subastas Inversas. Agenda Métricas del proyecto Hitos alcanzados Demo Final Retrospectiva.
Sistema de Administración de Subastas Inversas
Conclusiones Fase de Construcción Grupo 1.  Objetivos de la Fase  Cumplimientos  Conclusiones Puntos a tratar:
HERRAMIENTAS CASE.
Trabajo Práctico Taller de Desarrollo de Proyectos 2 Septiembre 2009.
ITERASOFT. OBJETIVOS DEL GRUPO Producir un sistema Manejador de Itinerarios de alta calidad y confiabilidad Realizar un proyecto bien administrado y productivo.
Test Driven Development TDD
Ciclos de vida ágiles.  Es una metodología ágil que plantea: ◦ Iteraciones cortas ◦ Entregables periódicos ◦ Colaboración con el cliente full time ◦
 Tema del proyecto  Integrantes y roles del equipo  Objetivos del proyecto  Alcance.
Inspecciones de Software
Software Testing Jorge Triñanes Gris (Grupo de Ingeniería de Software) InCo (Instituto de Computación) Facultad de Ingeniería - UdelaR.
PREPARACIÓN DE PRUEBAS EQUIPO DE TRABAJO: ISABEL MARTÍNEZ MARTÍNEZ Y ERIKA HERRERA HERRERA.
agile-tester-foundation- chapter-2-fundamental-agile-testing- principles-practices-and-processes-1-of-3-
Proyecto de Ingeniería de Software - Grupo 2 - Año 2006 Presentación del Proceso Sistema de Administración de Proteínas Objetivo y eXperimentos del Pasteur.
9.4 ACTIVIDADES DE LAS PRUEBAS Describe las actividades de las pruebas dentro de las que están: Inspección de componentes Pruebas unitarias Pruebas de.
Ingeniería de Software: Metodologías Agustín J. González ElO329: Diseño y Programación Orientados a Objeto Adaptado de:
Ingeniería del Software
Programación Extrema Leonardo Ramírez Z.. Contenido Motivación ¿Qué es Programación Extrema? La filosofía detrás de la Programación Extrema El proceso.
Universidad Central de Venezuela Facultad de Ciencias Postgrado en Ciencias de la Computación Sistemas Distribuidos Albany Márquez.
¿Cómo nos ayuda GeneXus a mejorar la calidad en el proceso de desarrollo de Software? Ing. Rosario Estévez Ing. Rafael Mon
Desarrollo de Software Esbelto
EL APORTE DE LA INGENIERIA DE SOFTWARE A LAS ORGANIZACIONES
Ximena Romano – Doris Correa
Lean Software Development
Introducción a las pruebas del software.
Ingeniería de Software
VISIÓN GENERAL DE LA IS Con independencia del modelo de proceso hay tres fases genéricas: Fase de definición Fase de desarrollo Fase de mantenimiento Cada.
Ingeniería de Software I
Verificación y Validación del Software
Grupo 10 – 2008 Proyecto de Ingeniería de Software
Roles de Open UP.
Introducción al proceso de verificación y validación.
Test Driven Development. ¿Que es Test Driven Development?
Introducción El Testing es una actividad compleja por múltiples motivos. Las aplicaciones de software en sí son cada vez más flexibles, con diversos propósitos,
Por qué? Probar el Código rido abr2010. Demostración Empírica Método Fáctico Veríficación – contrastación por medio de la percepción Es autocorrectivo.
REVISION Y AUDITORIA.
CICLO 1 BEATRIZ BARREIRO GÓMEZ HENRY SUÁREZ SÁNCHEZ
Carolina Rangel Felipe Montaño Alexis García
Proceso de desarrollo de Software
CONCEPTO DE CICLO DE VIDA 1 En los departamentos de Sistemas se debe definir un marco de referencia común que debe ser:  Pueda ser empleado por todos.
RAPID APPLICATION DEVELOPMENT RAD. Proceso de RAD Involucrar en todos los aspectos al usuario en el desarrollo del sistema Uso continuo y repetitivo de.
Modelo de procesos de software
Bachillerato Ingeniería en Informática Fundamentos de Computación.
Metodologías de Programación II UNAJ - Instituto de Ingeniería y Agronomía - Ingeniería en Informática 1 4 Clase Clase 4 Programación extrema (Parte 2)
Es una metodología ágil diseñada para el desarrollo de software, basada en la calidad y el monitoreo constante del proyecto. Consiste esencialmente en.
Integrantes: Mejía Zúñiga Yoselin Taco Apaza Pamela Ychuta Torres John.
Scrum: Mejorando las prácticas Anabel Ruth Berenstein Año 2012.
Sistemas de calidad en el desarrollo de software.
Entregables del Proyecto
Taller de Desarrollo de Proyectos II (75.47) 2º cuatrimestre 2008.
Junio, 2013.
Transcripción de la presentación:

Calidad en entornos ágiles Juan Gabardini Administración y Control de Proyectos Informáticos II Facultad de Ingeniería - UBA

¿Que queremos lograr? Minimizar los riesgos y optimizar uso recursos  Planificar / predecir Arquitectura detallada Lista de tareas y dependencias estimadas Especialización en las tareas  Inspeccionar / adaptar Producto con calidad cercana a producción Grupos auto-organizados

Calidad cercana a Producción Es la calidad definida por el cliente  Muy pocas veces es explicitada Que cosas hay que corregir: todas Cuanta prueba es necesaria: toda  Lleva a un mal uso de recurso Mientras dura el proyecto, se corrige todo, cuando llega la fecha, salimos con lo que tenemos. Por qué mantenernos cerca?  Hay que lograr que en la balanza del cliente estén tanto la calidad cómo la funcionalidad

Desarrollo iterativo ArqDesEstab

Problemas del desarrollo iterativo El skill del grupo cambia a lo largo del tiempo  Más difícil adaptarse, hace más costoso los cambios. La prueba se vuelve costosa y repetitiva  Pérdida de motivación  Recorte de la prueba, pérdida de confianza

Desarrollo ágil Diseño en (casi) cada iteración La prueba con costo constante Siempre cerca de calidad de liberación

Consecuencias Grupo multidisciplinario y flexible  El grupo no puede cambiar continuamente, pero las necesidades cambian  La carga de trabajo por tipo de tarea son difíciles de predecir Los costos de los cambios deben mantenerse acotados  Se debe automatizar la prueba  Se debe refactorear

¿Que significa probar? Medir la calidad del producto para  Ayudar a mejorar la calidad  Tomar decisiones de liberación  Ayudar en el soporte  … Sólo probar mientras aporte valor Es la mejor forma de lograr un producto con calidad?

¿Que significa probar? Planificar  ¿Que y cómo probamos? Diseñar y construir  Condiciones, Datos entrada, Resultados Ejecutar  Prueba en sí misma Administrar  Defectos, Estado de Casos de prueba Informar resultado de la prueba

Clasificación de las pruebas Business Facing Technology Facing Critique Product Support Programming/team Domain Driven Design Ejemplos (FIT) Demos Exploratory T. TDD{Usab|Secur| …}-ilities

Tipos de prueba Unitaria Manual  Exploratoria  Basada en requerimientos Automática  Funcional  Stress …

Unitaria Ventajas Ambiente de desarrollo: detección temprana Sencible a cambios de código Buena pruebas de caja blanca Cobertura de código Desventajas Prueba no independiente No detecta problemas de instalación y ambiente

Exploratoria Ventajas Rápido inicio y resultado Sin requerimientos detallados Buena prueba de usabilidad Conocimiento de la aplicación Desventajas Muy dependiente del tester Difícil de reproducir Malo para funcionalidades complejas ¿Cuando terminar?

Manual - Basado en Req. Ventajas Cobertura de requerimientos Bueno para funcionalidad Costo de casos bajo Desventajas Dependiente del tester Requerimientos y aplicación conocidos. Alto costo ejecución y tedioso

Automático - Funcional Ventajas Cobertura de requerimientos y código Bueno para funcionalidad Costo de ejecución bajos Oportunidades multiplicativas Independientes del tester Desventajas Requerimientos y aplicación conocidos. Alto costo desarrollo y mantenimiento Respuesta lenta

Justificación pruebas automát. Costo Caso prueba Costo mantenimiento Frecuencia mantenimiento Costo Ejecución Administrativo Nro de builds (CTC + (cTC x f)) / nroBuilds + (cEjec + cAdm)

Bibliografía Agile testing Tests como documentación y ejemplos  Lisa Crispin ca/ ca/  Rick Mugridge arch.comhttp:// arch.com  Ward Cunningham Manual and exploratory testing  James Bach  Elisabeth Hendrickson  Michael Bolton  Jonathan Kohl Agile tester “original”  Brian Marick TDD  Kent Beck, David Astel, Phlip, J.B. Rainsberger