35
AGILE SW QA GMV

Jose alberto. Product Assurance in agile developmentss. A Team-Based Approach

Embed Size (px)

Citation preview

Page 1: Jose alberto. Product Assurance in agile developmentss. A Team-Based Approach

AGILE SW QA GMV

Page 2: Jose alberto. Product Assurance in agile developmentss. A Team-Based Approach

PA

RTE

1

AG

ILE

Page 3: Jose alberto. Product Assurance in agile developmentss. A Team-Based Approach

PA

RTE

1

GMV: UNA BREVE PRESENTACIÓN

MITOS DE LA GESTIÓN DE PROYECTOS

EL MANIFIESTO AGILE: VALORES INICIALES Y VALORES

REVISADOS

LA PROPUESTA DE VALOR AGILE

EL ENFOQUE AGILE

METODOLOGÍAS Y PRÁCTICAS AGILE

EL TRIÁNGULO INVERTIDO DE LAS RESTRICCIONES EN

AGILE

TIMEBOXING Y PRIORIZACIÓN

VISIÓN DE CONJUNTO DE AGILE

EL MANIFIESTO AGILE: PRINCIPIOS

Page 4: Jose alberto. Product Assurance in agile developmentss. A Team-Based Approach

GMV: UN GRUPO TECNOLÓGICO GLOBAL

PARTE 1

Grupo multinacional tecnológico

Fundado en

1984

Capital privado

Sede principal en España (Madrid)

Oficinas en 10 países

Más de 1.100 empleados

Origen vinculado al sector espacial

Aeronáutica, Espacio, Defensa, Seguridad, Sanidad, Transporte, Banca y finanzas, y Tecnologías de la Información y la Comunicación

Ingeniería, desarrollo e integración de sistemas, software, hardware, servicios y productos especializados

Page 5: Jose alberto. Product Assurance in agile developmentss. A Team-Based Approach

GMV: COMPROMISO CON LA CALIDAD

PARTE 1

GMV Aerospaceand DefenceS.A.U.

GMV Soluciones Globales Internet S.A.U.

GMV Sistemas S.A.U GMVIS Skysoft S.A. GMV InnovatingSolutions Pvt. Ltd. GMV NA

CMMI Level 5 ✓ ✓ ✓ ✓

CMMI Level 3 ✓

AQAP/PECAL 2110 ✓

AQAP/PECAL 2210 ✓

UNE-EN ISO 14001:2004 ✓ ✓ ✓

UNE-EN IS0 9001:2008 ✓ ✓ ✓ ✓ ✓

UNE-EN ISO 9100:2010 ✓ ✓ ✓

ISO 13485:2003 ✓

ISO 27001:2005 ✓

ISO 20000-1:2011 ✓

ISO 22301:2012 ✓

UNE 166002 ✓

Madrid Excelente ✓

Page 6: Jose alberto. Product Assurance in agile developmentss. A Team-Based Approach

MITOS DE LA GESTIÓN DE PROYECTOS

PARTE 1

Nada va a cambiar a lo largo del proceso de construcción.

Los Desarrolladores saben exactamente cómo

construirlo.

El Cliente sabe exactamente lo que quiere.

Muchas cosas cambian a lo largo del proceso de

contrucción.

Los Desarrolladores descubren cómo construirlo

al tiempo que lo van construyendo.

El Cliente descubre lo que quiere según va viendo o

experimentando.

LOS MITOS

LA REALIDAD

Page 7: Jose alberto. Product Assurance in agile developmentss. A Team-Based Approach

PARTE 1

EL MANIFIESTO AGILE: VALORES INICIALES

Individuos e interacciones

Software funcionando

Colaboración del cliente

Responder al cambio

Procesos y herramientas

Documentación extensiva

Negociación contractual

Seguir un plan

Agile, reconociendo valor en los elementos tradicionales, surge para enfrentar a ellos nuevos valores.

Frente a

Frente a

Frente a

Frente a

Page 8: Jose alberto. Product Assurance in agile developmentss. A Team-Based Approach

PARTE 1

EL MANIFIESTO AGILE: VALORES REVISADOS

Individuos e interacciones Procesos y herramientas

Software funcionando Documentación extensiva

Colaboración del cliente Negociación contractual

Responder al cambio Seguir un plan

Hoy en día, debido a múltiples factores (la tecnología cambiante, la omnipresencia del software, el incremento en su complejidad y la existencia aún notable de proyectos fallidos), conviene revisar estos valores de manera que coexistan con los tradicionales.

Combinado con

Equilibrado con

Combinado con

Combinado con

