calidad en entornos ágiles

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

Upload: urania

Post on 22-Jan-2016

57 views

Category:

Documents


0 download

DESCRIPTION

Calidad en entornos ágiles. Juan Gabardini 75.46 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 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Calidad en entornos ágiles

Calidad en entornos ágiles

Juan Gabardini75.46 Administración y Control de Proyectos Informáticos II

Facultad de Ingeniería - UBA

Page 2: Calidad en entornos ágiles

¿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

Page 3: Calidad en entornos ágiles

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

Page 4: Calidad en entornos ágiles

Desarrollo iterativo

Arq Des Estab

Page 5: Calidad en entornos ágiles

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

Page 6: Calidad en entornos ágiles

Desarrollo ágil

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

Page 7: Calidad en entornos ágiles

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

Page 8: Calidad en entornos ágiles

¿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?

Page 9: Calidad en entornos ágiles

¿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

Page 10: Calidad en entornos ágiles

Clasificación de las pruebas

Business Facing

Technology Facing

Critique P

roduct

Support P

rogramm

ing/team

Domain Driven Design

Ejemplos (FIT)

Demos

Exploratory T.

TDD {Usab|Secur|…}-ilities

Page 11: Calidad en entornos ágiles

Tipos de prueba

Unitaria Manual

Exploratoria Basada en requerimientos

Automática Funcional Stress

Page 12: Calidad en entornos ágiles

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

Page 13: Calidad en entornos ágiles

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?

Page 14: Calidad en entornos ágiles

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

Page 15: Calidad en entornos ágiles

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

Page 16: Calidad en entornos ágiles

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)

Page 17: Calidad en entornos ágiles

Bibliografía Agile testing

Tests como documentación y ejemplos Lisa Crispin http://agiletester. ca/ Rick Mugridge http://www.rimurese arch.com Ward Cunningham http://c2.com

Manual and exploratory testing James Bach http://www.satisfice.com/articles.shtml Elisabeth Hendrickson http://testobsessed.com/ Michael Bolton http://developsense.com/ Jonathan Kohl http://www.kohl.ca/

Agile tester “original” Brian Marick http://www.exampler.com

TDD Kent Beck, David Astel, Phlip, J.B. Rainsberger