Scrum
Scrum, un marco de trabajo que revoluciona el mundo del desarrollo de producto
Scrum es un método de trabajo ligero para construir productos complejos en entornos complejos. Scrum está basado en el empirismo. Esto permite tomar decisiones en base a datos que se conocen y en la experiencia

¿Sabes en que entorno te mueves?
Cuando se trabaja en un entorno complejo, lo que desconocemos es más que lo que conocemos, y esto afecta al QUÉ y al CÓMO. Para saber más sobre los entornos y la complejidad, dejo por aquí un modelo que es super interesante: el de Cynefin.
Y ahora viene la pregunta del millón, vale, mi organización se mueve en un entorno complejo, ¿Que hacemos?

No panic
Utiliza modelo de complejidad…
Dado que no es fácil, ni trivial planificar con exactitud y con un nivel de confianza muy alto, solo nos queda aprovechar los pilares del control empírico de procesos para llegar a la solución ideal o que se aproxime lo máximo posible a ella: transparencia, inspección y adaptación

¿Scrum es una metodología o un marco de trabajo?
Es uno de los grandes malentendidos sobre Scrum, si es una metodología o un marco de trabajo. Un marco de trabajo es una estructura, en este caso Scrum define roles, eventos y artefactos, pero en ningún momento te dice cómo sacar el mejor rendimiento de ellos, en otras palabras sobre como facilitarlos. No obstante una metodología, te dice todas las acciones (o checklist) de las cosas que hay que hacer antes de ir al siguiente paso o fase. Y ahora viene la gran pregunta: ¿No será mejor que Scrum sea una metodología? ¿No sería mas fácil? Pues NO, por que la idea de Scrum es promover y forzar a los Scrum Master y tomar sus propias decisiones, dentro del marco de trabajo.

Los pilares de Scrum
Como comentábamos antes, el desarrollo de software es complejo, y desconocemos más que conocemos, por lo tanto hacer un plan y seguirlo a largo plazo viendo lo que está ocurriendo, las evidencias, los resultados, los datos, es un gran error. Para lidiar con la complejidad debemos de adoptar un enfoque empírico, donde los equipos toman decisiones en base a lo conocido, las evidencias, los datos, los aprendizajes, las experiencias, etc. Además de realizar pequeñas entregas o experimentos para reducir los riesgos y aumentar las oportunidades de adaptación.
Todo esto es muy bonito sobre el papel, pero para poder realizar estos ajustes, debemos de poder inspeccionar, y para poder inspeccionar, debemos de ser transparentes. ¡Ojo! AVISO TODOS LOS MANAGERS, Si no hay confianza y coraje no habrá transparencia

Los valores de Scrum
En los entornos complejos cuando las cosas van bien, podemos llegar a pensar que podemos manejar las complejidad sin problemas y que tenemos todo bajo control, no obstante cuando las cosas que se complican es ahí donde necesitamos algo más de Scrum, algo diferente a Roles, eventos
Compromiso y Scrum
Un buen enfoque del compromiso puede llegar a transformar un equipo por completo. Pero claro, no hablamos de un compromiso con los puntos de historia, ni con las estimaciones, ni con el número de tareas, etc. Si no se trata de la promesa que hace uno a sí mismo, a sus compañeros de trabajo, a la propia organización, en hacer el mejor trabajo que puede uno. Imaginemos que tenemos un equipos que todos los integrantes están comprometido a entregar unos incrementos de alta calidad y de alto valor, cada Sprint, ese equipo lograría cosas maravillosas.
Foco en Scrum
El foco nos permite dar lo mejo, velando por el foco hace que los equipos tengan tiempo para pensar en su trabajo y en cómo abordarlo. Además, la creatividad es compleja de abordar si no dejan de interrumpirnos. La idea de permitirle al equipo o developers a poner foco en un solo producto, en un único Sprint y en un único Sprint goal, permitirá al equipo aumentar las probabilidades de éxito. El foco no es solo para los developers sino el Product Owner debe de poner
Apertura
La apertura es el corazón de la transparencia, lo que permite que Scrum funcione a alto rendimiento. Las personas dentro del Scrum Team deben de ser abiertos entre ellos y con otras personas dentro de la propia organización, ya que no sería posible o muy complicado que soliciten feedback honesto y constructuvi, además de adaptar el trabajo teniendo en cuenta este feedback. Es de vital importancia ser abiertos y honestos, sobre todo cuando las cosas no salen como queremos, que existan problemas o que estemos ante retos muy complejos
Respeto
El respeto es un elemento esencial en un equipo Scrum para aumentar la sensación de seguridad. Admitir que nos equivocamos, que estamos atascados y que no estamos en lo cierto puede ser aterrador y gracias al respeto y la apertura hace que estas acciones sean más fáciles. Un buen equipo Scrum se basa en el respeto mutuo.
Coraje
El último valor de Scrum es el coraje, sin este valor no tendremos conexión entre todos o sería muy difícil. El coraje permite que el equipo comprometerse, poner foco en lo importante, ser abierto a nuevas ideas locas que no conocemos y fuera de nuestra zona de confort,
Eventos en Scrum
Estos eventos prescritos, con plazos determinados, se utilizan para crear oportunidades regulares para inspeccionar y adaptar los artefactos Scrum y para minimizar la necesidad de reuniones no definidas en Scrum.
El Sprint es el evento contenedor dentro del cual se producen el resto de los cuatro eventos. El sprint debe ser de un mes o menos de duración y tendrá los siguientes eventos:
Sprint Planning
Ocurre al principio del sprint cuando el equipo Scrum se reúne y crea un plan de trabajo.
Daily Scrum
Ocurre todos los días y es cuando developers inspeccionan dónde se encuentran en relación con el Sprint Goal y adaptan su plan de trabajo para las próximas 24 horas.
Sprint Review
Al final de cada sprint, el Scrum Team y los stakeholders inspeccionan el incremento y adaptan el backlog del producto (ahí deben de suceder muchas cosas a nivel de negocio…).

