domingo, 21 de mayo de 2017

¿Por qué la mejora continua es tan importante en Agilidad?

El ser humano siempre ha aprendido de forma empírica a base de prueba y error, hecho que ha llevado a la humanidad al patrón dialéctico basado en tesis, antítesis y síntesis para la adquisición de conocimiento y su evolución:
Patrón Dialéctico: tesis, antítesis y síntesis - cortesía de Scrum Manager
La puesta en funcionamiento de nuevas técnicas, procesos o modelos genera sus propias antítesis al revelarse las debilidades, contradicciones y puntos de mejora, y el enfrentamiento de ambos conduce hacia una síntesis, que pasará a ser una nueva tesis, cuyo posterior uso producirá su antítesis, desarrollando a través de este patrón dialéctico una espiral de evolución continua del conocimiento.

No hay métodos, prácticas o modelos de trabajo que nos ayuden con solvencia durante mucho tiempo, sino conocimiento en evolución. El conocimiento profesional evoluciona de forma continua porque la realidad en la que se aplica está en permanente movimiento, y también porque la mejora siempre es posible.

Tampoco hay productos estáticos que no evolucionen, si fuera el caso el producto probablemente estaría obsoleto. El software en forma de producto se materializa en herramientas que mecanizan el core-business de nuestros clientes, por tanto el software debe de evolucionar con la misma adaptabilidad que exige el mercado de nuestro cliente. Bajo esta perspectiva cuanto más evolucione el software más competitivo y más cuota de mercado tendrá nuestro cliente, por tanto más beneficios tendrá.

Recordemos que la agilidad y Scrum no son para mejorar la construcción de funcionalidades, sino para mejorar la adaptabilidad y la entrega de valor a nuestros clientes. No se trata de cumplir con objetivos o de cumplir estimaciones, en una cultura clásica celebramos y consideramos un éxito si cumplimos, en agilidad se trata de ser mejores cada día y llegar mucho mas lejos, mucho más allá de nuestros objetivos iniciales.

Para ello la agilidad se dota de la inspección y adaptación a través del ciclo de mejora continua de Demming, y lo hace en dos frentes, en la forma en que trabajamos y en el producto. En definitiva nos convertimos en una organización con aprendizaje continuo del que todos debemos de participar.
La mejora en adaptabilidad y en entrega de valor, propias de Scrum y agilidad,
implica la mejora continua a todos los niveles, la mejora continua es el core de la agilidad

Para la mejora continua en las formas de trabajar:
Para la mejora continua del producto:
  • Construir de forma incremental con ciclos de aprendizaje rápidos e integrados.
  • Cada incremento puede ser evaluado por constructores y clientes.
  • Los puntos de integración convierten incertidumbre en conocimiento (en algunos puntos de integración podemos obtener prototipos que se pueden probar en el mercado y tomar feedback).
  • Los puntos de integración nos permiten pivotar y mantenemos en la dirección adecuada para la solución, tanto en viabilidad técnica como de solución para negocio.
  • Los puntos de integración deben de estar a todos los niveles, desde los equipos, a los equipos de equipos y al resto de la compañía.
Mis agradecimientos a Juan Palacio y Scrum Manager al que debo el patrón dialéctico de este post

sábado, 20 de mayo de 2017

¿Cuáles son los elementos del marco de Scrum?

Estos días estuve acompañando a la CST Sabine Canditt como co-trainer, y esta hizo un dibujo tan espectacular del marco de Scrum que quiero compartirlo. La técnica de dibujo se llama Bikablo, un método de visualización y la facilitación nuevo para hacer que el contenido y el proceso sean visibles en tiempo real. 
El marco de Scrum - Thanks to Sabine
Roles
Artefactos
Eventos
Thanks to Sabine for her spectacular drawing

viernes, 19 de mayo de 2017

¿Los Scrum Masters son un rol temporal en las organizaciones?

