Buscar en Gazafatonario IT

Mostrando las entradas con la etiqueta Scrum Master. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Scrum Master. Mostrar todas las entradas

lunes, octubre 21, 2013

¿Por qué fallan las implementaciones de Scrum?

Respuesta: porque desconocemos los valores y principios del Manifiesto Ágil punto
El Manifiesto por el Desarrollo Ágil de Software

La razón que expuse es apenas una de las muchas por las cuales podemos fracasar al intentar Scrum. Para hacerle frente, entonces es necesario conocer de qué se trata exactamente el Manifiesto Ágil. Este lo encontramos en http://www.agilemanifesto.org/iso/es/. Sin embargo, lo copiaremos aquí para explicar mejor el asunto que nos ocupa:

Estamos descubriendo formas mejores de desarrollar
software tanto por nuestra propia experiencia como
ayudando a terceros. A través de este trabajo hemos
aprendido a valorar:

Individuos e interacciones sobre procesos y herramientas
Software funcionando sobre documentación extensiva
Colaboración con el cliente sobre negociación contractual
Respuesta ante el cambio sobre seguir un plan

Esto es, aunque valoramos los elementos de la derecha,
valoramos más los de la izquierda.
Estos son los valores. Le siguen una docena de principios que pueden encontrar en la página que mencioné antes. Este texto parece inofensivo pero encierra una enorme carga emocional; sin embargo, lo más importante es que nos enseña justamente cómo debemos enfrentar los proyectos de construcción de software actuales. Y como leerlo es más fácil que entenderlo, en la sección de Referencia enumero algunos de los artículos de mi Gazafatonario IT que intentan explicar de una u otra forma la razón de ser de este manifiesto.
Algunas recomendaciones para tener éxito al implementar Scrum
  • No piense en herramientas antes que en el proceso y no piense en el proceso antes que en las personas y sus interacciones. ¿Cómo va a lograr que las persones interactúen entre sí? “La gente tiene que trabajar cara a cara” dice el mismísimo Jeff Sutherland, y para todos Scrum debe ser una forma de hacer, una forma de ser, una forma de vida. Esto es, valorar el valor “Personas e interacciones sobre procesos y herramientas” del Manifiesto Ágil.
  • Necesitamos herramientas, sí, pero no permitamos que estas nos dicten el proceso e indiquen el camino a seguir, lo último que queremos son productos de software costosos antes de lograr que Scrum funcione o antes de lograr los primeros resultados exitosos con el método. Además, necesitamos un proceso para gestionar toda una operación, desde la concepción de los productos hasta la puesta en funcionamiento de los mismos a cabal satisfacción de los usuarios/clientes; y el núcleo de ese proceso debe ser precisamente Scrum, tal y como dice la Guía, no es necesario “inventar” nada más.
  • Tampoco es necesario eliminar o agregar nada más a Scrum como marco de gestión. Por ejemplo, decir que hacemos Scrum pero no tenemos Dueño de Producto o usar el patrón proxy del Dueño de Producto, es algo común en las implementaciones deslucidas de Scrum. Uno de los principios del Manifiesto Ágil lo dice claramente: “Los responsables de negocio y los desarrolladores trabajamos juntos de forma cotidiana durante todo el proyecto.” Esto apunta a resolver la mayor causa de fracaso en los proyectos tradicionales: “falta de involucramiento del usuario” [7]. 
  • No piense que Scrum le va a solucionar todos sus problemas, incluidos los personales. Scrum no es una bala de plata [4], de hecho, Scrum por sí solo no es suficiente, debe acompañarse de un conjunto de prácticas y otros métodos preferiblemente ágiles. Eso sí, no intente implementarlos todos de una sola vez y mucho menos intente hacerlo solo, hágase acompañar de expertos, de personas que hayan recorrido el camino y que quizás hayan cometido uno o dos errores críticos; con seguridad, serán ellos quienes lo sacarán del aprieto en el que posiblemente se va a encontrar más de una vez.

  • No piense en las certificaciones. Si cree que les hacen falta, estas llegarán a su debido tiempo. Cuando tenga la suficiente experiencia y madurez para darse cuenta que no las necesita. Sí, certificarse nos trae beneficios a nosotros como individuos y a las organizaciones para las que trabajamos o representamos. La certificación verifica que nuestro nivel de pericia y conocimiento es consistente con los estándares de la profesión en un área específica, pero, también a veces, las certificaciones atribuyen competencias donde usualmente no las hay, a quienes usualmente no las tienen.
  • Uno de los aspectos que hacen “mágico” a Scrum es que podemos implementarlo usando Scrum. La gran ventaja es que no tenemos que definir un proceso porque ya está definido [8]. Podemos tener una Lista de elementos a implementar (el backlog) y los separamos en sprints de 2 semanas para ir implementando gradualmente en unos pocos meses. Esto permitirá que las personas se sientan cómodas y a gusto con el cambio y se logren mejores resultados más rápidamente.