Page 9: Jose alberto. Product Assurance in agile developmentss. A Team-Based Approach

Page 9 GENERAL PRESENTATION

06/02/2013

LA PROPUESTA DE VALOR AGILE

PARTE 1

Page 10: Jose alberto. Product Assurance in agile developmentss. A Team-Based Approach

Page 10 GENERAL PRESENTATION

06/02/2013

EL ENFOQUE AGILE PARTE 1

Agile es una manera de pensar, una filosofía basada en los valores, los principios y las prácticas Agile.

Agile no es un proceso o un marco de trabajo o una herramienta específicos.

El pensamiento Agile puede materializarse en varias prácticas diferentes.

Enfoque Agile

4 Valores

12 Principios

Varias Prácticas

Page 11: Jose alberto. Product Assurance in agile developmentss. A Team-Based Approach

METODOLOGÍAS Y PRÁCTICAS AGILE

PARTE 1

Scrum Kanban Crystal Clear

Extreme Programming

XP

Lean Software Development

Dynamic Systems Development

Method DSDM

Feature Driven Development

FDD

Rational Unified Process

RUP

Refactoring

Test Driven Development

Continuous Integration

Story-Driven Modeling

Velocity Tracking

Pair Programming Retrospectives

Page 12: Jose alberto. Product Assurance in agile developmentss. A Team-Based Approach

EL TRIÁNGULO INVERTIDO DE LAS RESTRICCIONES EN AGILE

PARTE 1

Enfoque Agile: Alcance emergente (variable). Tiempo y Coste fijos; si hay flexibilidad en las prioridades de los temas que están bajo ese Alcance.

Alcance

Coste Tiempo

Restricciones en un Proyecto Agile

Enfoque Tradicional: Alcance conocido (fijo). Tiempo y Coste estimados para ese Alcance; es un hecho que es difícil “cuadrar” el Alcance por adelantado.

Alcance

Coste Tiempo

Restricciones en un Proyecto Tradicional

Variable

Fijo

Page 13: Jose alberto. Product Assurance in agile developmentss. A Team-Based Approach

Page 13 GENERAL PRESENTATION

06/02/2013

TIMEBOXING Y PRIORIZACIÓN PARTE 1

Se establecen períodos de duración fija y relativamente corta (timeboxes) en los que realizar un trabajo o un conjunto de actividades definido de antemano.

New Must have

Could have

Alcance

Coste Tiempo

TABLA DE PRIORIDAD

Must have

Should have

Could have

Page 14: Jose alberto. Product Assurance in agile developmentss. A Team-Based Approach

Page 14 GENERAL PRESENTATION

06/02/2013

VISIÓN DE CONJUNTO DE AGILE PARTE 1

Page 15: Jose alberto. Product Assurance in agile developmentss. A Team-Based Approach

Page 15 GENERAL PRESENTATION

06/02/2013

EL MANIFIESTO AGILE: PRINCIPIOS

PARTE 1

Satisfacer al cliente mediante

la entrega temprana y continua de software con

valor

Aceptar que los requisitos

cambien, incluso en etapas tardías del desarrollo

Entregar software que

funciona frecuentemente,

entre dos semanas y dos

meses

Los responsables de negocio y los desarrolladores trabajan juntos

de forma cotidiana

Los proyectos se desarrollan en

torno a individuos motivados a

quienes se confía la ejecución del

trabajo

El método más eficiente y efectivo de

comunicarse es la conversación cara

a cara

El software que funciona es la

principal medida del progreso

Se promueve un desarrollo sostenible,

manteniendo un ritmo constante

de forma indefinida

Atención continua a la excelencia

técnica y al buen diseño

Equipos auto-organizados como

fuente de las mejores

arquitecturas, requisitos y

diseños

Reflexiones periódicas de todo el equipo para ajustar y

mejorar su efectividad

Simplicidad como arte de

maximizar la cantidad de

trabajo que no se hace

Page 16: Jose alberto. Product Assurance in agile developmentss. A Team-Based Approach

PA

RTE

2

AG

ILE

SW

QA

Page 17: Jose alberto. Product Assurance in agile developmentss. A Team-Based Approach

PA

RTE

2

RETOS Y OPORTUNIDADES DE AGILE SW QA

IMPLICACIONES SOBRE SW QA

TAREAS CLAVE DE AGILE SW QA

PUNTOS DE CONTROL EN AGILE SW QA

DIFERENCIAS EN LAS ACTIVIDADES DE V+V

IMPLICACIONES SOBRE ECSS Y REVISIONES FORMALES

(MILESTONES)