Post-it en :-) de una retrospectiva
Una de las responsabilidades de un Scrum Master es hacerse prescindible para el equipo cuanto antes, eso significa que habrá conseguido llevar al equipo a ser ágil. Un equipo ágil habrá interiorizado la mentalidad ágil, será autoorganizado y con la suficiente madurez para no necesitar de un Scrum Master que le guíe y entrene en Scrum.

A la derecha un post-it de una retrospectiva en la que el equipo colocó "Todo fluye sin SM" en la columna de las cosas que le gustaba. Estaban diciéndome que había hecho un buen trabajo y que todo fluía ya por su propio pie. Fue un gran día, fue el día en que había terminado mi trabajo de desarrollo en agilidad de ese equipo.

Bajo esta perspectiva ¿cual es el futuro del Scrum Master? ¿Una vez los equipos fluyen por si mismo el Scrum Master ya no tiene cabida en la organización?

El Scrum Master como agente del cambio
Thanks Sabine
¡Más bien todo lo contrario! En fases tempranas el Scrum Master empieza con un par de equipos, primero en la preparación del entorno en el sprint 0, y luego en el crecimiento y desarrollo de cada uno de ellos. A medida que estos maduran va escalando de forma paulatina y va incorporando a Scrum a los demás equipos.

A medida que incorpora Scrum a nuevos equipos se plantean nuevos retos cuya solución hay que facilitar. Para que los equipos sean ágiles y efectivos han estar alineados y sincronizados, lo que requiere la facilitación de eventos para grandes grupos. En este tipo de eventos la facilitación siempre será imprescindible, por su tamaño y complejidad no puede fluir sin un coach o un Scrum Master.

La resolución de dependencias y la detección y resolución de riesgos son temas complejos que la agilidad resuelve de forma compleja; la mejor forma de resolución es aquella en que participan todos los equipos a través de un evento para grandes grupos, sacando así provecho a la diversidad de perspectivas y opiniones de decenas o cientos de cabezas inteligentes que juntas pueden encontrar soluciones excelentes.

El rol del Scrum Master se convierte en un agente del cambio a nivel de toda la organización, personas que actúan como catalizadores de la transformación ágil centrándose en la eficacia, la mejora y el desarrollo de la organización:
  • Liderando y entrenando desde los equipos a los directivos en su adopción de Scrum
  • Planificando la adopción e implementaciones de Scrum en la compañía
  • Ayudando a los empleados a comprender y a aplicar Scrum en el desarrollo de productos
  • Apoyando a los Propietarios de Producto y a los equipos de negocio
  • Apoyando en la contratación ágil de proyectos y equipos
  • Trabajando con otros Scrum Masters para aumentar la efectividad de la aplicación de Scrum en la organización 
  • Apoyando en la presupuestación ágil
Distribución de la ocupación del Scrum Master en una
organización - Thanks Sabine :-)
Como muestra el gráfico de la distribución de la ocupación de un Scrum Master, su dedicación a la organización crece con el tiempo. Me gusta compararlo con el aceite de un motor, el Scrum Master o equipo de Scrum Masters y coaches son el aceite que hace que el motor del core-business de la compañía ruede de la forma más eficiente posible. Sin esa labor de coaching no hay mejora continua y las diferentes partes de la compañía pueden acabar divergiendo y ralentizando el flujo.

Por tanto, los que seáis y apostéis por el oficio de Scrum Master, tened por seguro que tendréis un largo recorrido. :-D

Thanks to Sabine Canditt for her teachings and the spectacular drawings

domingo, 14 de mayo de 2017

¿No sería marketing un ámbito ideal para la aplicación de Scrum?

El marketing on-line requiere agilidad - cortesía de Pixabay 
Pensémoslo, ¿quienes tienen relación directa con el mercado? ¿Quienes son los afectados directos de la turbulencia del cambio en este mundo actual?

Marketing es una disciplina extremadamente cercana al cliente/usuario, por tanto debe de estar centrada en este y estructurar su trabajo alrededor del mismo, y a ese enfoque responde la agilidad. Organizaciones que quieran mejorar la velocidad, la previsibilidad, la responsabilidad y la capacidad de adaptación han de integrar agilidad a sus procesos.