En cada Sprint de implementación de Scrum realice las ceremonias orgánicas de Scrum:
  1. Planee cada sprint de la implementación
  2. Haga reuniones diarias
  3. Al final de cada sprint revise los resultados
  4. Antes del siguiente sprint, haga una retrospectiva de lo que fue bien y lo que fue mal durante el sprint actual de implementación 

Se me ocurre que podríamos usar, para empezar, este algoritmo general de la implementación de Scrum:
Algoritmo general de la implementación de Scrum usando Scrum
Figura 1: Algoritmo general de la implementación de Scrum usando Scrum
Esta es una primerísima versión del algoritmo a “mano alzada”, escucho opiniones al respecto.
Otras Recomendaciones a tener en cuenta para asegurar el éxito en una implementación de Scrum
  • Todo el equipo debe tener un pensamiento Ágil.
  • Debe haber un alto grado de cohesión en el equipo, incluyendo a los usuarios.
  • Centrado en el usuario
  • Transparente, es decir, todos deben conocer el estado del proyecto en cualquier momento
  • Debe predominar la Cultura de la Calidad
  • Debe haber retroalimentación continua de todos los participantes
  • Manejo de riesgos conjunto
  • Se requiere disciplina
  • El equipo debe tener un experto en métodos ágiles en general y en Scrum en particular para hacer coaching y acompañamiento continuo.
  • Participe o, al menos, manténgase en contacto con otras personas que estén usando Scrum: la Comunidad Ágiles Colombia [9] es un buen ejemplo de ello; la de Ágiles Latinoamérica [10] también.

Finalmente, cuando tenga la suficiente experiencia y cuente con equipos maduros, quizás antes, atrévase a adicionar sus propios valores al Manifiesto Ágil y póngalos en práctica. Ya en la comunidad Ágiles estamos discutiendo algunos de esos nuevos valores y principios:
Experiencia efectiva sobre certificaciones retóricas
Innovación continua sobre mantenimiento de productos
Satisfacción del Cliente sobre margen de utilidad
Felicidad de las personas sobre inapetencia profesional
¿Se animan con otros? Pueden dejarme sus comentarios o ir al foro de la comunidad Ágiles Colombia y participar de la discusión. Lo encuentran en:
Referencias
Scrum – Lo Fundamental

Scrum Orgánico para Iniciantes

Vademescrum, Sección I: El Scrum Master 1

Mitos, Monstruos, Leyendas Urbanas y otros Desvaríos de Ágil y Scrum

Planificación del Sprint: el primer paso para producir el máximo efecto

Gerentes de Proyectos de software, ¿una especie en vías de extinción?

Chaos Report. Standish Group. www.standishgroup.com/


Ágiles Colombia. http://agilescolombia.org/

Ágiles Latinoamérica. http://www.agiles.org/

jueves, septiembre 19, 2013

Planificación del Sprint: el primer paso para producir el máximo efecto

“Es un mal plan aquel que no admite modificación”
Publio Sirio, siglo I a.C.
Planificación del Sprint: el primer paso para producir el máximo efecto
Presentación

Ya sabemos que “el trabajo a realizar durante el Sprint se planifica en la Reunión de Planificación de Sprint.” [1] Es durante esta reunión a la que asiste el Equipo Scrum en pleno que se responden estas dos cuestiones:
  • ¿Qué puede entregarse en el Incremento resultante del Sprint que comienza?
  • ¿Cómo se conseguirá hacer el trabajo necesario para entregar el Incremento? [2]

