Nexus: el exoesqueleto de desarrollo a escala con Scrum

Post on 16-Apr-2017

951 views 0 download

Transcript of Nexus: el exoesqueleto de desarrollo a escala con Scrum

Esta presentación:

Nexus, el exoesqueleto de desarrollo a

escala con Scrum

en Ágiles 2016, Quito

http://bit.ly/nexusagiles2016

NEXUS - SCRUM PROFESIONAL A ESCALA

Lucho Salazar

@luchosalazarc

El exoesqueleto de desarrollo a escala con Scrum Versión 3.0.0 20160925

LUCHO SALAZAR

@luchosalazarc

lucho.salazar@gmail.com

wwww.gazafatonarioit.com

https://co.linkedin.com/in/luchosalazar

Miembro de Ágiles Colombia

• http://www.agilescolombia.org

• @AgilesColombia

• facebook.com/AgilesColombia

• Meetup.com/agilescolombia

#ÁgilEsAlgoQueEres www.gazafatonarioit.com - Lucho Salazar @luchosalazarc

Recordando el ayer…

Scrum de Scrums…

• Era el paso natural para escalar Ágil

• Reunión Diaria multiequipo

• No era una reunión de estatus

• Para identificar dependencias y tratar problemas de

integración entre los equipos

• Asistía un representante técnico de cada equipo

#ÁgilEsAlgoQueEres www.gazafatonarioit.com - Lucho Salazar @luchosalazarc

Historias de la vida real

¿Cuál de los siguientes frameworks estás usando en tu organización?

• Lean (Software Development)

• Kanban

• DevOps

• SAFe

• DAD

• LeSS

• Serious LeAP™

• Tribal Leadership

• eXtreme Programming

• Scrum

#ÁgilEsAlgoQueEres www.gazafatonarioit.com - Lucho Salazar @luchosalazarc

Historias de la vida real

¿Has estado involucrado en esfuerzos para escalar Scrum?

Levanta la mano si tu organización define ‘escalar’ como:

• Múltiples equipos trabajando en un producto

• Múltiples equipos trabajando en sus productos individuales

• Múltiples equipos trabajando en una suite de productos

integrados

• Un equipo trabajando en varios productos en paralelo

• Toda la organización TI adoptando Scrum

• Una transformación organizacional de 180º hacia Ágil

#ÁgilEsAlgoQueEres www.gazafatonarioit.com - Lucho Salazar @luchosalazarc

Historias de la vida real

¿Has estado involucrado en esfuerzos para escalar Scrum?

Levanta la mano si tu organización define ‘escalar’ como:

• Múltiples equipos trabajando en un producto

• Múltiples equipos trabajando en sus productos individuales

• Múltiples equipos trabajando en una suite de productos

integrados

• Un equipo trabajando en varios productos en paralelo

• Toda la organización TI adoptando Scrum

• Una transformación organizacional de 180º hacia Ágil

#ÁgilEsAlgoQueEres www.gazafatonarioit.com - Lucho Salazar @luchosalazarc

Scrum: diseñado para la complejidad

• Fomentar la creatividad

de las personas

• Controlar el riesgo

(Time-Boxing)

• Permitir el aprendizaje

validado

• Conducido por metas

• Exitoso en el

descubrimiento

• Entrega de valor

• Un entorno delimitado

para la acción

#ÁgilEsAlgoQueEres www.gazafatonarioit.com - Lucho Salazar @luchosalazarc

Scrum: diseñado para la complejidad

TECNOLOGÍA

REQUISITOS

Simple Complicado

Complicado Complejo

CAOS

Lejos de la certeza

Cerca a la certeza

Cerca al Acuerdo

Lejos del Acuerdo

#ÁgilEsAlgoQueEres www.gazafatonarioit.com - Lucho Salazar @luchosalazarc

DNA de Scrum

Autoorganización

• Los componentes de un sistema interactuando con un único propósito hacia una meta compartida, evitando cualquier poder externo

Empirismo

• Las decisiones frecuentes de adaptación se basan en el conocimiento ganado vía la inspección y la experiencia

Sin embargo…

#ÁgilEsAlgoQueEres www.gazafatonarioit.com - Lucho Salazar @luchosalazarc