Las grandes campañas de marketing ya no funcionan, el marketing ágil consiste en lanzar pequeñas campañas de forma iterativa para inspeccionar y adaptarse a lo que ocurre afuera en el mercado.

Workfront define el marketing ágil como "un enfoque de marketing táctico en el que los equipos identifican y enfocan sus esfuerzos colectivos en proyectos de alto valor, llevan a cabo esos proyectos de forma cooperativa, miden su impacto, para finalmente mejorar sus resultados de forma iterativa y continua".

Aplicar Scrum a marketing permite manejar problemas complejos de forma creativa, productiva y consistente. Hay componentes de Scrum que funcionan bien, como son los eventos y artefactos, y hay que hacer ajustes menores en los roles y en la concepción de equipo.

La pila de producto en marketing puede tener muchos más tipos de cosas diferentes, elementos como la producción de anuncios, correos electrónicos, mensajes de twitter, libros electrónicos, todos ellos de naturaleza singular cada cual con su definición de hecho (DoD), y por ello el rol del Propietario del Producto puede estar representado por más de una persona. Por otro lado los múltiples canales y medios de comunicación de marketing ponen énfasis en la necesidad de una mayor separación en la especialización de los miembros del equipo, en los equipos de TI Scrum propicia una mayor igualdad a nivel de especializaciones y un bus factor más elevado que en equipos de marketing.

Quiero invitar a los interesados en aplicar Scrum a marketing sigan la "Guide to Using Scrum Methodology for Agile Marketing" de Andrea Fryrear.
Proceso de Publicación y Marketing Ágil en ciclos con mejora continua de una a varias semanas
Quiero invitar a leer el artículo de Jeroen Molenaar "Marketing scrum vs IT Scrum - two marketing case studies who now 'act first and apologize later'" que nos cuenta como ha aplicado Scrum con éxito en los departamentos de marketing de dos grandes empresas: ANWB y el banco ING. Ambas compañías están utilizando Scrum para el desarrollo de nuevas campañas, sus expresiones comerciales al completo así como en el nivel de desarrollo de productos.

El marketing ágil tiene su propio Manfiesto Ágil, con sus propios valores y principios que he traducido a continuación.

Valores del Manifiesto Ágil de Marketing:

Estamos descubriendo mejores maneras de crear valor para nuestros clientes y para nuestras organizaciones a través de nuevos enfoques para marketing. A través de este trabajo, hemos llegado a valorar:
  • Aprendizaje validado sobre opiniones y convenciones
  • Colaboración centrada en el cliente silos y jerarquía
  • Campañas adaptativas e iterativos sobre campañas big bang
  • El proceso de descubrimiento de clientes sobre la predicción estática
  • Planificación flexible vs. rígida
  • La respuesta al cambio sobre el seguimiento de un plan
  • Muchos pequeños experimentos sobre unas pocas grandes apuestas

Principios del Manifiesto Ágil de Marketing:
  • Nuestra máxima prioridad es satisfacer al cliente a través de la entrega temprana y continua de marketing que resuelve problemas
  • Damos la bienvenida y planificamos para el cambio. Creemos que nuestra capacidad para responder rápidamente a los cambios es una fuente de ventaja competitiva
  • Ofrecer programas de marketing con frecuencia, desde un par de semanas a un par de meses, con una preferencia a los periodos más cortos
  • Gran marketing requiere una estrecha alineación con los negocio, ventas y desarrollo
  • Construir programas de marketing en torno a individuos motivados, dándoles la entorno y el respaldo que necesitan y procurándoles confianza para que realicen la tarea
  • Aprendizaje, a través del bucle de feedback construye-mide-aprende, es la principal medida del progreso
  • Marketing sostenible requiere que se mantenga un ritmo y flujo constantes
  • No tenga miedo al fracaso; simplemente falle de la misma manera dos veces
  • La atención continua a los fundamentos de marketing y un buen diseño enaltecen la agilidad
  • La simplicidad es esencial