IMPLICACIONES SOBRE CMMI

CONCLUSIONES E IDEAS FINALES

Page 18: Jose alberto. Product Assurance in agile developmentss. A Team-Based Approach

Page 18 GENERAL PRESENTATION

06/02/2013

RETOS Y OPORTUNIDADES DE AGILE SW QA

PARTE 2

Proceso de seguimiento y control

Pocas revisiones principales (hitos)

Control del cambio

Documentar como evidencia

Cultura de confianza Frente a

Muchas pequeñas evaluaciones Frente a

Bienvenida al cambio Frente a

Documentar por valor Frente a

LAS OPORTUNIDADES

Respuesta rápida a los problemas

Mejora del proceso como parte del propio proceso de desarrollo

Métricas inmediatas sobre el producto

Promover mejores prácticas

Page 19: Jose alberto. Product Assurance in agile developmentss. A Team-Based Approach

Page 19 GENERAL PRESENTATION

06/02/2013

IMPLICACIONES SOBRE SW QA PARTE 2

Las pocas revisiones principales (hitos) se convierten en muchas revisiones pequeñas.

V+V continua.

Aceptación iterativa.

Participación activa y frecuente del Cliente.

Apoyo a los equipos en la medición y análisis.

Supervisión de los puntos de control automáticos de SW QA.

Page 20: Jose alberto. Product Assurance in agile developmentss. A Team-Based Approach

Page 20 GENERAL PRESENTATION

06/02/2013

TAREAS CLAVE DE AGILE SW QA PARTE 2

Supervisión de la priorización de los requisitos.

Supervisión de las iteraciones.

Puntos de control automáticos de SW QA en integración continua.

QA proactivo, integración en el equipo.

Transparencia, debido a la medición y análisis continuo.

Aceptación y V+V continua.

Page 21: Jose alberto. Product Assurance in agile developmentss. A Team-Based Approach

GENERAL PRESENTATION

PUNTOS DE CONTROL EN AGILE SW QA PARTE 2

Page 22: Jose alberto. Product Assurance in agile developmentss. A Team-Based Approach

DIFERENCIAS EN LAS ACTIVIDADES DE V+V

PARTE 2

Page 23: Jose alberto. Product Assurance in agile developmentss. A Team-Based Approach

Page 23 GENERAL PRESENTATION

06/02/2013

IMPLICACIONES SOBRE ECSS Y REVISIONES FORMALES (MILESTONES)

PARTE 2

ECSS - European Cooperation for Space Standardization

ECSS es una iniciativa para desarrollar un conjunto único y coherente de estándares user-friendly para uso en todas las actividades de Espacio en Europa.

ECSS se origina oficialmente en otoño de 1993.

Page 24: Jose alberto. Product Assurance in agile developmentss. A Team-Based Approach

Page 24 GENERAL PRESENTATION

06/02/2013

IMPLICACIONES SOBRE ECSS Y REVISIONES FORMALES (MILESTONES)

PARTE 2

ECSS se despliega en tres ramas y varias disciplinas por rama.

Page 25: Jose alberto. Product Assurance in agile developmentss. A Team-Based Approach

Page 25 GENERAL PRESENTATION

06/02/2013

IMPLICACIONES SOBRE ECSS Y REVISIONES FORMALES (MILESTONES)

PARTE 2

Acquisition

Supply

Primary life cycle processes

Development

Operation

Maintenance

Documentation

Configuration Management

Supporting life cycle processes

Quality Assurance

Verification

Validation

Joint Review

Audit

Problem resolution

Improvement

Management Infrastructure

Training

Organizational life cycle processes

Other ECSS

E-ST-40C

Q-ST-80C

Details for SPA and/or SW-Engineering

ECSS cubre los procesos del estándar ISO 12207 de Ingeniería del Software.

Page 26: Jose alberto. Product Assurance in agile developmentss. A Team-Based Approach

Page 26 GENERAL PRESENTATION

06/02/2013

IMPLICACIONES SOBRE ECSS Y REVISIONES FORMALES (MILESTONES)

PARTE 2

Ciclo de vida del software ECSS basado en fases y revisiones.

Page 27: Jose alberto. Product Assurance in agile developmentss. A Team-Based Approach

Page 27 GENERAL PRESENTATION

06/02/2013

IMPLICACIONES SOBRE ECSS Y REVISIONES FORMALES (MILESTONES)

PARTE 2

Page 28: Jose alberto. Product Assurance in agile developmentss. A Team-Based Approach

Page 28 GENERAL PRESENTATION

06/02/2013