#ÁgilEsAlgoQueEres www.gazafatonarioit.com - Lucho Salazar @luchosalazarc

s c r u m p i d a Basado en estampida. 1. f. scrumpido. 2. f. Prisa repentina y frenética de empresas y organizaciones (pánico) para hacer Scrum porque quieren ser ágiles también. de escrumpida 1. loc. adv. Empezar a usar Scrum repentinamente y con

precipitación impetuosa. Agilizar, escalar de escrumpida.

Gazafatonario © Todo sobre Lenguaje, Lengua y Habla

¿Qué tal si empezáramos con Scrum

antes de intentar ‘escalarlo’?

#ÁgilEsAlgoQueEres www.gazafatonarioit.com - Lucho Salazar @luchosalazarc

La Esencia de Scrum

1. Un equipo saca

trabajo de una

Lista de

Producto

2. Cada Sprint

entrega un

Incremento

distribuible del

producto

Incrementos

Equipo Scrum Lista de

Producto

#ÁgilEsAlgoQueEres www.gazafatonarioit.com - Lucho Salazar @luchosalazarc

“Se necesitan dos para escalar”

-- Gunter Verheyen

Scrum a Escala

Scrum Profesional a Escala

#ÁgilEsAlgoQueEres www.gazafatonarioit.com - Lucho Salazar @luchosalazarc

Definición de Scrum a Escala

• Cualquier implementación

de Scrum donde múltiples

Equipos Scrum construyen

un producto o un conjunto

de características de un

producto en uno o más

Sprints.

• Cualquier implementación

de Scrum donde múltiples

Equipos Scrum construyen

múltiples productos

relacionados o conjuntos de

características de productos

en uno o más Sprints.

#ÁgilEsAlgoQueEres www.gazafatonarioit.com - Lucho Salazar @luchosalazarc

La Esencia de Scrum

1. Un producto

tiene una Lista

de Producto

manejado por un

Dueño de

Producto

2. Múltiples

Equipos crean

Incrementos

integrados

Lista de Producto

Equipos Scrum

Incrementos (Integrados)

#ÁgilEsAlgoQueEres www.gazafatonarioit.com - Lucho Salazar @luchosalazarc

¿Cuáles son tus mayores obstáculos al

escalar Scrum, implementar Scrum a

gran escala?

Los desafíos de escalar Scrum

#ÁgilEsAlgoQueEres www.gazafatonarioit.com - Lucho Salazar @luchosalazarc

La integración del trabajo (o la ausencia de ella)

Código pobremente mantenido produce

EL EFECTO MEDUSA

Un Equipo Scrum Haciendo su Trabajo

Lista de Producto

Algunos Equipos Scrum Haciendo su Trabajo

Lista de Producto

Lista de Producto

Muchos Equipos Scrum Haciendo su Trabajo

• Personas (comunicación)

• Dominios del negocio y requisitos

• Tecnología

• Software

• Infraestructura

• Interna a los equipos

• Entre los equipos

• Externa

Dependencias

Dimensiones Dónde

Dependencias sin revolver aumentan costo

Agregar nuevas

características

Luchar contra la deuda técnica

Tu habilidad de escalar depende de tu

habilidad para:

– Manejar dependencias

– Integrar el trabajo en todos los niveles

– Crear Incrementos integrados

continuamente

Nexus Scrum Profesional a Escala

“Un hombre que toma un gato por la cola aprende algo que no puede aprender de otra forma”.

- Mark Twain

Nexus

–sustantivo

\ˈnek-səs\

En español, Nexo \ˈnekso\

: una relación o conexión entre personas o cosas

¿3-9 Equipos Construyendo un Producto? ¡Ayuda!

Incrementos (Integrados)

Equipos Scrum Lista de

Producto

Nexus™ – Un Exoesqueleto para 3-9 Equipos Scrum

Identifica y trabaja alrededor de las dependencias:

• Antes de que se haga el trabajo

• Continuo

• Persistente

• En todas las dimensiones

Revela dependencias que permanecen desapercibidas:

• Integración Frecuente

• Pruebas de aceptación

• Compilación y entrega continua

• Reduce la deuda técnica