domingo, 7 de mayo de 2017

¿Cómo pueden los equipos ganar conocimiento y despejar incertidumbre?

Equipo preparando spikes para adquirir conocimiento
Estuve conversando con un gestor de proyecto y me contaba que la madurez de los equipos que proporcionaban sus proveedores habituales había cambiado drásticamente. Históricamente, hace más de 5 años, en todo equipo había uno o dos seniors que lideraban las decisiones técnicas, lo que redundaba en un buen software. Hace 5 años los seniors empezaron a desaparecer paulatinamente de los equipos, pero si las cosas iban mal, como cliente presionaba al proveedor y aparecía un senior que salvaba el proyecto. Desde hace 3 años ya no hay seniors que salven proyectos... eso les llevó a comprender que la continuidad de los equipos, aunque sean externos, es crucial, que el conocimiento es un gran valor, así que hoy en día están construyendo software con equipos de Scrum pensados a largo plazo.

Recientemente estuve hablando con una programadora de un equipo que se había constituido a base de juniors, para ellos todo era nuevo, miraran a donde miraran era desconocido, la experiencia de sus compañeros recién salidos de universidad era mínima, y me preguntaba qué podía hacer. Le contesté que había que adquirir conocimiento y despejar incertidumbre, era hora de crear spikes exploratorios y traer visibilidad al trabajo para construir funcionalidades de forma eficiente.

Un spike viene a ser una actividad de desarrollo en forma de historia técnica que se incluye en la pila de producto con el objetivo de dar respuesta a una cuestión o de reunir información para una toma de decisión posterior o el diseño de una solución.

Hay dos tipos de spikes:
  • Spike técnico: si no estamos seguros de cómo desarrollar algo desde un punto de vista técnico creamos este tipo de spike, una breve actividad que se centra en encontrar un enfoque de desarrollo, en determinar la factibilidad y el impacto de las estrategias de diseño.
  • Spike funcional: sirven a los equipos para descubrir los detalles de las funcionalidades y los diseños a través de la creación de prototipos y llegar a entender exactamente lo necesita el cliente. 
A parte de ganar conocimiento y despejar dudas, los spikes permiten a los equipos dar estimaciones sólidas a historias de usuario posteriores. Al tratarse de exploraciones rápidas, los spikes deben de estar limitados en el tiempo (time boxed), usualmente de unas horas o unos días.

Como los demás elementos de la pila de producto los spikes se demuestran en la revisión de sprint donde el Propietario del Producto las ha de aceptar.

Son elementos de la pila adaptados:
  • Pequeñas
  • Demostrables
  • Dan respuestas basadas en evidencia:
    • Prototipos funcionando
    • Elementos existentes similares
  • Limitadas en el tiempo
  • El fracaso es uno de sus resultados, su objetivo es que aprendamos o tengamos criterio para la toma de decisiones
Quiero agradecerle a Cristina la conversación que tuvimos y que dio pie a este post :-)

martes, 2 de mayo de 2017

¿Cómo estimar en escalado una gran pila de producto?

João Barreiro presentando el workshop
Recientemente Juanma Gómez, João Barreiro y Unai Roldán organizaron en Madiagil un workshop sobre estimación en escalado #estimationatscale. El objetivo de este workshop fue experimentar practicando una manera rápida de hacer la estimación inicial de una pila de producto de un producto grande y de forma escalada.

Pasos a seguir para estimationatscale
Cuando pretendemos abordar un nuevo proyecto los requisitos iniciales nos llevan a grandes funcionalidades o módulos que en la pila de producto inicial se materializan como épicas. Ese será el punto de partida. La estrategia de estimationatscale es desglosar una épica en features, una de ellas en historias de usuario, estimar las historias en relativo, agregar estimaciones para obtener la estimación de la feature, estimar features en relativo respecto a esa feature de referencia, agregar estimaciones para obtener la estimación de la épica y finalmente estimar épicas en relativo.