Durante la reunión se propone un Objetivo a alcanzar en el sprint que inicia y se discuten los elementos de la Lista de Producto que, una vez terminados, dan como resultado el logro del objetivo propuesto.
Durante la primera parte de la reunión el Dueño de Producto propone los elementos de la Lista de Producto que quiere ver terminados hacia el final del sprint. En la práctica, el Equipo de Desarrollo realiza todas las preguntas necesarias al Dueño de Producto con el fin de clarificar aspectos de los elementos de la Lista de Producto, por ejemplo, de las historias de usuario seleccionadas para el sprint. Esta parte de la reunión es un evento típico de recolección de información, se establecen los criterios de aceptación de las historias de usuario, los pormenores funcionales y no funcionales de las mismas y todo lo que haga falta para que el equipo pase luego a decidir cómo se conseguirá terminar el trabajo del sprint.
En principio, el equipo debe estimar el esfuerzo necesario que le tomará terminar cada historia de usuario según lo establecido en la Definición de Terminado. Para ello, el equipo debe poner de manifiesto su experiencia en el ciclo de vida del desarrollo del software, desde el análisis, pasando por el diseño, la implementación, las pruebas, la documentación, hasta el despliegue del producto funcional. La estimación puede hacerla entonces usando técnicas ágiles como Planning Poker, que permite fijar los puntos de historia de cada una de las historias de usuario y que servirán luego para calcular la Velocidad del equipo y evaluar aspectos de productividad y calidad.
Al final de la reunión el equipo tiene definidos:
  • Un Objetivo del Sprint y
  • Una Lista de Pendientes del Sprint
Además del número total de puntos de historia que se construirán en el sprint que comienza. El objetivo del sprint es una corta descripción, una o dos frases, de lo que el equipo planea alcanzar durante el Sprint. Por ejemplo, si estamos construyendo un sistema de publicación en línea, este bien puede ser el objetivo de un Sprint:
  • Implementar la creación básica de blogs, adición básica y publicación de entadas a los blogs y publicación de comentarios a esas entradas.
  • Implementar la gestión básica de usuarios, el ingreso a la aplicación y el recordatorio de contraseñas.