Diseñado para Manejar Dependencias

Proactivo Reificación*

*Reificación:

Hacer que algo se vuelva real o hacer

que algo abstracto se vuelva concreto

Nexus Aumenta Scrum

Construido sobre los principios, valores y fundamentos de Scrum

• Crea rutas de comunicación

• Extiende y profundiza los mecanismos de inspección y adaptación

• Fomenta la transparencia continuada

• Depende en la inteligencia hacia arriba

Evita soluciones fijas y definidas que agregan sobrecostos.

Nexus - Roles, Eventos y Artefactos Roles Eventos Artefactos

Equipos de Desarrollo El Sprint Lista de Producto

El Equipo de Integración Nexus*

Planificación del Sprint Nexus* Lista de Pendientes del Sprint Nexus*

Dueño de Producto Planificación del Sprint Lista de Pendientes del Sprint

Scrum Master Scrum Diario Nexus* Incremento Integrado

Scrum Diario

Revisión del Sprint*

Revisión del Sprint

Retrospectiva del Sprint Nexus*

*Específico de Nexus

El Equipo de Integración Nexus • Un Equipo Scrum • Trabaja con la Lista de

Producto • Los Miembros están

tiempo completo o medio tiempo

• Su composición puede cambiar entre Sprints

• Se enfoca en las dependencias y en la facilitación de la integración

Prácticas de Scrum Profesional a Escala Dependencias Reificación

Equipos de Características Automatización de artefactos ALM

Microservicios Desarrollo conducido por pruebas

Metadatos de la Lista de Producto Integración continua de todo el trabajo

Refinamiento continuo de la Lista de Producto

Compilaciones frecuentes

Mapas de historias Pruebas Frecuentes

Mapeo de dependencias entre equipos de la Lista de Producto

Limited branching

Comunidades de práctica Descaling and Scrumble

La Arquitectura contiene experimentación Porciones de los elementos de la Lista de Producto componen los Pendientes del Sprint para ATDD

Desescalar • Escale con precaución • Adicione prácticas o

herramientas • Reduzca el ritmo

general, disminuyendo el número de equipos (o la velocidad) a un número más sostenible

• Limpie e integre el software actual para que se pueda compilar sobre él en futuros Sprints

Pro

du

ctiv

idad

Equipos

Scrumble • Cuando la deuda técnica, el

conocimiento del dominio y los resultados de las pruebas abrumen el progreso, haga ‘Scrumble’

• Scrumble es un periodo de duración desconocida y de reclutamiento de personal en el que se trabaja para lograr que el progreso se reinicie

• El reclutamiento debería minimizarse y el talento aplicado debería maximizarse

Equipos

Pro

du

ctiv

idad

Nexus interconecta 3-9 Equipos Scrum

que:

– Exhiban los principios y el DNA de Scrum

–Creen un Incremento de producto reificado

– Reduzcan sobrecostos, maximicen

resultados

Para implementar Nexus

• Empieza con Scrum

• Construye Nexus iterativa e incrementalmente

• Completa un incremento Nexus antes de adicionar más equipos

• Una buena implementación de Nexus fluye

• Promueve técnicas que fomenten el intercambio de conocimiento

• Permite que la autoorganización surja dentro del Nexus

Basado en ‘How to start a Nexus in practice?’ de Jerónimo Palacios

“El estado futuro de Scrum no se

llamará ‘Scrum’. Lo que ahora

llamamos Scrum se habrá

convertido en la norma y las

organizaciones se habrán

reinventado ellas mismas

alrededor de eso”.

Fuente: Gunther Verheyen, “Scrum – A Pocket Guide (A Smart Travel Companion)”, 2013

Qué nos ha enseñado la experiencia

• La cura a todos nuestros males no es ‘escalar Scrum/Ágil’, es crear soluciones que funcionen

• Las organizaciones tienen un amplio y complejo rango de necesidades de todo tipo que no pueden solucionarse por un único marco de trabajo para ‘escalamiento Ágil’

• Antes de pensar en escalar, curemos nuestras ‘disfunciones ágiles’

Qué nos ha enseñado la experiencia

• La transparencia debe magnificarse