La estimación en escalado debe de partir de una pila de épicas creada por un User Story Mapping hecho por el equipo de negocio. En el taller de estimación en escalado debe de estar presente el equipo de negocio y el equipo de desarrollo: de forma colaborativa desglosarán las épicas y features, y solo el equipo de desarrollo, quienes vayan a construir esas funcionalidades, estimarán el esfuerzo de los elementos en base a complejidad y tamaño.

Pasos a seguir para la estimación en escala:

1. Elegir la épica más importante

Partimos de una fila de épicas colocadas en un tablero o pared, en nuestro workshop estas están representadas por post-its de color azul. El Propietario del Producto elije la épica más importante, la que más valor de negocio tenga.

2. Desglosar épica

De forma colaborativa negocio y equipo de desarrollo desglosan la épica en features, grandes funcionalidades representadas por post-its de color verde en nuestro caso.
Épica más importante (post-it azul) desglosada en features (post-its verdes)
3. Elegir la feature más importante

Feature (post-it verde) desglosada en
historias de usuario (post-its amarillos)
De nuevo el Propietario del Producto elije en este caso la feature más importante, la que más valor de negocio tenga.

4. Desglosar feature

De forma colaborativa negocio y equipo de desarrollo desglosan la feature en historias de usuario, elementos de la pila lo suficientemente pequeñas para poder ser estimadas con las cartas de planning poker usuales, las que se basan en la serie de Fibonacci. Las historias de usuario están representadas por post-its de color amarillo en el workshop.

5. Calibrar escala

Para calibrar la escala el equipo elige una de las historias de usuario que represente la velocidad aproximada del equipo, el tamaño de esfuerzo realizable en un sprint, y le asigna el 21.
Historia de usuario que representa la velocidad estimada del
equipo calibrada con el número 21 de la serie de Fibonacci
6. Estimar historias de usuario

En base a la historia de de referencia 21 el equipo estima en relativo el resto de historias. Para el workshop UST Global nos ha proporcionado todos los participantes de barajas con la ¡serie de Fibonacci hasta el 987! Esta baraja nos posibilita la estimación relativa a los tres niveles de escalado de la pila de producto.
Cartas de planning poker para estimar en escalado proporcionadas por UST Global
En otro tablero o pared se crean post-its con la serie de Fibonacci, los mismos valores que las cartas de la baraja. En nuestro workshop estos se representaron sobre post-its rosas o naranjas (dependiendo del grupo). Una vez estimada una historia esta se coloca en el tablero o pared debajo del valor resultante.

7. Estimar features

Una vez estimadas todas las historias, se suman todas las estimaciones y la feature más importante se le asigna ese valor conviertiéndola en la feature de referencia para la estimación de features. A medida que se estiman features estas se colocan en el tablero o pared bajo el valor correspondiente.

Features estimadas (post-its de color verde) con valores de la serie
de Fibonacci a partir de la estimación de la feature de referencia
8. Estimar épicas

Del mismo modo que la estimación de features, se agregan las estimaciones de las features para el valor de la épica más importante y se sigue el mismo proceso de estimación.
Épicas estimadas (post-its de color azul) con valores de la serie
de Fibonacci a partir de la estimación de la épica de referencia
Una vez obtenida la estimación de las épicas, y en base a la métrica objetiva de velocidad del equipo o las diferentes velocidades de los diferentes equipos, podemos proyectar hitos de fechas de entrega, proyecciones que, aunque no precisas, nos llevan a un plan factible y más realista.

Recordemos que las estimaciones son aproximaciones que nos dan un valor útil para tomar decisiones acertadas, no son valoraciones estrictas y precisas para elaborar un plan milimetrado.

Agradecimientos a todos los participantes del workshop, ha sido un placer practicar #estimationatscale con todos vosotros, muchas gracias. :-D
Y este es el resultado final con las estimaciones a escala del workshop del equipo del que formé parte :-)

