Curso Introducción a Agile

Post on 29-Nov-2014

4.460 views 2 download

description

Presentación realizada durante el Curso de Introducción a Agile impartido por Agile-Barcelona

Transcript of Curso Introducción a Agile

AgileCurso de Introducción

@agilebcn#agilebcn

Gracias!!

Grandes Preguntas

Agile: State of the art

agile?

Nuestra mayor prioridad es satisfacer al cliente mediante la entrega temprana y continua de software que aporta valor.

Los cambios son bienvenidos, aún en fases tardias del desarrollo. Los procesos Agile consideran el cambio una ventaja competitiva para sus clientes.

Entregamos software funcionando frecuentemente, desde unas pocas semanas a unos pocos meses, con preferencia por la escala mas corta.

Las personas de negocio y los desarrolladores trabajan juntos diariamente durante el proyecto.

Construimos los proyectos alrededor de personas motivadas. Les proveemos del entorno y el soporte que necesitan, y confiamos en que harán el trabajo.

El método mas eficiente y efectivo de compartir información con y dentro del equipo de desarrollo es la conversación cara a cara.

El software funcionando es la principal medida de progreso.

Promovemos el desarrollo sostenible. Sponsors, desarrolladores y usuarios deben ser capaces de mantener un ritmo sostenible indefinidamente.

La atención continua a la excelencia tecnica y el buen diseño mejora la agilidad del proceso.

Simplicidad – el arte de maximizar el trabajo no realizado – es esencial.

Las mejores arquitecturas, requerimientos y diseños emergen de equipos auto-organizados.

A intervalos regulares, el equipo reflexiona sobre como ser mas efectivo, optimizando y ajustando el entorno de acuerdo a ello.

Dos procesos

Proceso predictivo

Proceso predictivo

TIEMPO

VALOR

TIEMPO

VALOR

Proceso predictivo

TIEMPO

VALOR

Alto ROI en las primeras etapas del proyecto

pero el ROI va menguando a medida que avanzamos

Proceso predictivo

TIEMPO

VALOR

La ejecución se basa en planificaciones realizadas anteriormente. No existe proceso de aprendizaje.

Proceso predictivo

Proceso Empírico

“El acto de realizar acciones basandose en la situación real actual, no en una planificación anterior”

TIEMPO

VALOR

Ciclos cortos de planificación y ejecución basados en la situación actual del proyecto

Proceso Empírico

TIEMPO

VALOR

El ROI es maximizado mediate planificaciones a corto plazo.

Proceso Empírico

TIEMPO

VALOR

y el ROI final al proyecto es ampliamente mayor al anterior

Proceso Empírico

TIEMPO

VALOR

El equipo produce software funcionando periodicamente…

Resultado: software funcionando

TIEMPO

VALOR

Este software funcionando puede ser liberado a los clientes/usuarios.

Se obtiene valor de los clientes y aprendizaje útil para el equipo

Resultado: software funcionando

Proceso predictivo Proceso empírico

2 procesos

Siempre?

Desarrollo Tradicional Agile

No, no siempre

Sabemos lo que hay que hacerSabemos como hacerlo

Descubrimos lo que hay que hacerDescubrimos como hacerlo

No, no siempre

Modelos, Frameworks y Metodologias

eXtreme Programming

SCRUM

Priorización Planificación Ejecución Valor

KANBAN

SCRUMBAN

DSDM Atern

Proyecto “Ball Point”

Gracias!! (otra vez, nunca esta de mas)

Happiness door

http://agile-barcelona.org

https://groups.google.com/group/agile-spain-barcelona

@agilebcn

AgileSCRUM I

@agilebcn#agilebcn

Gracias!!

Scrum?

Scrum: Fundamentos

1.Gestión Empírica2.Ciclo de vida iterativo e

incremental3.Transparencia4.Inspección y adaptación

Scrum: Objetivos

1.Flexibilidad a cambios2.Gestionar la incertidumbre3.Complejidad4.Maximizar el ROI5.Anticipar TTM6.Comunicación y cooperación7.Maximizar calidad y

productividad

Scrum: Roles

Product Owner

“Toma las entradas de lo que el producto debe ser y los traduce en una visión de producto con la que el equipo pueda trabajar “

Equipo