Es una meta que debe estar visible a todos los miembros del equipo y de los demás interesados y cuyo significado debe entenderse a cabalidad. Por ejemplo, “adición básica de entradas a los blogs” quiere decir que se permitirán entradas con texto y una imagen en algún formato conocido; y no quiere decir que se permitirán todos los formatos de imágenes usados hoy, ni que se permitirá inserción de videos o de documentos, tampoco que habrá revisión ortográfica. Es precisamente el contexto lo que debe ser acordado y entendido por todo el Equipo Scrum.
Algunas malas prácticas en la reunión de Planificación y cómo evitarlas
A la reunión de Planificación del Sprint asiste el equipo Scrum en pleno, incluyendo el Scrum Master y el Dueño de Producto, responsable de direccionar el trabajo del Equipo de Desarrollo. Incluso es posible que asistan algunos interesados que apoyen al Dueño de Producto en la clarificación de los elementos de la Pila de Producto. El Equipo debe planear muy bien la reunión, el Scrum Master debe velar porque se haga en el bloque de tiempo establecido por las reglas de Scrum, por ejemplo, 4 horas para un Sprint de 2 semanas. El Dueño de Producto debe estar preparado para responder las cuestiones que surjan de la selección de elementos de la Lista de Producto que serán seleccionados para el sprint.
El Equipo de Desarrollo debe estar completo, ser multifuncional, preparado física y anímicamente para enfrentar un nuevo sprint, los sprints anteriores son cosas del pasado, las acciones de mejoramiento se tomaron y se llevaron a la Lista de Producto para su implementación efectiva, de acuerdo con la prioridad del Dueño de Producto y del Equipo en general. El Equipo está conformado por personas, no por súper héroes que trabajan 16 o más horas al día o con capacidades por encima del promedio (esto último apenas es una ganancia pero no debe tomarse como fundamento para sobrecargar al equipo con tareas que van más allá de su esfuerzo normal).
Aun así debemos tener cuidado: una reunión de planificación mal ejecutada terminará con un mal plan, con elementos de la Lista de Producto pobremente entendidos (por ejemplo, requisitos incompletos o ambiguos), con sobrecarga de trabajo para el equipo, con “sprints individuales”, es decir, iteraciones planeadas para cada miembro del equipo en vez de una sola para todo el equipo; sin la definición de “terminado” o sin el objetivo del sprint claro. Por ello tengamos en cuenta lo siguiente.
Esto es lo que hemos aprendido de las reuniones de planificación del sprint:
No empiece sin el Dueño de Producto. El Dueño del Producto está ausente o remoto. En Ágil/Scrum promulgamos y valoramos más la interacción entre las personas que los procesos y las herramientas. “El método más eficiente y efectivo de comunicar información al equipo de desarrollo y entre sus miembros es la conversación cara a cara” [3], dice uno de los principios del Manifiesto Ágil. Así que es primordial que el Dueño de Producto esté disponible y presencial durante toda la reunión.
Además, el Dueño de Producto debe estar cuando se realice la estimación y la planeación de tareas. En ocasiones, el Dueño de Producto ayuda a bajar la tensión y las expectativas que se hace el Equipo cuando de construir un incremento del producto. El Dueño de Producto quizás insista en hacer las cosas de otra manera, sencilla o más liviana, pero de valor para el negocio. O al contrario, el Equipo de Desarrollo o el Scrum Master pueden motivar al Dueño de Producto a disminuir su interés en ciertos aspectos del producto pero a fijarse en otras características de mucho más valor y rendimiento para la organización. Recordemos “la simplicidad, o el arte de maximizar la cantidad de trabajo no realizado, es esencial.” [4]
No permita que el Dueño de Producto sea quien decida sobre la cantidad de trabajo que el equipo debe realizar. En otras palabras, que el Dueño de Producto proponga (imponga) la cantidad de elementos de la Lista de Producto a construir durante el sprint, sin tener en cuenta la Velocidad del equipo o el esfuerzo total que el equipo puede acometer durante la iteración. A medida que el Dueño de Producto propone elementos de la lista, el equipo estima su implementación y resta el estimado del tiempo total efectivo del sprint. Recordemos que “los procesos Ágiles promueven el desarrollo sostenible. Los promotores, desarrolladores y usuarios debemos ser capaces de mantener un ritmo constante de forma indefinida.” [5]
El Dueño del Producto no está listo para el Sprint. O la Lista de Producto no está lista. Muy bien, estamos todos los que somos para la reunión pero a las primeras de cambio el Dueño de Producto nos empieza a decir que no tiene las respuestas, que desconoce tal o cual característica, que debe consultar dentro de tres o más días con alguien más, incluso externo a la organización, que no está seguro si las cosas son así o de otra forma, en fin, esa serie de respuestas que finalmente nos llenan de requisitos incompletos y, por consiguiente, de supuestos. Nuestro cerebro tiende a llenar los vacíos con conjeturas que le pueden hacer mucho daño al proyecto.
En el caso de las consultas para más tarde o para días posteriores, le debemos aclarar al Dueño de Producto (y por “debemos” quiero decir el Scrum Master), que dado que el sprint tiene una duración muy corta (2 semanas, por ejemplo), no es posible esperar tanto tiempo por sus respuestas y pasamos así al siguiente elemento de la lista. Precisamente, para evitar estas anomalías, recurrimos a prácticas de refinamiento de la Lista de Producto que consisten en que, en medio del sprint actual, nos reunimos con el Dueño de Producto para agregar detalles, lo mismo que priorizar y estimar los elementos de la lista de los próximos dos sprints. Así cuando llegue el momento de la planificación, el Dueño de Producto esté lo suficientemente preparado como para iniciar la nueva iteración sin contratiempos.
Planear un esfuerzo total que sobrepasa los límites del Equipo, por ejemplo, planear tareas del ciclo de vida del software en tiempos de reunión de Revisión o de Retrospectiva. Si el equipo es de 5 personas y estamos haciendo sprints de 2 semanas, debemos restar 15 horas de esfuerzo total por estas 2 reuniones (10 por la reunión de revisión y 5 por la de retrospectiva), además unas 12  horas de esfuerzo por reuniones diarias y 20 horas por la reunión de Planificación del Sprint, esta de la que estamos hablando. Es decir, unas 47 horas menos, con lo que el esfuerzo real sería de 353 horas para ese equipo de 5 personas.
Incluso deberíamos planear jornadas efectivas de menos de 8 horas, por ejemplo 6 o 7, máximo. Con 7 horas, por ejemplo, el esfuerzo total del equipo de 5 personas sería de unas 300 horas. Algo realista y que, a la larga, contribuye a aumentar la productividad, la energía de las personas del equipo, la motivación y, como  consecuencia, mejora la calidad de los productos que construyen. “Nuestra mayor prioridad es satisfacer al cliente mediante la entrega temprana y continua de software con valor.” [6]
Otras cosas que no debemos hacer antes, durante o después de la reunión de Planificación del sprint
  • La reunión tarda más de lo debido. El Scrum Master debe estar atento a ello. Puede ser un indicativo de falta de productividad o de que estamos sobre-planificando el sprint.
  • Cada miembro del equipo planea su “sprint individual”. O se hace una planeación para alguien en particular, “alguien adicional”.
  • No planear de manera colaborativa. Va de la mano con la anterior práctica errónea.
  • No planear la reunión con anticipación. Vale para todo el Equipo Scrum. Si hicimos Refinamiento deberíamos tener el suficiente apresto para realizar una reunión dinámica y efectiva.
  • No definir un Objetivo del Sprint. ¿Entonces hacia dónde vamos? El Objetivo es la brújula que nos orienta.
  • Planear tareas de 8 horas o más para un miembro del equipo. Se deben planear 2, 3 o más tareas cuya suma de esfuerzos individuales sume el tiempo total de esfuerzo diario de cada miembro del equipo.
  • Permitir que alguien, por ejemplo el Dueño de Producto o el Scrum Master, incluso alguien externo, asigne las tareas al resto del equipo.
  • Ausencia física del Scrum Master en la reunión de planificación. Puede estar virtual pero seguramente el valor de su participación será mucho menor.

