Un modelo de trabajo ágil que nos permita desarrollar con metodología SCRUM sin olvidarnos del aseguramiento de la calidad y usando un ecosistema de herramientas para automatizar todo el proceso y ganar en eficiencia.
¿Si estoy desarrollando con SCRUM, en que momento aplicamos el testing?
1. Después de varios incrementos, creamos un sprint de testing
2. Al finalizar cada sprint, realizamos pruebas.
3. Voy desarrollando y voy testeando cada entrega de forma pararela separando el equipo en desarrolladores auto* y testeadores auto*.
A mi me gusta la opción 3 ;-)
Sin olvidarnos de la tendencia actual de definir estrategias DevOps que permita una mejor planificación conjunta de proyectos y operaciones, sinergias entre los equipos IT y desarrollo con la automatización de herramientas para el desarrollo, build y provisión de entornos.
Siempre a la mano los marcos de referencia para mejorar la productividad como Lean IT, Kanban y SCRUM.
Feb-2015 / El arte de crear software de calidad con agilidad
1. “Preocúpate por la calidad de tus
productos, mucha gente no está
preparada para la excelencia y
sorprenderás”
Jesús Pérez Franco
Steve Jobs
es.linkedin.com/in/jpefranco/
@jpefranco
El arte de crear software de calidad
con agilidad
1
v. 1.4
Actualizado 26-02-15
2. ¿Quieres conocerlo mi visión de un
modelo de testing ágil?
Necesitamos un modelo ágil de trabajo que
nos permita crear software de calidad
2
3. Revisamos y unimos todas las «piezas» que
intervienen en el modelo
Creando hábitos ágiles de trabajo
Entornos
disponibles
Ecosistema
Software
Vocación de
Automatización
El Incremento y el nivel de
certificación
Catálogo de
verificaciones
Gestión
de Pruebas
Gestión de
defectos
Base de
Conocimiento
Implementación Ágil,
técnicas y roles
3
Entorno
desarrollo
4. Definiendo un Ecosistemas
de software que gestione todo
el ciclo de vida.
Definir una Estrategia conjunta
en el modelo de desarrollo, calidad
y operación
Vocación de Automatización e
Integración continua
Operaciones
IT
Desarrollo
Calidad (QA)
Negocio
¿Cómo eliminar las barreras?
Operaciones
IT
Desarrollo
Calidad (QA)
Negocio
Estrategia DevOps para el despliegue o
entrega continua
5. Un modelo ágil como SCRUM requiere
una dosis extra de disciplina porque
cada miembro del equipo es indispensable
El equipo tiene que tener toda la información
y las expectativas
La Definición de
hecho y acuerdos del
equipo, se requiere si
optamos por un
modelo ágil de trabajo
como SCRUM
SCM: Debe reunir las
habilidades necesarias.
Interesados: Velar
que se cumpla el
INCREMENTO
5
6. El modelo necesita una gestión automatizada
de entornos estables y disponibles
Necesitamos certificar 4 entornos, con
Integración y Testing desde el principio
Integración
Testin
g
PRE
PRO
6
7. Automatizar el ciclo completo integrando
modelo y herramientas
Compilar, Verificar,
Desplegar y Probar
Automatización
Diaria
SVN
MVN Jenkins
7
Planificación Sprint
Incremento (Demo)
periódico
8. Estandarizar los entornos de desarrollo
para ganar en agilidad
IDE y Plugin
Entono DES
Perfiles maven
Dependencias
Reglas PMD
Certificar la configuración de los
entornos
8
9. Entrega del INCREMENTO en
tiempo y forma
Equipo
Desarrollo
Desplegado en Testing completamente
terminado y funcional
Equipo
Testing
Aceptación de los
Interesados
Ejecutar verificaciones
planificadas con el nivel de
certificación acordado
Construido y testeado
9
Entrega mavenizada con las
pautas marcadas ;-)
10. Un Catálogo de Verificaciones con el nivel
de exhaustividad y exigencia que acordemos
En cada Planificación de Sprint se genera
el Plan de Testing del Incremento
Verificación funcional
Seguridad
Rendimiento
Certificación entornos, etc.
Usabilidad
10
(específico para cada entrega)
11. Una mínima gestión de las pruebas
tenemos que hacer :(
Es necesario que se especifique cuales
son los criterios de aceptación en la
Planificación del Sprint
Herramienta de Gestión
de Pruebas
Criterios de aceptación por historia
de usuario
Identificación de riesgos y alcance Identificación de riesgos y alcance
11
12. Descubrimiento y correcta gestión/control
de los defectos
Validamos y verificamos que se esta
construyendo correctamente
Equipo Desarrollo
Equipo Testing
INCREMENTO
Equipo apoyo resolución de defectosTesting
12
13. Automatización de las pruebas de aceptación
básicas y críticas del negocio, pero no todas
Verificamos siempre que no se generan fallos
funcionales sobre incrementos anteriores.
13
Esclavos
Selenium RC+
Navegador Web
Maestro
Selenium Grid
Equipo Testing
Servidor de Integración
(servidor de aplicaciones)
SCM (svn,…)
PASO 1
PASO 2
PASO 3
PASO 4
PASO 5
PASO 6
14. Se debe documentar todo lo que sea
necesario, pero no más
El equipo debe adquirir el hábito de
documentar en la wiki
Los entornos
Ecosistema
Arquitectura
Acuerdos (DoD)
Enlaces doc.
externa
Configuraciones
Etc.Etc.
Modelos y
Procedimientos
Artefactos
14
15. Perfecto, ya podemos completar el
modelo operativo ágil a seguir !!!
El equipo ya tiene toda la información y las
expectativas de los interesados
15
16. Equipo Testing
INCREMENTO
Equipo apoyo resolución de defectos
Testing
Reunión
Planificación
H1 H2
Integración
Nivel de Certificación Plan de Testing Sprint
Criterios de Aceptación
Reunión de Revisión
y Retrospectiva
Equipo Desarrollo
Aceptación o Rechazo para iniciar el
Plan de Testing
Gestión
defectos
Ecosistema Ágil
PRE/PRO
MVN
Redmine
TestLink
Jenkins
SVN
ArtifactorySonar
Selenium
Jobs
JMeter
Wiki
Jobs / Perfiles
(des,test,pre,pro)
branch test trunk
tag
Perfiles
Historias
Verificación funcional
Identificación de
riesgos y alcance
Definición en
lenguaje natural
Sprint
Plugin
Rendimientos, etc.
Seguridad
Código
trunk
H1 H2 Hn
1 2 3
Modelo de Testing con agilidad
Product Backlog
16
diario