Competencias Básicas de un Scrum Master
Introducción
Un Scrum Master no es solamente una persona que toma un curso de dos días y con esto siente que ya concluyó su aprendizaje de Scrum. Por el contrario es alguien que aborda Scrum con humildad intelectual y curiosidad infinita.
La humildad intelectual consiste en primero aceptar que no se conoce todo, que hay mucho mas que aprender y que incluso lo que se conoce puede estar equivocado, desactualizado o simplemente puede no ser aplicable al contexto actual.
La curiosidad infinita hace que un Scrum Master esté siempre en constante aprendizaje, que busque nuevas ideas, técnicas y conocimiento de diferentes disciplinas para ampliar su repertorio.
En el extremo opuesto a la humildad intelectual esta la noción de que ya no hay nada que nadie puede enseñarle a un “experimentado” Scrum Master. Un indicador clarísimo de que la curiosidad infinita dejó de existir para un Scrum Master es hecharle un vistazo a su biblioteca personal y ver que esta leyendo.
Las competencias básicas de un Scrum Master cambiaran con el tiempo y se irán enriqueciendo con diferentes experiencia, además de ser altamente contextuales. Pero lo que no debería cambiar es la actitud de abordar Scrum con humildad intelectual y curiosidad infinita.
Facilitación
El Scrum Master puede facilitar el trabajo del equipo a través de varias formas que incluyen:
Ayudarlos a comunicarse más efectivamente descubriendo/re-descubriendo la herramienta más efectiva de comunicación: el habla
Ayudarlos a que reconozcan cuando es mejor permanecer en silencio escuchando y aprendiendo de lo que otros tienen que decir
Ayudarlos a darse cuenta que la adopción de Scrum requerirá de un profundo cambio en el sistema organizacional
El tercer punto es especialmente importante pues el sistema organizacional es él que propicia el comportamiento de los individuos y si éste no es cambiado no habrá una adopción duradera de Scrum.
Ejemplificando lo anteriormente dicho, si el sistema organizacional está diseñado para premiar y motivar la participación individual mas no el trabajo en equipo entonces Scrum tiene pocas chances. Similarmente si el sistema esta diseñado para basarse en controles, supervisión y jerarquías entonces tampoco Scrum podrá florecer.
Técnicas de modelamiento sistémico y en general pensar sistémicamente ayudaran a que el equipo y sobre todo la alta gerencia de la organización se den cuenta de la necesidad del cambio y los impactos que este tendrá [Senge90].
En el tema de la facilitación de decisiones de grupo existen varias técnicas que un Scrum Master puede considerar utilizar [Schwarz16], algunas de las más comunes son estas:
Voto con los cinco dedos de la mano
Voto de aprobación/reprobación con el pulgar arriba/abajo
Voto con puntos en un papelógrafo
Pararse en algún lugar de un salon
Protocolo para la toma de decisiones
Independientemente de las técnicas que un Scrum Master decida utilizar es importante recordar que en su papel de facilitador no le corresponde imponer o forzar una decisión en el equipo [Schein13].
Coaching
Muchas veces la facilitación es confundida con el Coaching siendo ésta una disciplina mucho más amplia y estudiada [Adkins10] que incluye facetas como:
Facilitación que implica el ayudar a que grupos de personas se puedan comunicar más efectivamente para llegar a acuerdos que satisfagan a la mayoría
Enseñanza de una habilidad o capacidad con la expectativa de que los demás puedan aprenderla y también utilizarla
Tutoría que consiste en informal o formalmente guiar el paso de conocimiento y experiencia hacia un aprendiz
El Coaching abarca también algo más amplio y poderoso que las facetas anteriores pues implica la habilidad del Coach de guiar a las personas en su propio descubrimiento.
El Coaching implica que las personas que lo reciben sean capaces de formularse a sí mismo preguntas poderosas que los hagan pensar y descubrir sus propias respuestas.
Cabe hacer notar que el valor del Coaching no esta necesariamente en encontrar respuestas sino en la exploración misma, en el proceso mental que implica el cuestionamiento interno que a la vez es el disparador del verdadero aprendizaje.
Si hablamos de equipos que tratan de ser auto-organizados a menudo ellos encuentran desafíos como:
estar tan acostumbrados a la mentalidad de recibir ordenes y ser controlados que simplemente no pueden cambiar su mentalidad
están acostumbrados a operar en un sistema organizacional cargado de títulos jerárquicos, planes de carrera, ascensos, etc. que en esencia provoca la competencia interna y la envidia
tener miembros del equipo que eran managers y estaban acostumbrados a dar ordenes y preparar reportes pero que carecen de conocimiento actualizado que les permita hacer trabajo técnico
Uno de las contribuciones más significativas que podría hacer un Scrum Master desde la disciplina del Coaching es precisamente ayudar a que un equipo descubra como auto-organizarse para vencer los desafíos anteriores [Hackman02].
Debido a que no hay una formula garantizada o algo así como “mejores prácticas” la labor del Coach es siempre dependiente del factor humano, y de la creatividad, colaboración y entendimiento de quienes reciben sus servicios.
Parte de hacer Coaching con un equipo tiene que ver con hacerle notar a la gente que el estado actual de conocimiento, creencia y valores deberá cambiar y esto implicará dejar ir algo.
El que dejar ir muchas veces implica renunciar a la zona de confort o la ilusión del conocimiento o control; precisamente es porque éste dejar ir es tan difícil que el Coach no puede ni debe obligar al equipo a adoptar Scrum.
Un punto central en el Coaching es la diferencia entre ideas propias y prestadas [Kimsey11]. Las primeras son las que la gente misma descubre, abraza, cree en ellas y las defiende; las segundas en el mejor de los casos pueden ser inspiradoras pero al no ser propias no se quedan y no provocan el cambio verdadero.
Como Coach el objetivo siempre debe ser posibilitar que el equipo mismo genere sus propias ideas para cambiar el status quo y verdaderamente adoptar Scrum [Hackman02].
Sirviendo al Equipo de Desarrollo
El Scrum Master sirve al Equipo de Desarrollo a través de diferentes maneras. Sin embargo una constante es la aplicación del Liderazgo Servicial.
El Liderazgo Servicial es un estilo de liderazgo que básicamente invierte la pirámide jerárquica tradicional en la cual los empleados sirven a los jefes, en su lugar los líderes serviciales buscan ayudar a los empleados −que ahora son colegas al mismo nivel− para que desarrollen todo su potencial y enriquezcan sus vidas.
El Scrum Master actúa como Líder Servicial en situaciones como las siguientes:
Escucha a los demás cuando necesitan ser escuchados
Ayuda a los demás para que ellos mismos remuevan sus impedimentos
Con humildad intelectual reconoce que no lo sabe todo pero que está dispuesto a aprender
Hace preguntas ingenuas que nadie más se anima a preguntar
Se ofrece de voluntario para tareas que nadie más gusta de realizar
Cada enfatizar a manera de advertencia que ser un Líder Servicial no quiere decir hacer cosas cómo actualizar el tablero para el equipo o ser la única persona que habla en los eventos. De hecho lo anterior puede considerarse como anti-patrones del accionar de un Scrum Master.
El Scrum Master como Líder Servicial puede cultivar la actitud de voluntariado del equipo, un escenario típico es ofrecerse como voluntario para tareas que nadie quiere tomar durante el Sprint Planning Two.
Desde luego el ofrecerse como voluntario no quiere decir que el Scrum Master sea la persona con el mayor conocimiento sino solamente que es la persona con la actitud de servir a los demás.
Esta actitud de voluntariado de parte de Scrum Master si se repite constantemente eventualmente acaba contagiando a otros miembros del equipo que poco a poco van descubriendo que es gratificante tomar tareas que no conocen.
Otro escenario clásico es cuando el Product Owner o algún cliente o Stakeholder quiere presionar al equipo con el afán de incrementar la velocidad de desarrollo pidiendo incluso que el equipo trabaje horas extra.
En su rol de Líder Servicial el Scrum Master puede invitar a quien quiera presionar al equipo a realizar un ejercicio de modelaje sistémico en un papelógrafo.
En este ejercicio se listará la variable “velocidad” y las demás variables como calidad, motivación, colaboración y otras que se verán impactadas cuándo el equipo trate de acelerar el desarrollo.
Normalmente con este tipo de modelaje es claro que la velocidad no viene sin consecuencias y esto hace abandonar la idea de exigir que el equipo se mueva más rápido.
Implementaciones que se hacen a la rápida generan Deuda Técnica que es una analogía inventada por Ward Cunningham. Al igual que un préstamo bancario existen intereses que si no se pagan acaban incrementando la deuda y eventualmente llevan al colapso del acreedor.
Algo muy similar ocurre con el código que al escribirse rápida y desprolijamente va acumulando Deuda Técnica que eventualmente hace el código inmantenible o simplemente demasiado costoso de cambiar y mantener estable.
No tener tiempo para refactorizar o construir el código sin pruebas es el primer paso a la introducción de la Deuda Técnica. Los postulados de Código Limpio, con las prácticas que recomienda basadas en su vez en Extreme Programming, son la mejor forma conocida hasta ahora de poder evitar la acumulación de Deuda Técnica [Martin08].
Una parte crucial del servicio que el Scrum Master presta al Equipo de Desarrollo es precisamente ayudar a que descubra cómo crear código limpio [Martin11]. Para ayudar en este descubrimiento el Scrum Master tiene a su disposición las disciplinas del Coaching, la tutoría, la facilitación y la enseñanza.
Organizaciones que están cómodas tolerando que sus desolladores generen cualquier tipo de código con tal que funcione presentan un tipo de deuda al cual llamó Deuda Organizacional.
He observado que las prácticas de Extreme Programming propuestas hace veinte años [Beck99] usadas con disciplina y constancia conducen a la creación de código limpio y un consiguiente Incremento del Producto de mayor calidad.
Si bien todas la prácticas de Extreme Programming tienen sentido existen algunas de ellas que desde mi experiencia son imprescindibles, estas son:
Test Driven Development
Integración continua
Refactorización
Cliente sentado con el equipo
Liberaciones frecuentes
La habilidad de tener un Incremento del producto potencialmente liberable al final de cada Sprint puede ser influenciada por las prácticas ingenieriles del un Equipo de Desarrollo de las siguiente maneras:
Teniendo un conjunto de pruebas automatizadas que puedan correrse exitosamente incontables veces al día garantiza que el Incremento esta probado e integrado
Incorporando a través de la refactorización constante el conocimiento más actualizado que tienen los desarrolladores acerca del domino del problema, la tecnología y el vocabulario del cliente
Teniendo liberaciones a producción cada vez más cortos y frecuentes que clientes sentados con el equipo puedan evaluar rápidamente
Sirviendo al Product Owner
Un Product Owner puede utilizar varias técnicas para colaborar y comunicarse con el Equipo de Desarrollo y con el cliente, técnicas tales como:
Ayudar al equipo a ver el panorama completo del producto que están construyendo a través de la creación de un Product Roadmap [Pichler16]
Descubrir con los clientes y otros interesados que características tendrá el producto a través de User Story Mapping [Patton14]
Trabajar con los clientes y otros interesados en el planeamiento estratégico del producto empleando Impact Mapping [Adzic12]
A su vez el Scrum Master puede apoyar al Product Owner haciendo cosas como estas:
Asesorando a la gerencia para realizar los cambios necesarios como por ejemplo concederle total autoridad sobre el producto al Product Owner
Animando al Equipo de Desarrollo a colaborar con el Product Owner para juntos refinar constante y consistentemente el Product Backlog
Ayudándole a seleccionar las herramientas más simples, baratas y eficientes para su trabajo
Aconsejando a los clientes colaborar directamente en los desarrolladores en el día a día
Educando a los clientes y el Equipo de Desarrollo acerca de que las determinaciones que tome el Product Owner respecto al orden del Product Backlog deben ser respetadas
Sirviendo a la Organización
El Scrum Master puede apoyar al equipo a responder ante los impedimentos de varias maneras, entre ellas:
Constantemente preguntando si existen impedimentos, por ejemplo en el Daily Scrum
Manteniendo los impedimentos visibles, por ejemplo en un papelógrafo en el área de trabajo del equipo
Ayudando a que el equipo hable acerca de los impedimentos y piensen en posibles mitigaciones
Sin embargo hay impedimentos organizacionales mucho más grandes que pueden afectar el accionar de cualquier equipo, impedimentos como por ejemplo:
Demasiada burocracia
Una mentalidad de comandar y controlar que demanda demasiados reportes del equipo
Fechas impuestas por un agente externo al equipo
Presión para llegar a una fecha establecida sacrificando la calidad del producto y afectando las vidas personales de los desarrolladores
Tendencia a que el trabajo se especialice y se vayan creando silos de conocimiento
Para erradicar los impedimentos anteriormente nombrados Scrum eventualmente requerirá de un rediseñó organizacional que implicará cambios radicales como estos:
No más Project Managers ni Oficina de Gestión de Proyectos
No más departamento de Quality Assurance con pruebas manuales
No más banca de recursos sin proyecto
No más pensamiento inmediatista enfocado en proyectos
No más outsourcing
No más distribución de los miembros del equipo en lugares geográficamente separados
Cabe enfatizar que en Scrum no tenemos una figura central de poder que reportar el progreso del equipo a la gerencia.
Algunas prácticas de Project Management como disciplina puede que sean necesarias pero el equipo mismo será quien las realice sin tener una única figura de Project Manager.
En general buscamos distanciarnos completamente del enfoque Taylorista bajo el cual se tiene una figura central de poder que le dice a los demás que hacer.
Existen algunos comportamientos de los clientes que pueden contribuir grandemente al éxito del Equipo Scrum, comportamientos tales como:
Estar disponible, involucrado y colaborar de cerca con el equipo
Entender que la calidad no viene gratis
No exigir que toda característica imaginable sea incluida en el producto
Reconocer y adoptar la adaptabilidad en el ciclo de desarrollo del producto
Opuestamente hay otros comportamientos de los clientes que no contribuyen al éxito del equipo, comportamientos como por ejemplo:
Pedir un requerimiento, olvidarse de él y esperar a que sea entregado para recién opinar
Crear capas y capas de intermediaros que los separen cada vez más de los desarrolladores
Insistir en que se cumpla en su totalidad un alcance inicialmente definido
Pedir exactitud y precision en las estimaciones
Exigir velocidad en el desarrollo
Finalmente, si la organización adopta Scrum sólo parcialmente acabará perdiendo beneficios tales como:
El rediseñar la organización completamente para incorporar prácticas de management modernas
La oportunidad de pagar Deuda Técnica, Organizacional y de Conocimiento
El desarrollo del verdadero potencial de las personas
La pérdida de ventajas competitivas frente a organizaciones más pequeñas pero más ágiles
Conclusiones
Muy comúnmente he visto la confusión de pensar que el rol del ScrumMaster es simplemente terminología nueva para reciclar la clásica idea de una figura de poder y autoridad, lejos de eso el ScrumMaster es alguien que sirve a los demás y no se sirve de ellos para crecer el mismo.
Para que ese rol de Lider Servicial sea realmente efectivo para el equipo y la organización se requieren cambios profundos que parten desde el rediseño del sistema organizacional hasta tener a bordo a la gente correcta.
Desde luego los cambios anteriores no podrán materializarse sin el total respaldo de la alta gerencia que debe estar convencida de que el cambio es necesario (a veces inevitable) y ve en Scrum el vehículo adecuado.
Finalmente, cambios profundos requieren tiempo y perseverancia y en este sentido el Scrum Master debe ser paciente con el equipo, con la organización y desde luego consigo mismo.
Bibliografia
Senge90 Senge P., 1990. The Fifth Discipline: The Art & Practice of The Learning Organization, Doubleday
Schwarz16 Schwarz R., 2016. The Skilled Facilitator: A Comprehensive Resource for Consultants, Facilitators, Coaches, and Trainers, Jossey-Bass; 3rd edition
Schein13 Schein E., 2013. Humble Inquiry: The Gentle Art of Asking Instead of Telling, Berrett-Koehler Publishers; 1 edition
Adkins10 Adkins L., Coaching Agile Teams: A Companion for ScrumMasters, Agile Coaches, and Project Managers in Transition, Addison-Wesley Professional
Hackman02 Hackman R., 2002. Leading Teams – Setting the Stage for Great Performances, Harvard Business Review Press
Kimsey11 Kinsey-House H., Kinsey-House K., Sandahl P., Whitworth L., 2011. Co-Active Coaching: Changing Business, Transforming Lives, Nicholas Brealey; 3rd edition
Hackman02 Hackman R., 2002. Leading Teams – Setting the Stage for Great Performances, Harvard Business Review Press
Martin08 Martin C. R., 2008. Clean Code: A Handbook of Agile Software Craftsmanship, Prentice Hall
Martin11 Martin C. R., 2011. The Clean Coder: A Code of Conduct for Professional Programmers, Prentice Hall
Beck99 Beck K., 1999. Extreme Programming Explained: Embrace Change, Addison-Wesley
Fowler18 Fowler M., 2018. Refactoring: Improving the Design of Existing Code, 2nd Edition, Addison-Wesley Professional
Pichler16 Pichler R., 2016. Strategize: Product Strategy and Product Roadmap Practices for the Digital Age, Pichler Consulting
Patton14 Patton J., 2014. User Story Mapping: Discover the Whole Story, Build the Right Product, O’Reilly Media
Adzic12 Adzic G., 2012. Impact Mapping: Making a Big Impact with Software Products and Projects, Provoking Thoughts
Artículo Original: https://percella.com/2019/02/11/competencias-basicas-de-un-scrummaster/