Referencias

[1], [2] La Guía de Scrum. http://www.scrumguides.org/download.html
[3], [4], [5], [6]  El Manifiesto Ágil. http://www.agilemanifesto.org/iso/es

domingo, septiembre 01, 2013

Gerentes de Proyectos de software, ¿una especie en vías de extinción?


“En los próximos treinta años, sin hacer ningún  ruido, un día dejaremos de ser los seres más brillantes de la tierra”. James McAclear.
Gerentes de Proyectos de software, ¿una especie en vías de extinción?
Imagen de Mark Garlick/Science Photo Library
Hace poco, durante la sesión de preguntas y respuestas de una conferencia sobre transición al universo ágil y a Scrum que facilité con todas mis ganas, alguien del público censuró arduamente algunos de mis puntos de vista… Esta es su historia.
La pregunta
-         “Lucho, quiero referirme específicamente al asunto de la Gerencia del Proyecto en este mundo ágil que planteas” – comenzó diciendo con firmeza. “Afirmas que nosotros no necesitamos un Gerente de Proyectos si estamos empleando una metodología Ágil, específicamente si empleamos Scrum”
Aunque aun no sabía en qué iba a terminar aquello, no quería hacer parte de lo que venía a continuación. Empecé a pensar que el asunto podía convertirse en un ejercicio de semántica, en vez de uno de fondo, empezando con la definición de “nosotros” y la de “Gerente de Proyectos”.
-          Por ejemplo, – prosiguió ella, con un tono que rayaba en lo trascendental – dices que el Scrum Master es quien facilita las reuniones Diarias, la reunión de Planificación del Sprint, la Retrospectiva; es quien le da un empujoncito al Dueño del Producto para que sus historias estén a tiempo para la Planificación del Sprint; y es a quién acuden los miembros del Equipo cuando tienen problemas que no pueden resolver.
En un instante calculé muchas de las preguntas que podían resultar de aquel soliloquio y con preocupación noté que la referencia inicial al Scrum Master haría que entráramos a un terreno escabroso, a una discusión que podría exacerbar los ánimos de Ella y de algunos de los asistentes.
-          No tienes que llamar a esa persona un Gerente de Proyecto si no quieres – aseveró Ella con una modulación culminante, aunque con las mejillas rojizas, - y, en Scrum, esa persona es el Scrum Master.
Otra vez el Scrum Master. Sin duda, lo que venía era equipararlo con el Gerente de Proyectos tradicional.
-          Aun así, mucho de este trabajo se parece a la clase de cosas que hacen los Gerentes de Proyectos. – Ahí estuvo, no me equivoqué, pero antes de que pudiera pensar en algo más, siguió diciendo - El hecho de que un Gerente de Proyectos asociado con tipos diferentes de proyectos haga cosas que no son consistentes con Scrum no elimina la necesidad de que alguien haga esas cosas que parecen tan espantosas en los proyectos Scrum.
En cierto sentido tenía razón. Pero ¿y la pregunta?
-          Mi punto es, aunque no se llame Gerente de Proyectos, sí hay gerencia de proyectos en los proyectos Scrum. ¿Qué nos puedes decir al respecto? – Se sentó más tranquila que cuando se levantó para hacer el cuestionamiento. Es como si hubiese aliviado setenta y cinco minutos de ansiedad de un solo tirón, el mismo tiempo que tardó mi intervención.
La respuesta
Mi punto en cambio – pensé - es que embrollarse mucho con el vocabulario e insistir en que alguien que llena el rol de Scrum Master absoluta y positivamente no hace nada que se parezca al trabajo de gerencia de proyectos, no es un uso constructivo del tiempo. Es más lucrativo averiguar lo que se necesita hacer para que el proyecto sea exitoso… ¡Y hacerlo!
Sin embargo, quise iniciar mi respuesta dándole parcialmente la razón. Le dije que tal y como concebimos el proceso, un proyecto Scrum está inmerso dentro de un conjunto de actividades relacionadas que requieren habilidades más clásicas de un Gerente de Proyectos, como la negociación contractual, la puesta en marcha de la operación o la misma selección del equipo. En Scrum, el equipo se autoorganiza, pero no es capaz de autoseleccionarse, hay restricciones de disponibilidad de las personas, de habilidades necesarias y de motivación, entre otras, que deben tomarse en cuenta. Sí, es cierto que quien se pone en los zapatos del Scrum Master bien puede hacer estas cosas, en cuyo caso llamarlo Gerente de Proyectos (así como Scrum Master) tiene mucho sentido.
Mientras yo hablaba, miraba cómo la expresión de su rostro cambiaba; el tono rojizo que tenía durante su intervención se había disipado y sus mejillas volvieron a su color habitual. Incluso sonrió, asintió con la cabeza y le susurró algo que nunca sabremos a su compañero de la izquierda, aunque tuve la ligera desesperanza de que decía: – sí, ¡yo tenía razón! – En parte la tenía… pero solo si hubiésemos estado hablando de proyectos tratados con métodos tradicionales, no ágiles.
Mientras hacía la pausa para continuar, pensaba que esa pregunta ponía de manifiesto una vez más algo común en los procesos de transformación hacia lo ágil y era que, aun cuando creyeran que ya habían llegado al final del camino (¡somos ágiles, somos Scrum!), muchos todavía tenían un largo camino por recorrer antes de que realmente entendieran lo que significaba hacer Scrum y “ser ágil”. Imaginé a Ken Schwaber o a Jeff Sutherland interviniendo en la discusión, pero solo para argumentar que  ninguno de los roles en Scrum eran eufemismos para “Gerente de Proyectos”, y finalmente pensé que ninguno de ellos ni ninguno de los otros 15 personajes que firmaron el Manifiesto Ágil, entrarían alguna vez en una discusión como esta.
Pero – justo en este instante tuve la idea completa – quienes tratamos de aplicar Scrum adhiriéndonos a sus reglas tan íntimamente como podamos, sabemos que es el Equipo el que toma las decisiones y que el Dueño del Producto es el “familiar” más inmediato que los Equipos Scrum tienen a un(a) Gerente de Proyectos. – Ya estaba dicho, sentía que debía deshacer de raíz ese arraigo de las personas de quedarse en la mitad del proceso de renovación hacia la filosofía ágil.
La guía de Scrum dice textualmente: “El Dueño de Producto es el responsable de maximizar el valor del producto y del trabajo del Equipo de Desarrollo.” Y más adelante, en el mismo apartado sobre el Dueño del Producto, complementa: “toda la organización debe respetar sus decisiones.” Les recomiendo además el artículo “Scrum: Cediendo el mando y control AL EQUIPO” de mi colega Jorge Abad y con quien he abordado estos asuntos en la Comunidad Ágiles Colombia. Bien dice él que el “rol de la gerencia de proyectos queda inoperante y se convierte en un reto profesional pasar de gerente de proyectos a Scrum Master” [1]. Jorge se refiere a los Proyectos/Equipos Scrum. Le decía precisamente sobre esta aseveración que, aunque estuviera claro que el gerente de proyectos de hoy puede ser un Scrum Master, el trámite de ir de un punto a otro no es algo lineal y mucho menos algo que se pueda lograr durante el sueño.
En este punto de mi parlamento, no solo la expresión corporal de mi interlocutora, sino la de muchos en el auditorio, era de desconcierto. Así que debía anticiparme a sus preguntas.
La pregunta entonces es – continué – ¿cómo lograr esa metamorfosis? ¿Cómo hacer que ese cambio no se quede en un mero “regateo”, que no se quede en una evolución trunca o, dicho de otra forma, en una mera mutación involutiva? No queremos que el resultado sea algo así como “gerenscrummaster de proyectos”… como lo que sucede en La Mosca, aquella película de 1986, dirigida por David Cronenberg, con Jeff Golblum y Geena Davis.
Y la respuesta a esa pregunta es: dejarse abrazar por los valores y principios del Manifiesto Ágil, por los pilares de Scrum de Transparencia, Inspección y Adaptación, ese trípode que se constituye precisamente en el soporte de los Equipos Scrum, autoorganizados, esos que según la misma Guía de Scrum “eligen la mejor forma de llevar a cabo su trabajo y no son dirigidos por personas externas al equipo.” Además, “tienen todas las competencias necesarias para llevar a cabo el trabajo sin depender de otras personas que no son parte del equipo.
Me pareció que no había nada más que decir. Así que me propuse cerrar el tema diciéndoles que, de hecho, la conversión de los gerentes de proyecto actuales hacia otros roles era un factor de resistencia al cambio durante el proceso de renovación hacia “ser ágil” y esa resistencia normalmente redundaba en una crisis organizacional. Pero no había nada que hacer, buena parte, sino todas las responsabilidades del gerente se distribuyen en estos nuevos roles que hoy estamos jugando en Scrum. Por ejemplo, la visión y las guías del proyecto están a cargo del Dueño del Producto, el Equipo automaneja la organización diaria del flujo del proyecto, mientras que la facilitación y el entrenamiento son responsabilidad del Scrum Master.