• La deuda técnica se paga (¡debe pagarse!) en módicas cuotas iterativas

• No caigamos en las discusiones banales sobre cuál es el ‘mejor’ marco de trabajo para escalar Scrum o Ágil

Qué nos ha enseñado la experiencia

• Unas bases saludables de Scrum son el mejor camino al éxito antes de intentar escalar, de otra forma escalaremos nuestras disfunciones actuales

• Scrum por sí solo no es suficiente para el éxito

• Establecer, promocionar y apoyar la excelencia técnica como una base para el crecimiento es fundamental para Escalar Ágil

¡Son necesarias las prácticas técnicas!

Qué nos ha enseñado la experiencia

• Nexus se basa en Scrum cuya teoría se basa en el control empírico de procesos

– ¡Así que experimentemos!

• El Refinamiento es fundamental en Nexus

• No olvidemos el ‘estamos descubriendo formas mejores …’ del Manifiesto Ágil

Sobre mi enfoque Ágil…

#ÁgilEsAlgoQueEres www.gazafatonarioit.com - Lucho Salazar @luchosalazarc

Ágil significa reemplazar

la predictibilidad falsa

por la eficiencia

http://www.gazafatonarioit.com

Ágil significa reemplazar

la predictibilidad falsa

por la eficiencia

http://www.gazafatonarioit.com Lucho Salazar

#CulturaÁgil #ÁgilEsAlgoQueEres

@luchosalazarc

Esta presentación:

Nexus, el exoesqueleto de desarrollo a

escala con Scrum

en Ágiles 2016, Quito

http://bit.ly/nexusagiles2016

#ÁgilEsAlgoQueEres www.gazafatonarioit.com - Lucho Salazar @luchosalazarc

Acerca de Lucho Lucho Salazar: autor, conferencista, coach ágil,

experto en procesos y métodos de software,

incluyendo métodos y prácticas ágiles,

Ingeniería de Requisitos, Arquitectura de

software, Análisis y Diseño de software y

Gerencia de Proyectos. Sus artículos han sido

publicados por medios como Líder de

Proyecto, Asociación Española de Profesionales

en Dirección de Proyectos, Scrum Alliance y la

revista PROIECTUS, editada también en

España.

Lucho es autor de los libros “Asuntos de la

Ingeniería de Software”, Volumen I y Volumen

II. Es traductor al español de la guía oficial de

Scrum y la Guía Definitiva de Nexus; de los

libros de Ivar Jacobson “Casos de Uso 2.0” y “La

Esencia de la Ingeniería del Software: aplicando

el Kernel de Semat”.

Su blog sobre Cultura Ágil se puede leer

en http://www.gazafatonarioit.com. Lucho

también escribe poemas, su libro Ansiedad de

un Náufrago fue publicado en 2010.

@luchosalazarc

lucho.salazar@gmail.com

http://co.linkedin.com/in/luchosalazar

http://www.gazafatonarioit.com

#ÁgilEsAlgoQueEres www.gazafatonarioit.com - Lucho Salazar @luchosalazarc

¿PREGUNTAS?

Sobre el material utilizado

• Esta presentación se basa en el trabajo de Gunther Verheyen (@Ullizee) y otras personas de Scrum.org.

• Además de las referencias explícitas, esta presentación puede contener material o ideas de otras personas u organizaciones que omití sin intención.

• Nota: Trate de dar crédito a todos, pero si consideras que faltaste por que no te referencié o debo modificar algo de tu propiedad, por favor, no dudes en hacérmelo saber, contactándome a: lucho.Salazar@gmail.com

Aviso de Copyright

• Eres libre de: – Compartir- copiar, distribuir y transmitir este trabajo

– Modificar- adaptar el trabajo

• Bajo las siguientes condiciones

– Atribución: debes atribuir el trabajo en la manera especificada por el autor o

licenciante (pero de ninguna manera que sugiera que ellos aprueban su uso del

trabajo).

• Nada de lo dispuesto en esta licencia menoscaba o

restringe los derechos morales del autor.

• Para más información ver http://creativecommons.org/licenses/by/3.0/

Información de contacto

• Luis Antonio “Lucho” Salazar-Caraballo

– lucho.salazar@gmail.com