Cuando se formula una pregunta sobre Scrum en una situación real, una buena manera de hallar la respuesta es pensando en las bases del Framework. ¿Cómo se ven sus valores y pilares afectados?, ¿Se refuerzan?, ¿Se debilitan?
Llevo tres meses en el Equipo de Jerónimo Palacios & Associates y he tenido la suerte de poder realizar co-training junto a Jerónimo. Gracias a la experiencia he obtenido una muy buena perspectiva de las principales dudas de los alumnos en los cursos de Scrum.org.
Una de las principales cosas que he observado es lo complicado que es, para alguien nuevo en Scrum, interiorizar los valores y principios. La tendencia natural es quedarse solo con los elementos , como y cuando se usan.
Como en la metáfora del «Cargo Cult» muchas organizaciones se dedican a repetir mecánicamente los eventos y a utilizar en ellos artefactos y roles de Scrum sin llegar a entender realmente cual es la verdadera razón de su uso, esperando obtener sus ventajas por simple imitación.
Este es mi primer artículo para el Blog y en él pretendo explicar de una manera breve cual son las bases detrás del Framework de Scrum.
Scrum es para entornos complejos.
Las tres variables principales a considerar en el desarrollo del software son Requerimientos , Tecnología y Personas. Ninguna es fácil de predecir y todas son susceptibles de cambiar al enfrentarnos al desarrollo de un producto. Estamos moviéndonos entonces en un entorno de problemas complejos donde conocemos menos de lo que desconocemos .
El enfoque tradicional en cascada está diseñado para escenarios fácilmente predecibles en los que una adecuada planificación puede mitigar gran parte de los riesgos y conducirnos al éxito. Este no es un mal enfoque «per se» pero en el desarrollo del software nuestros usuarios raramente saben exactamente lo que quieren y sus preferencias y necesidades cambiarán cuando comiencen a usar el producto.
El como aplicar una solución tecnológica es también un escenario de incertidumbre, ya no solo porque esta es cambiante sino porque cuando mejor vamos entendiendo un problema es mientras estamos desarrollando su solución y probándola con los usuarios.
En cuanto a las personas estas no se comportan como máquinas, no podemos anticipar ni predecir su productividad y hacer un simple cálculo. La composición de un equipo puede cambiar durante el desarrollo de un producto. Los equipos tampoco se comportan y rinden igual cuando se acaban de formar que cuando llevan tiempo trabajando juntos.
Cuando nos enfrentamos a un problema complejo donde un enfoque predictivo no sirve debemos de aplicar un enfoque empírico.
Empirismo y Scrum.
Los tres pilares del empirismo son la transparencia, la inspección y la adaptación. Realizando estas tres acciones de manera iterativa podremos desarrollar productos que mejoran y evolucionan de acuerdo a los cambios de su entorno.
Como veíamos en el párrafo anterior cuando más sabemos de un problema más fácilmente podremos adaptarnos y ofrecer mejores soluciones.
Scrum está formado sobre los tres pilares del empirismo ya que está diseñado para enfrentarnos a problemas y entornos complejos.
Elementos de Scrum y Empirismo.
¿Cómo se relacionan los elementos del framework con su base empírica?. Hay once elementos de Scrum y sus categorías son los Roles, Artefactos y Eventos.
Los Artefactos promueven la transparencia y permiten la adaptación. Son contenedores de la información que es adaptada. Los artefactos de Scrum son el Product Backlog , el Sprint Backlog y el Increment.
Los Eventos son las ocasiones formales para realizar inspección y adaptación. Aunque no son la única ocasión para adaptar los artefactos ya que estos están «vivos» y deben ser actualizados cuando sea necesario.
En cada evento realizamos la inspección y adaptación de uno o más artefactos, aunque no solo inspeccionamos y adaptamos estos :
- El Product Backlog y el Sprint backlog en la Sprint Planning.
- El Sprint Backlog en la Daily Scrum .
- El Increment y el Product Backlog en la Sprint Review.
- El propio Sprint (personas, relaciones, herramientas y procesos) y los acuerdos de mejora en la Sprint Retrospective.
Roles , Valores de Scrum y Empirismo
En el párrafo anterior explicamos cómo los Artefactos y los Eventos son los elementos del framework , aunque no las únicas partes de él, que dan soporte directo a los pilares del empirismo . ¿Qué ocurre entonces con la otra categoría de elementos , los Roles?
Hasta ahora no habíamos mencionado otra parte esencial del Scrum, los Valores. Scrum no puede funcionar sin ellos. Los valores representan la fundación de la confianza sin la que ni los pilares empíricos ni el framework puede prosperar.
Los elementos del framework que les dan soporte son los Roles y sus responsabilidades asociadas (refiriéndose a la palabra inglesa accountability). Permiten crear un entorno de organización en la que Scrum puede realmente aplicarse.
En resumen :
Estamos en entornos complejos , Scrum tiene sus bases en los pilares del empirismo y en sus propios valores. Los elementos del Framework están diseñados para dar soporte a dichas bases. Artefactos y Eventos sirven a la transparencia , inspección y adaptación. Sin los valores de Scrum este no funciona y los Roles son los elementos que refuerzan dichos valores en una organización.
[…] eventos y roles, que nos brindan una alta capacidad de inspección, adaptación y transparencia. Los pilares del empirismo. Son las armas que necesitamos para crear incrementos de alto valor y maximizar nuestra capacidad […]