Conclusión
Estoy seguro que a mi interpelante no le gustó esta respuesta, pero que le vamos a hacer. A algunos les sabe cruda la verdad. Lo que ocurre es que las organizaciones no se mueven rápida y fácilmente a Ágil/Scrum y tienen malos momentos consiguiendo velocidad y experiencia en los nuevos roles. El cambio es duro. Ágil no es una construcción de conveniencia; demanda un cambio radical del pensamiento tradicional acerca del desarrollo. Si una persona no puede verdaderamente adoptar los valores y principios del Manifiesto, entonces en mi opinión ellos son ADNS – Ágil De Nombre Solamente. ¿Eres tú un ADNS?
Lo otro que me inquieta son los certificados. Cuando escucho o leo a gente con CSM y CSPO, PSM o similares, y combinados con PMP o algo así, haciéndome preguntas o expresándose como lo hizo el personaje de esta historia, me pregunto si fueron al entrenamiento y obtuvieron las certificaciones simplemente para llenar sus Hojas de Vida. No parecen comprometidos con el pensamiento ágil o con los valores y principios del Manifiesto Ágil.
He tenido la colosal fortuna de trabajar con personas/colegas supremamente inteligentes, en proyectos de software extremadamente complejos; y ellos siempre me tienen en cuenta para resolver problemas comunes y no tan comunes pero peculiares en esta clase de proyectos; también quieren conocer mi opinión sobre ideas técnicas que los mantuvieran enfocados en los objetivos primordiales, es decir, los entregables del proyecto. Soy parte del equipo, no una figura de autoridad. Lo que hecho, en la práctica, es contribuir al éxito del proyecto y al triunfo del equipo, a la satisfacción del usuario. No importa nada más.
Con Ágil/Scrum simplemente lo estamos haciendo más frecuentemente, con mayor calidad y, sobre todo, con mayor entusiasmo y felicidad.
Referencias