Sprint Retrospective
El último evento de un sprint, en el que el Scrum Team se reúne y decide cómo mejorar en el siguiente sprint.
Roles en Scrum
En Scrum cuando hablamos de un Scrum Team, nos referimos a un equipo con todas las habilidades para gestionar y desarrollar un producto, este Scrum Team es una unidad compuesta por los siguientes roles: Scrum Master, Developers y Product Owner
Estos equipos deben de ser lo suficientemente pequeños ya que se observa que los equipos pequeños colaboran y comunican mejor y lo suficientemente grandes como para ser autónomos y abordar todos los steps del Value Stream del producto.

¿Qué hace cada rol en Scrum?
Product Owner
El product Owner es el responsable de maximizar el valor del producto a través de la gestión efectiva del producto. Cuando hablamos del rol del PO debemos de tener en cuenta lo siguiente:
- Es una única persona, si se observan varios product owner por producto, seguramente existe una disfunción de Scrum.
- El product Owner es responsable del producto
- El Product Owner maximiza el valor entregado a través de la ordenación del producto.
- El PO es el encargado de crear y mantener la visión del producto, un producto sin visión como un barco sin timón
- El Product Owner utiliza Scrum como catalizador para inspeccionar y adaptar el producto y el rumbo del mismo recogiendo e introduciendo el feedback de los clientes y usuarios. Y sobre todo lo usuarios
Scrum Master
La figura del Scrum Master cobra vida para hacer que los elementos del marco de trabajo Scrum cobren vida en el equipo y en la organización en general. Para ello, el Scrum Masters adopta una serie de gorras/figuras/máscaras/… , dependiendo de la situación en la que se encuentre:
- Formador: enseña y explica el propósito del marco Scrum como un medio para trabajar de una manera empírica. Asegurarse de que todo el mundo entiende cómo los artefactos, eventos, roles y principios promueven el empirismo y la agilidad;
- Facilitador: facilita los pilares del marco Scrum para que se maximicen las oportunidades de transparencia, inspección y adaptación.
- Impediments Remover: elimina los problemas que bloquean al Equipo Scrum para alcanzar su Sprint Goal. Un buen Scrum Master ayuda al Scrum Team a aumentar su capacidad para resolver problemas por sí mismos( esa tubería rota en tu casa seguirá siendo tu problema y no del fontanero 😉 ).
- Agente de Cambio: Identifica esos cambio que pueden tener un gran impacto en el comportamiento de las personas, cambiando elementos en el entorno (comportamiento = f(persona, entorno)), eso lo puede hacer colaborando con otros Scrum Master, Stakeholders, Product Owners, etc.
- Coach & Mentor: entrena al Scrum Team haciendo preguntas abiertas o poderosas. Puede actuar como mentor de otros Scrum Masters y ayuda a los integrantes del Scrum Team a encontrar mentores que tienen la experiencia y la habilidad para ayudarles.
Developers
Los developers son personas con todas las habilidades para crear un incremento de valor y de alta calidad por Sprint (eso no quiere decir una entrega al final del Sprint, esto es un mito). Estás personas son responsables de:
- La calidad de la entrega
- Del Sprint Backlog
- De la inspección y adaptación para alcanzar el Sprint Goal
La cultrua se come a la estrategía para desayunar
Peter Drucker
El Padre del Management
No olvides que la agilidad sin personas no significa nada 😉
Scrum es simple de entender pero es dificil de aplicar y dominar. ¿Hablamos?