sábado, 22 de abril de 2017

¿Cómo afecta la agilidad a la percepción del mundo?

Resaltar los círculos bien trazados dará visión de lo que
queremos y hará que los demás mejoren con el tiempo
Oí una afirmación que me hizo pensar: "El ser humano parece que nunca esté contento". Javier, un alumno de uno de mis cursos de Scrum, cuando hablé de que hemos de reaprender a recibir feedback, me invitó a leer sobre el método del bolígrafo verde que quiere promover el refuerzo positivo en los niños. Allí descubrí la razón de la afirmación: según la autora del método "las insatisfacciones que sufrimos en la vida están provocadas por la costumbre de resaltar los errores y no los aciertos".

Para ser coach ágil hay que tener la mentalidad de coaching adecuada, recordemos que hemos de estar convencidos y creer que el coachee, quién recibe el coaching, sabe más sobre su realidad y por tanto sus opciones, riesgos y la solución a sus problemas que nadie. Y que el coach ha de considerar que lo que haya hecho el coachee lo ha hecho con la mejor intención y con el mejor uso de sus conocimientos en esas circunstancias". En definitiva hemos de creer en las personas.

Esta mentalidad ha ido calando muy fuertemente en mi, es muy potente y agradecido ver como hago emerger el talento y la motivación en las personas, y eso sin duda ha cambiado mi perspectiva del mundo. En una ocasión un director de TI me dijo que ¡¡¡me veía demasiado feliz!!! Me quedé sin palabras unos segundos, no hubiera esperado nunca una frase así. Simplemente le dije que si no me veían feliz nadie creería en el cambio de forma de trabajo que yo traía como Scrum Master. En otra ocasión, cuando hablaba de dar confianza y valor a las personas, otro mando intermedio me dijo que no podemos basarnos en el buenismo... me sonreí para mis adentros y pensé, "¿Qué? ¿Nos basamos en el malismo para alcanzar proyectos exitosos y una empresa mejor? ¿Matamos toda creatividad para seguir siendo una empresa que sigue la estela de otras?".

Lo más interesante del método del bolígrafo verde es que al reforzar los aciertos, y no prestar atención a los errores, estos últimos acaban desapareciendo de forma natural. Si ponemos el foco en las cosas bien hechas, como por ejemplo las entregas en las revisiones de sprint, creamos una cultura de confianza en la que no haya miedo al fracaso, tomamos nuestros errores como oportunidad de aprendizaje y nos basamos en ciclos cortos como son los sprints, haremos evolucionar y mejoraremos nuestra compañía, vida profesional e incluso nuestra vida personal de forma continua.

Recordemos que el fracaso no es otra cosa que el esfuerzo mal dirigido, una oportunidad para levantarse, aprender y crecer. Quién no fracasa y siempre hace las cosas "bien" probablemente no haya corrido riesgos y por tanto haya quedado estancado en su mediocridad. La humanidad ha aprendido y evolucionado a base de prueba-error, y cuanto más cortos los ciclos, más rápido el aprendizaje y menor el dolor.

Definitivamente la mentalidad ágil se ha instalado en mi ADN y me siento apóstol del buenismo, definitivamente creo en las personas y sus interacciones... y eso impregna fuertemente mi perspectiva del mundo.

Soy humano y el miedo al cambio forma parte de mi naturaleza, pero sé que todo cambio tiene muchas probabilidades de ser a mejor y que a base de cambios todo evoluciona. Quizá no sepamos de antemano a donde vamos, pero si a lo largo del camino nos adaptamos y cambiamos a lo que nos hace más felices, viviremos una vida mas llena y feliz. No olvidemos que la vida no es otra cosa que un camino... para ir en la dirección correcta creemos nuestra pila de producto personal y disfrutemos de cada historia que vayamos viviendo :-D
Una "pila de producto" llena de buenos deseos y sentimiento en una heladería en Barcelona :-)