35

ALM09 - Scrum, Visual Studio y Buenas Prácticas

Embed Size (px)

DESCRIPTION

Presentación que realicé en el ALM Sessions'09 de España

Citation preview

Page 1: ALM09 - Scrum, Visual Studio y Buenas Prácticas
Page 2: ALM09 - Scrum, Visual Studio y Buenas Prácticas

Metodología

Planificación

Gestión del

cambio

Estimación Documentación

Herramientas

Procesos

ROI

Equipo

Comunicación

Involucrar al

cliente

Testeo Unitario

Calidad

Gestión de la

configuración

Construcción

automatizada

Contratos

Gestión de

requisitos

Page 3: ALM09 - Scrum, Visual Studio y Buenas Prácticas

SOCORRO !Gestionar proyectos es dificil

Gestionar proyectos ES POSIBLE

Vengo a animaros a hacerlo… y

comentar mi experiencia

Page 4: ALM09 - Scrum, Visual Studio y Buenas Prácticas

Evitar reinventar la rueda

Establecer un marco de trabajo claro

Incorporar a nuestra gestión buenas prácticas

Page 5: ALM09 - Scrum, Visual Studio y Buenas Prácticas

Simple, de menos a más

Natural para el desarrollador

Ágil

SCRUM

Page 7: ALM09 - Scrum, Visual Studio y Buenas Prácticas

Soportar la metodología y buenas prácticas en el día a día

Facilitar la vida de los implicados en el proyecto

Recolectar y explotar información sin burocrácia

Page 8: ALM09 - Scrum, Visual Studio y Buenas Prácticas

Agnóstica respecto a la metodología

Con soporte para todas las buenas prácticas comunes

Integrada en el día al día del desarrollador

Page 9: ALM09 - Scrum, Visual Studio y Buenas Prácticas
Page 10: ALM09 - Scrum, Visual Studio y Buenas Prácticas
Page 11: ALM09 - Scrum, Visual Studio y Buenas Prácticas

Autoorganizado

Autogestionado

Multifuncional

Page 12: ALM09 - Scrum, Visual Studio y Buenas Prácticas

Dificultades

Acciones

Resultados

Page 13: ALM09 - Scrum, Visual Studio y Buenas Prácticas

Crear un producto backlog

Entender y formar el equipo multidisciplinar

Crear el product backlog

Estimación

Seguir la reglas de Scrum

Implementar buenas prácticas

Aprender a estimar

Trabajamos metódicamente continuamente

Nuestra velocidad de desarrollo mejora contínuamente

Hemos conseguido los objetivos marcados

La calidad del producto a mejorado enormemente

La rotación en el equipo es nula

Page 14: ALM09 - Scrum, Visual Studio y Buenas Prácticas
Page 15: ALM09 - Scrum, Visual Studio y Buenas Prácticas
Page 16: ALM09 - Scrum, Visual Studio y Buenas Prácticas

Falta de comprensión de las ventajas

Falta de pericia al escribir pruebas

Pereza al escribir pruebas

Problemas de rendimiento de las pruebas

Las pruebas unitarias no son opcionales

Pragmatismo: cobertura suficiente = pruebas suficientes

Mantenimiento contínuo de las pruebas

Capacidad de mejorar la base de código con libertad

Percepción general de mejora de la calidad de desarrollo

Flexibilidad para implementar cambios con rapidez

Código más mantenible

Mejor diseño

+ 2600 pruebas “sin esfuerzo”

Ya nadie discute la utilidad

Pruebas unitarias

Page 17: ALM09 - Scrum, Visual Studio y Buenas Prácticas
Page 18: ALM09 - Scrum, Visual Studio y Buenas Prácticas

Difícil

Muy ambiciosos

La complejidad de la construcción crece más que

la complejidad del proyecto

Utilizar una figura de Release Manager

Mantenimiento continuo de los scripts de construcción

Reutilización de tareas de terceros

Todo componente tiene su instalador

El despliegue ha dejado de ser un dolor

Podemos hacer test de humo

Detección muy temprana de problemas

Muchas menos incidencias

Integración frecuente y construcciones automatizadas

Page 19: ALM09 - Scrum, Visual Studio y Buenas Prácticas
Page 20: ALM09 - Scrum, Visual Studio y Buenas Prácticas

Exigen burocracia

Exigen seguimiento

Exigen control

Seleccionar métricas suficientes pero no excesivas

Vigilarlas a diario en el Daily Scrum

Hacerlas pieza central de la gestión del proyecto

Analizarlas con visión de medio plazo

Mantener la burocracia bajo control

Gestionar en base a datos

Guiar en base a fundamentos las actividades paralelas al desarrollo

Hacer visible el progreso, la velocidad de desarrollo