jueves, junio 27, 2013

Vademescrum, Sección I: El Scrum Master 1

El Vademescrum
No se trata de un lapsus calami ni de ninguna charada. Simplemente usé un procedimiento morfológico para crear una nueva palabra cuyo significado se hará evidente en breve. Usando el formato de la Academia de la Lengua, podemos decir que Vademescrum proviene de Vademécum (obra de referencia que contiene las nociones más importantes de una materia, ya sea ciencia o arte) y de Scrum (marco de trabajo liviano y adaptativo para desarrollo iterativo e incremental de software). El Vademescrum es, por lo tanto, una especie de marco referencial de Scrum y de sus componentes.
Vademescrum, Sección I: El Scrum Master 1
Entrando en materia, el Scrum Master es quien inspira los valores y las prácticas de Scrum en todo el equipo Scrum y, junto con otros Scrum Masters, en la organización. Es quien debe llevar al equipo a jugar Scrum Extremo y que lo haga a su máxima capacidad. El SM es como el médico que prescribe una receta o régimen a su paciente (el equipo Scrum) y se asegura de su cumplimiento y, aunque el SM no tiene autoridad sobre el equipo, sí tiene autoridad sobre el proceso Scrum que se sigue, por ejemplo, puede tomar la decisión de cambiar la duración de los sprints.
El SM también busca en las entrañas del proyecto y del equipo para encontrar los motivos por los que algo salió mal, por ejemplo, si no se entregó software potencialmente distribuible, probado y funcionando, al final de un sprint, o si el equipo no logró la velocidad esperada, o simplemente el por qué no se alcanzó la definición de Hecho (Done), o que los miembros del equipo no estén “anclados” en roles específicos. El Scrum Master también sirve como un escudo insalvable del equipo de interferencias externas, por ejemplo, cuando un interesado quiere modificar el alcance o la duración de un sprint, o ambos.