“ Desarrolla el producto previsto por el propietario del producto. “

ScrumMaster

“Provee de todo lo necesario para que el Equipo tenga éxito, como la eliminación de los obstáculos de organización, la facilitación de reuniones, actuando como un guardián para que nadie interrumpa innecesariamente el trabajo del equipo. “

Scrum: Product Owner

“Toma las entradas de lo que el producto debe ser y los traduce en una visión de producto con la que el equipo pueda trabajar “

“ Desarrolla el producto previsto por el propietario del producto. “

Scrum: Equipo

Scrum: ScrumMaster

“Provee de todo lo necesario para que el Equipo tenga éxito, como la eliminación de los obstáculos de organización, la facilitación de reuniones, actuando como un guardián para que nadie interrumpa innecesariamente el trabajo del equipo. “

Scrum: Ciclo de Vida

Planificación

Product Backlog

Historias de usuario

Visión globalIncompletaDiferente nivel de detallePriorizado Cambia a lo largo del proyecto

Historias de Usuario

Descripción de funcionalidad desde el punto del usuario y que expresa el valor que le aporta

El usuario recibir una notificación cada vez que un “amigo” se conecta al sistema

El usuario puede buscar canciones por nombre o artista

Las 3 C’s (al menos en inglés)

TARJETA (CARD): Tarjeta física con la descripción de la funcionalidad

CONVERSACIÓN: Sobre los detalles de la implementación para asegurar el entendimiento

CONFIRMACIÓN: Tests de aceptación que permiten fijar el alcance y verificar si la historia cumple o no los requisitos

Historias de Usuario

“ Una historia de usuario es una invitación a conversar “

Historias de Usuario: Forma

Como <rol> quiero <funcionalidad>

para <beneficio>Como <usuario registrado> quiero <recibir una notificación cada vez que un “amigo” se conecta al sistema>para <poder hablar con el en ese momento>

I – IndependentN – NegotiableV – ValuableE – EstimableS – SmallT – Testable

Historias de Usuario: INVEST

Historias de Usuario: Beneficios

Entendimiento compartido de la soluciónEnfatizan la comunicación verbalAplazar los detallesDesarrollo emergenteBuen tamaño para planificarFavorecen el desarrollo iterativo

A currar!

Visión

“Queremos disponer de una aplicación de climatología para dispositivos móviles, que obtenga la información de un proveedor externo de meteorología y la muestre al usuario, incluyendo temperatura así como datos sobre lluvia o nieve”

Priorización

MoSCoW

Business value based

Technology risk

KANO Model

Walking skeleton

Validate learning

Gracias!! (otra vez, nunca esta de mas)

Retrospectiva

http://agile-barcelona.org

https://groups.google.com/group/agile-spain-barcelona

@agilebcn

AgileSCRUM II

@agilebcn#agilebcn

Gracias!!

Estimación

Estimación ágil

“El propósito inicial de la estimación no es predecir cuando un proyecto va a estar listo;es determinar si los objetivos de un proyecto son lo suficientemente realistas como para poder alcanzarlos”

Steve McConnell, Software Estimation: Demystifying the Black Art

Estimación ágil

Estimación ágil

Estimación ágil

Puntos de Historia

Puntos de Historia0, 1, 2, 3, 5, 8, 13, 20, 40, 100

Representa niveles de magnitudNos ayuda a expresar incertidumbreFacil y rápidoLa estimación no decae con el tiempo

Planning Poker

Tallas de Camisetas

Velocidad

¿Cuantos puntos somos capaces de entregar por iteración?

=100 PH3 Sprints!

Liturgias

Daily Meeting

¿Qué hiciste ayer?¿Qué piensas hacer hoy?¿Qué problemas has

encontrado?

Sprint Demo

Retrospectiva

Todo es feedback!!

Burndown

Gracias!! (otra vez, nunca esta de mas)

Retrospectiva

Escoger 5 dimensiones que puedan ser valoradas sobre la formación

Retrospectiva

http://agile-barcelona.org

https://groups.google.com/group/agile-spain-barcelona

@agilebcn

AgileLEAN, KANBAN,

SCRUMBAN

@agilebcn#agilebcn

Gracias!!

Lean Thinking: Principios1. Eliminar el desperdicio