IMPLICACIONES SOBRE CMMI PARTE 2

CMMI es una colección de prácticas que las organizaciones (SW, HW e IT) pueden adoptar para mejorar su desempeño. CMMI se puede adoptar en dos modos: por etapas (hoja de ruta) o continuo (“a la carta”).

CMMI es un modelo de 5 niveles:

El Nivel 1 (Inicial) representa el nivel inicial caracterizado por la falta de estabilidad y de planificación, en que el éxito de los proyectos se basa en el esfuerzo personal y a menudo se producen fracasos, retrasos y sobrecostes.

El Nivel 2 (Repetible) se enfoca en la gestión básica de proyectos y cambios.

El Nivel 3 (Definido) se enfoca en las habilidades de ingeniería, la gestión avanzada y el aprendizaje de la organización.

Los Niveles 4 (Gestionado) y 5 (Optimizado) se enfocan en el uso de la estadística para mejorar el desempeño de la organización, controlando estadísticamente procesos seleccionados y reduciendo la variación.

Page 29: Jose alberto. Product Assurance in agile developmentss. A Team-Based Approach

Page 29 GENERAL PRESENTATION

06/02/2013

IMPLICACIONES SOBRE CMMI PARTE 2

Scrum es una metodología de desarrollo Agile que sigue un ciclo de vida predefinido.

Scrum se basa en tres roles principales:

El Product Owner comunica la visión del producto al equipo de desarrollo. Esto incluye representar los intereses del cliente por medio de requisitos y prioridades.

El Scrum Master actúa como intermediario entre el Product Owner y el equipo. No gestiona al equipo sino que trabaja para ayudar al equipo a alcanzar los objetivos de cada Sprint eliminando obstáculos. Verifica que se sigue el método Scrum.

Los miembros del equipo realizan el trabajo del proyecto. Normalmente el equipo se compone de ingenieros software diversos: arquitectos, analistas, programadores, testers, etc.

Page 30: Jose alberto. Product Assurance in agile developmentss. A Team-Based Approach

IMPLICACIONES SOBRE CMMI PARTE 2

CMMI Scrum

Nivel 2 Repetible

Scrum representa una buena implementación de algunas de las prácticas de este nivel, sin más que el equipo conserve las artefactos de trabajo como evidencia.

Generic Practices. Aproximadamente la mitad de las prácticas genéricas de las Áreas de Proceso REQM (Requirements Management), PP (Project Planning) y PMC (Project Monitoring and Control) están implementadas por Scrum (www.processgroup.com/scrum-cmmi-mapping-ma-gp-v1.pdf).

Scrum implementa también todas las prácticas específicas de PP y PMC.

Respecto a otras Áreas de Proceso:

Configuration Management (CM) no está establecida como tal, pero se puede adoptar fácilmente conservando y versionando los artefactos de trabajo.

Process and Product Quality Assurance (PPQA) no está establecida como tal, pero algunas de sus actividades se hacen de manera natural cuando el Scrum Master chequea que se sigue el proceso Scrum, cuando elimina barreras e ineficiencias, y cuando el equipo realiza inspecciones de código, revisiones de documentos y pruebas. Por tanto, con refinamientos también se puede implementar.

Measurement and Analysis (MA). No hay prácticas en Scrum que establezcan un programa de medida similar a las expectativas de MA, pero se pueden usar las medidas de Scrum para implementar MA (www.processgroup.com/scrum-cmmi-mapping-ma-gp-v1.pdf).

Supplier Agreement Management (SAM). No hay prácticas en Scrum que traten la selección y gestión de suministradores.

Page 31: Jose alberto. Product Assurance in agile developmentss. A Team-Based Approach

IMPLICACIONES SOBRE CMMI PARTE 2

CMMI Scrum

Nivel 3 Definido

Hay dos áreas principales en las que Scrum presenta huecos en este nivel:

Una es en la expectativa de que datos y lecciones de proyecto se compartan entre proyectos por medio de una librería o repositorio común de activos.

Otra es que las fases de ingeniería (requisitos, diseño, implementación, verificación, integración y validación) estén bien definidas.

Estos conceptos pueden ser realizados en Scrum, pero no están definidos en Scrum.

Scrum sí sugiere implementar Communities of Practice y Retrospectives para compartir lecciones aprendidas

dentro de un equipo. Estas ideas se podrían usar ciertamente para poblar un repositorio de activos y por consiguiente definir mejores prácticas y guías de adaptación.

Los siguientes componentes de Nivel 3 de CMMI no pueden ser implementados en Scrum sin trabajo adicional:

Organizational Process Focus, Organizational Process Definition, Organizational Training Integrated Project Management, Risk Management, Decision Analysis and Resolution Algunas prácticas específicas de ingeniería (requirements V+V data analysis) Objetivo Genérico 3 (utilizar un proceso de adaptación y de amplitud la organización con medidas)

En resumen Scrum es una buena implementación de algunas de las prácticas de Nivel 2 de CMMI. Las restantes prácticas de Niveles 2 y 3 se pueden implementar sobre Scrum. Por consiguiente, se puede utilizar Scrum y CMMI a la vez.

Page 32: Jose alberto. Product Assurance in agile developmentss. A Team-Based Approach

Page 32 GENERAL PRESENTATION

06/02/2013

CONCLUSIONES E IDEAS FINALES

PARTE 2

GENERALES

Agile está aquí para quedarse.

Existen muchas metodologías y prácticas Agile diferentes.

No hay una receta única: hay que saber indagar, adoptar y adaptar.

Se necesita un cambio mental para conseguir involucrar al cliente: participación, revisiones.

Implicaciones en la medida del progreso: mayor transparencia, línea de referencia flotante.

Las necesidades del usuario son el hilo conductor.

Se incrementa la satisfacción del cliente a través de la frecuente retroalimentación.

Seguir las métricas y usarlas como una fuente de entrada más en cada iteración.

Page 33: Jose alberto. Product Assurance in agile developmentss. A Team-Based Approach

CONCLUSIONES E IDEAS FINALES

PARTE 2

PROJECT MANAGEMENT (PM)

Mantener ambos paradigmas ECSS y Agile simultáneamente requiere una mayor dedicación. Es preferible usar solo Agile frente a usar ambos paradigmas o solo ECSS.

Mantener ambos paradigmas ECSS y Agile simultáneamente puede conducir a una mayor conflictividad con el Cliente sobre lo que está incluido y lo que no en el presupuesto.

Se necesita asegurar la involucración del cliente; que el Project Manager asuma el rol del Cliente va en contra de la filosofía Scrum y puede ser contraproducente.

Se pueden producir puntos de bloqueo o cuellos de botella si el Cliente no proporciona retroalimentación a tiempo.

Aunque se recomienda reducir el número de revisiones formales ECSS (por ejemplo combinando varias en una), se deben mantener los documentos mínimos que sean necesarios a lo largo del ciclo de vida, para que estén listos para su revisión y aprobación en la revisión final.

Se recomienda idear y montar mecanismos para generar los documentos mínimos que sean necesarios de manera automática (y válida) por medio de herramientas y a partir de otros artefactos del desarrollo como son el diseño, el código fuente y las pruebas.

Se recomienda usar herramientas flexibles de ticketing con visibilidad externa para el reporting y la trazabilidad de los principales elementos de gestión del proyecto (tareas, acciones, riesgos, RID, SPR, etc.), en lugar de realizar informes.

Page 34: Jose alberto. Product Assurance in agile developmentss. A Team-Based Approach

CONCLUSIONES E IDEAS FINALES

PARTE 2

V+V, CM, QA

Las prácticas de V+V pueden ser dependientes de la definición de DONE (en particular en el caso de user stories) que se acuerde con el Cliente.

La Validación realizada durante las iteraciones no conlleva la generación de informes de pruebas. Los problemas detectados pueden ser recogidos en herramientas de ticketing.

La aplicación de un proceso Agile no es suficientemente transparente ni de grano fino en relación a la verificación del cumplimiento de los requisitos, según se requiere en ECSS.

En Agile, la trazabilidad de los cambios en los elementos de configuración (en particular documentos) no se suele estar contenida en los elementos mismos, sino que se encuentra distribuida y dispersa en el product backlog, wikis, MOM, documentos informales o emails. Ello puede dificultar la verificación.

En Agile, el Responsable de QA puede compartir algunas tareas con el Scrum Master, como son:

Asegurar que el equipo sigue los procedimientos y estándares aplicables al proyecto, durante todo el proyecto pero especialmente en las primeras etapas.

Asegurar que todos los miembros del equipo usan el mismo entorno de desarrollo (incluyendo conjunto de reglas, métricas, configuración, etc.) , durante todo el proyecto pero especialmente en las primeras etapas.

Participar en los review meetings, una vez por Sprint.

En la entrega final, asegurar que los productos a entregar al Cliente son correctos, completos y poseen la calidad esperada.

Page 35: Jose alberto. Product Assurance in agile developmentss. A Team-Based Approach

w

ww

.gm

v.co

m

GRACIAS

[email protected]