La guía de Scrum dice además que:
“El Scrum Master es el responsable de asegurar que Scrum es entendido y llevado a cabo. Los Scrum Masters hacen esto asegurándose de que el Equipo Scrum trabaja ajustándose a la teoría, prácticas y reglas de Scrum. El Scrum Master es un líder servil, al servicio del Equipo Scrum. El Scrum Master ayuda a las personas externas al Equipo Scrum a entender qué interacciones con el Equipo Scrum pueden ser de ayuda y cuáles no. El Scrum Master ayuda a todos a modificar estas interacciones, para maximizar el valor creado por el Equipo Scrum.”
Ahora bien, cuando un Scrum Master se une a un equipo, debe recordar que está allí para servir a:
  1. El Dueño de Producto
  2. El Equipo de Desarrollo
  3. La Organización

Para ello el SM debe tener en cuenta no solo el nivel de madurez en Scrum del equipo y de la organización, sino la capacidad de los miembros del equipo para obrar bajo el manto del espíritu Scrum. Esto quiere decir que el SM debe interactuar con cada persona en el equipo tanto como sea posible y promover la interacción entre ellos ya que, como recordarán, “valoramos individuos e interacciones sobre procesos y herramientas”.
En principio, no es buena idea que el SM haga cambios profundos en la Forma de Trabajo del equipo porque esto podría disminuir considerablemente su velocidad; en cambio, el SM debe considerar acompañar y guiar al equipo hacia el éxito constante. También debe lograr que haya confianza entre todos los miembros del equipo y que ellos tengan confianza en su SM, tal y como un paciente confía en su médico de cabecera.
Otras indicaciones que debe tener en cuenta el Scrum Master son:
  • Soportar activamente el proceso de adopción, adaptación y mejoramiento de prácticas ágiles en la organización.
  • Entender lo bueno y las mejoras que el equipo está buscando.
  • Tratar de establecer una comunicación abierta con el Dueño del Producto.
  • Interactuar con otros SM e identificar los desafíos que enfrentan.
  • Constantemente inspeccionar, ser transparente y adaptar, es decir, promover los pilares de Scrum.
  • Entrenar al equipo, entrenarlo y luego entrenarlo más. Cuando esté cansado de entrenar al equipo, entrenarlo en algo más. Ser el mentor que todos esperan que sea.
  • Promover la comunicación abierta.
  • Resaltar cuando el equipo alcance hitos de adaptación y mejoramiento.
  • Preguntarle al Dueño del Producto por 2 o 3 cosas que él/ella piense que no están bien, dañadas o que no están funcionando o simplemente con las que no está feliz.
  • Hacer lo anterior, pero con el Equipo de Desarrollo.
  • Mostrar a todos como planea corregir estos aspectos con la mayor brevedad.
  • Entender la cultura y el contexto del equipo.
  • Identificar oportunidades de mejora y facilitar y fomentar el mejoramiento.
  • Promover la retrospectiva al final del Sprint e, incluso, durante el Sprint.
  • Finalmente, pero no menos importante, hacer que el equipo tenga acceso rápido a una buena máquina de bebidas de café, esto también resuelve muchos asuntos.

Contraindicaciones
Esta es la primera entrega de este Vademescrum, volveré con más. Mientras tanto es importante tener claro que un SM hace mucho más de lo que enumeré aquí. Una persona debe preguntarse, ¿cómo me llegó la idea de convertirme en Scrum Master? Y también, ¿dónde consigo la experiencia necesaria y suficiente para hacerlo bien? ¿Dónde y cómo puedo aprender más? Asimismo debe cuestionarse quién le enseña.
Es un hecho, en estos días parece que Scrum Masters con toda esa experiencia son concebidos en cursos de 2 días y un examen de selección múltiple. Al final, caen en el olvido sin que nadie en el equipo se haga cargo. Es toda una experiencia misteriosa que se puede dominar sin antes pasar por las etapas clásicas de aprendiz –> practicante –> practicante -> experto –> entrenador -> mentor y sin que se extienda el manto ágil de Scrum sobre el equipo y la organización.

Lecturas Adicionales

Scrum Fundamental lo encuentran en este mismo Gazafatonario, en:

La lista de verificación de Scrum la encuentran en:

Mitos, Monstruos, Leyendas Urbanas y otros Desvaríos de Ágil y Scrum

Scrum Orgánico para Iniciantes