Brindar un liderazgo técnico y de mercadoCrear solamente cosas de valor

2. Crear conocimientoCrear equipos multidisciplinares

Mantener una cultura de mejora continua3. Embeber a la calidad Sincronizar Automatizar4. Postergar el compromiso

Romper con las dependenciasMantener opciones

5. Optimizar el totalEnfocarse en el flujo completo de valorEntregar un producto completo

6. Entregar rápidoTrabajar en bloques pequeñosLimitar el trabajo a la capacidad

7. Respetar a las personasCapacitar a los líderes de equipoMover la responsabilidad y la toma de decisiones al nivel más bajo

posibleFomentar orgullo por el trabajo

Lean Thinking: Practicas y Herramientas

• Value / Value Stream Mapping

• Kaizen / Kaikaku / 7 wastes

• 5 whys / Gemba / Genchi gembutsu

• Teamwork / multi-skill / leaders as coaches

• Visual Management / andon

• Flow / small batches / one piece flow / supermarket

• Kanban / flow / pull

• Takt time / ritmo

• Level load (heijunka)

• Build quality in / stop the line

• Standard work

• 5 S’s (sort, stabilize, shine, standardize, sustain)

• A3 thinking, PDCA

Lean Thinking: 7 wastes7 waste de l Sistema de

Producción Toyota (Shigeo Shingo)

7 waste de l Desarrollo de Software (Mary Poppendieck)

Inventario Trabajo parcialmente realizado

Extra Procesamiento Procesos Innecesarios

Sobreproducción Funcionalidades innecesarias

Transporte Cambios Frecuentes de actividad

Espera Espera

Movimiento Movimiento

Defectos Defectos

Lean Thinking: El 8 Waste

Talento!!

Lean Thinking: Flow / Pull

Kanban

Kanban

“Kanban is an approach to change management. It isn’t a software development or project management lifecycle or process”

David Anderson

Kanban: 3 PrincipiosEmpieza donde estas

Kanban no preescribe un conjunto de reglas o roles especificos, ni procesos a seguir.

Cambio evolutivo, incrementalCambios pequeños y graduales, mejora

continua (Kaizen)

Respeto por el proceso actual, roles, responsabilidades Reduce el miedo / resistencia al cambio y experimenta los beneficios como equipo

Kanban: 5 PropiedadesVisualiza el flujo de trabajo

Kanban significa literalmente “tablero”.

Limita el trabajo en curso (WIP)Utiliza un sistema “pull” – establece y respeta tu

capacidad ideal

Gestiona el flujo Monitoriza, mide e haz visible el flujo de trabajo en cada estado

Haz las reglas explicitas¿Qué significa terminado?, limites de WIP, estandar de

código, bloqueos, etc...

Mejora el flujo colaborativamente Involucra a todo el mundo

Kanban

Kanban: ¿Por qué?

A veces el time-boxing no funciona

Integración sencilla con otros procesos

Restricciones de la organización

Mínima resistencia al cambio

Kanban: El tablero mas básico

Kanban: Limites

Kanban: Backlog

Kanban: Tu ciclo de vida

Kanban: Transiciones

Kanban: Dia 0

Kanban: El Backlog

Kanban: Dia N

Kanban: Responsabilidades

Kanban: Bloqueos

Kanban: Bloqueos

Kanban: “Priority Lane”

Kanban: Múltiples proyectos

Kanban: Múltiples proyectos

Kanban: Despliegue

Kanban: Despliegue

Scrumban

¿Kanban + Scrum o Scrum + Kanban?

Gracias!! (otra vez, nunca esta de mas)

Retrospectiva

Retrospectiva

http://agile-barcelona.org

https://groups.google.com/group/agile-spain-barcelona

@agilebcn

AgileOPEN SPACE

@agilebcn#agilebcn

Gracias!!

¿Qué es un Open Space?

Open Space: cuatro principios

Open Space : cuatro principios

Open Space : cuatro principios

Open Space : cuatro principios

Open Space : cuatro principios

Open Space : y una ley

Lean Thinking: Flow / Pull

Gracias!! (otra vez, nunca esta de mas)

Retrospectiva

http://agile-barcelona.org

https://groups.google.com/group/agile-spain-barcelona

@agilebcn