El arte de crear software de calidad con agilidad

16
“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

description

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.

Transcript of El arte de crear software de calidad con agilidad

Page 1: El arte de crear software de calidad con agilidad

“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.4Actualizado 26-02-15

Page 2: El arte de crear software de calidad con agilidad

¿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

Page 3: El arte de crear software de calidad con agilidad

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

Page 4: El arte de crear software de calidad con agilidad

Definiendo un Ecosistemas de software que gestione todoel 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

Page 5: El arte de crear software de calidad con agilidad

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

Page 6: El arte de crear software de calidad con agilidad

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

Testing

PRE

PRO

6

Page 7: El arte de crear software de calidad con agilidad

Automatizar el ciclo completo integrando modelo y herramientas

Compilar, Verificar, Desplegar y Probar

AutomatizaciónDiaria

SVN

MVN Jenkins

7

Planificación SprintIncremento (Demo)

periódico

Page 8: El arte de crear software de calidad con agilidad

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

Page 9: El arte de crear software de calidad con agilidad

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 ;-)

Page 10: El arte de crear software de calidad con agilidad

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)

Page 11: El arte de crear software de calidad con agilidad

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

Page 12: El arte de crear software de calidad con agilidad

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

Page 13: El arte de crear software de calidad con agilidad

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

EsclavosSelenium RC+

Navegador Web

MaestroSelenium Grid

Equipo Testing

Servidor de Integración(servidor de aplicaciones)

SCM (svn,…)

PASO 1

PASO 2

PASO 3

PASO 4

PASO 5

PASO 6

Page 14: El arte de crear software de calidad con agilidad

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

Page 15: El arte de crear software de calidad con agilidad

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

Page 16: El arte de crear software de calidad con agilidad

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 SprintCriterios de Aceptación

Reunión de Revisión y Retrospectiva

Equipo Desarrollo

Aceptación o Rechazo para iniciar el

Plan de Testing

Gestióndefectos

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 alcanceDefinició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