Mejorar la gestión de recursos y personal

Métricas

Page 21: ALM09 - Scrum, Visual Studio y Buenas Prácticas

Métricas

Page 22: ALM09 - Scrum, Visual Studio y Buenas Prácticas
Page 23: ALM09 - Scrum, Visual Studio y Buenas Prácticas

La calidad no es importante

La falta de calidad daña la agilidad y la velocidad

Nosotros no elegimos la calidad

Dejar la calidad para el final

Pruebas de aceptación y de humo

Test de carga puntualmente

Sprint Reviews: vigilar la calidad percibida

Betas públicas: automatización del despliegue

Mantener el nivel de calidad es más barato que alcanzarlo

Agilidad ante cambios

Tiempo de despliegue minimizado

Detección temprana de problemas

Calidad, calidad y… calidad

Page 24: ALM09 - Scrum, Visual Studio y Buenas Prácticas
Page 25: ALM09 - Scrum, Visual Studio y Buenas Prácticas

Estructura de ramas

DEV

Bra

nch

DEV-402

RI

Bra

nch

DEV-401

RI

Antes de comenzar

a trabajar en una

historia de usuario

creamos una rama

sobre la que

realizamos el

desarrollo

-

PROJECT

DEV

FEATURES

+ DEV-401

$

+ DEV-402

+

Estructura de

carpetas

Concluido el desarrollo de la

historia de usuario, integramos el

código en la rama principal de

desarrollo

Page 26: ALM09 - Scrum, Visual Studio y Buenas Prácticas

Estructura de ramas

DEV

Bra

nch

RI

Bra

nch

DEV-401

RI

Estructura de

carpetas

DEV-402

RI

Bra

nch

MAIN

Cuando se cumplen las

condiciones de calidad el código

en desarrollo se integra en la rama

MAIN para que los testers

comiencen el trabajo de

estabilización

-

PROJECT

DEV

FEATURES

+ DEV-401

$

+ DEV-402

+

+ MAIN

Cuando se cumplen las

condiciones de calidad el código

en desarrollo se integra en la rama

MAIN para que los testers

comiencen el trabajo de

estabilización

Page 27: ALM09 - Scrum, Visual Studio y Buenas Prácticas

Estructura de ramas

DEV

Bra

nch

RI

Bra

nch

DEV-401

RI

Estructura de

carpetas

DEV-402

RI

Bra

nch

MAIN

Realizar el desarrollo de nuevas

funcionalidades sobre ramas

dedicadas permite que si una

funcionalidad no se completa a

tiempo para incluirla en el Sprint

Review el resto de la base de

código principal siga siendo

coherente y no incluya

características incompletas

DEV-401

DEV-402

-

PROJECT

DEV

FEATURES

+

$

+

+

+ MAIN

Usar ramas de característica

garantiza que a la rama

principal, sobre la que realizamos

la estabilización del software, solo

contendrá características

completas y que han alcanzado un

mínimo de calidad que permita

que el trabajo de los testers sea

productivo

Fin de Sprint

Page 28: ALM09 - Scrum, Visual Studio y Buenas Prácticas

+

Estructura de ramas

DEV

Bra

nch

RI

Bra

nch

DEV-401

RI

Estructura de

carpetas

DEV-402

RI

Bra

nch

MAIN

DEV-401

DEV-402

-

PROJECT

DEV

FEATURES

+

$

+

+

+ MAIN

RELEASE 1.0

V1.0.1

V1.0 (hotfix)

Bra

nch

RI

FI

Contar con una rama de

RELEASE nos permite liberar

parches de emergencia, para

„showstopers‟, minimizando los

posibles impactos sobre el entorno

de producción y minimizando las

necesidades de validación por

parte de los testers

RELEASER

IF

I

Los errores que no son

urgentes se corrigen

sobre la línea principal

de desarrollo y se llevan

a las ramas de

release, si es

necesario, haciendo

merge del changeset

asociado a la corrección

del error

+ RELEASE x.y.z

Page 29: ALM09 - Scrum, Visual Studio y Buenas Prácticas
Page 30: ALM09 - Scrum, Visual Studio y Buenas Prácticas

Product

Backlog

Item

Bug

ReportFailed By

Tested ByAcceptance

Test

Acceptance

TestTested By

Page 31: ALM09 - Scrum, Visual Studio y Buenas Prácticas
Page 32: ALM09 - Scrum, Visual Studio y Buenas Prácticas
Page 33: ALM09 - Scrum, Visual Studio y Buenas Prácticas

¡Haced algo!

… os podemos ayudar

Page 34: ALM09 - Scrum, Visual Studio y Buenas Prácticas
Page 35: ALM09 - Scrum, Visual Studio y Buenas Prácticas

¡Gracias!