Inicio > Programming, Varios > Scrum: cómo organizar tu primer Sprint

Scrum: cómo organizar tu primer Sprint


Este blog se ha trasladado a http://www.fperezp.com/blog/. Puedes leer acerca de Cómo organizar tu primer Sprint Scrum aquí.

Hola de nuevo amigos! Bien, tras un fin de semana algo ajetreado y nuestro último post sobre frameworks php, volvemos a este mundo bloguero donde compartir mis experiencias frikiprofesionales🙂 En esta ocasión vengo por estos lugares perdidos de la mano de dios para compartir con vosotros cómo fue nuestra primera reunión Scrum de planificación de sprint. Sí, la primera. El pasado viernes comenzamos una nueva forma de gestión del trabajo en la empresa donde trabajo. Scrum nos llama mucho la atención, y creemos que puede ayudarnos mucho, muchísimo, a mejorar nuestra productividad, tanto individual, como colectivamente.

En este post no voy a tratar de daros la brasa con la teoría, algo que podeis incontrar en la propia wikipedia de una manera muy bien explicada. Aquí simplemente trataré de seguir el ejemplo de Henrik Kniberg (cuyo libro Scrum y XP desde las trincheras os recomiendo encarecidamente) dando una visión completamente subjetiva de mi experiencia a la hora de aplicar Scrum a un equipo de desarrollo software.

Bien, comencemos. En primero lugar dividiremos la preparación de esta nuestra primera reunión Scrum en dos partes: Infraestructuras y Definición de la Pila de producto.

  1. Infraestructura física: Vamos a necesitar varios elementos, sencillos, pero necesarios. Aunque parezcan triviales o poco importantes, hacen que nos centremos y tengamos mejor asimilado qué, cómo y cuándo debemos tener listos nuestros objetivos del Sprint. Esta estructura consta de:
    • Tablón de estado del Sprint. En este tablón vamos a definir diferentes áreas y veremos como avanza nuestro Sprint. Tendremos nuestras tareas organizadas en no comenzadas, en proceso, pendientes de chequeo, terminadas, etc. Nosotros hemos creido importante tener un apartado dedicado a chequeo para darle importancia a la correción tanto del back-end como del front-end del software implementado.

      Tablon Scrum Inicial

      Tablon Scrum Inicial

    • Tarjetas de historia. Son simples hojas de papel divisiones donde podamos poner las diferentes propiedades que van a definir cada una de nuestras historias. Estas tarjetas nos servirán luego para colocarlas en nuestro tablón y organizar nuestro sprint de una manera más visual y eficaz.

      Tarjeta de Historia Scrum

      Tarjeta de Historia Scrum

  2. Pasemos ahora a la definición de la Pila de producto. Antes de iniciar la reunión Scrum de planificación de Sprint, debe haber habido una reunión previa del Scrum Master con el Dueño de producto, en la cual se hayan designado las prioridades, que a su vez nos indicará el orden de las historias dentro de la pila de producto. Una vez las historias han sido ordenadas, es muy recomendable organizarlas físicamente, bien en un tablón, bien en una mesa. En nuestro caso las organizamos en una mesa.

    Pila de producto

    Pila de producto

Cuando ya tenemos organizadas la pila de producto, podemos comenzar con la reunión Scrum de planificación del Sprint. En nuestro caso hemos optado por un sprint de duración media-corta de 3 semanas. Creemos que nos da la suficiente libertad para poder desarrollar sin demasiadas reuniones que entorpecen el trabajo, pero que a la vez permite que la empresa tenga agilidad a la hora de sacar nuevos productos.

Pues bien, teniendo todo esto, es hora de que el equipo Scrum se ponga las pilas. Toca entender, analizar y definir qué podemos incluir en el sprint. Es muy recomendable, y diría que necesario, que el dueño de producto se encuentre presente en esta reunión, ya que es posible que la estimación que el equipo Scrum haga sobre el tiempo de desarrollo haga cambiar las prioridades dentro de la pila de producto, o que se decida dividir una historia en varias partes para incluir una parte en el sprint actual y el resto dejarlo para próximos sprints.

Aclaremos algunos aspectos antes de continuar. En la reunión de planificación vamos a repartir una serie de historias entre los diferentes componentes del equipo. Para ello debemos calcular la dedicación que tendrá el equipo y la duración en puntos de cada historia. Para el cálculo de la dedicación del equipo procederemos de la siguiente manera:

Días de dedicación de cada miembro * % de dedicación.

Por ejemplo, tenemos que en este Sprint el equipo Scrum estará compuesto por 4 personas:

Persona 1: 12 días hábiles

Persona 2: 11 días hábiles

Persona 3: 12 días hábiles

Persona 4: 10 días hábiles

Debemos tener en cuenta que existen días de vacaciones, días festivos, etc. Bien, a estos días hábiles debemos aplicarle el factor de dedicación. Por ejemplo, imaginaos que la persona 1 debe dedicarse también al mantenimiento de equipos informáticos. A esta persona, por ejemplo, le daremos una dedicación del 50%. Ahora imaginaos que la persona 4 debe dedicarse también a dar soporte telefónico a software. Le daremos una dedicación, por ejemplo, del 70%. De esta forma tenemos que la dedicación en término de puntos ideales del equipo Scrum será de:

12*0.50 + 11 + 12 + 10*0.70 = 36

Esto serían puntos ideales, pero debemos tener en cuenta que las personas no somos máquinas, y que el mayor valor que tiene Scrum es la de poder estimar una velocidad real de trabajo. Por ello debemos indicar qué porcentaje real vamos a ser productivos. En un principio, y dado que no tenemos con qué comparar, fijaremos el factor de conversión en 0.5. Lo ideal es alcanzar el 1 de factor de conversión, pero sabemos que esto no es posible. Por ello debemos marcarnos objetivos coherentes y reales. Nuestro objetivo en 2-3 Sprints será alcanzar un factor de conversión de 0.7. Bien, como hemos dicho, el factor de conversión de este primer Sprint será de 0.5, de modo que los puntos ideales se transoforman en

36*0.5 =  18 puntos de equipo

Estos 18 puntos son los que al finalizar la reunión de planificación de Sprint deben haber sido repartidos entre las diferentes historias de la pila de Producto, conformando de esta forma la Pila de Sprint.

Para la estimación de tiempo de desarrollo de cada historia, hemos optado por el poker de Scrum points. Es decir, cada miembro del equipo Scrum posee una serie de cartas con puntos escritos. Estos puntos son puntos ideales. Esto quiere decir que cada punto representa a un programador-dia ideal. Si, por ejemplo, creemos que cierta historia necesitará de 2 programadores trabajando a plena dedicación 3 días, para nosotros esa historia tendrá una estimación de 6 puntos ideales (2 programadores * 3 días ideales). Para cada historia, cada miembro del equipo elegirá una carta de su mazo con la puntuación que cree que tardará la historia y la pondrá boca abajo en la mesa. Una vez que todos los miembros del equipo Scrum hayan votado, el Scrum Master barajará las cartas y les dará la vuelta. De esta forma la estimación de tiempo de cada miembro no se verá condicionada a la estimación de los demás miembros Scrum, y a su vez podremos ver si alguien no ha comprendido el propósito de la historia. Si tenemos 4 miembros, y 3 votan, por ejemplo, 12, y uno vota 50, claramente el que  ha votado 50 no ha entendido algo ya que está pensando en hacer algo bastante más complicado que el resto. O es posible que el que ha votado 50 haya tenido en cuenta algo que a los otros 3 se les haya pasado por alto (bastante poco probable, pero posible a fin de cuentas). Hemos de dejar claro que la estimación de tiempo debe ser consensuada y aceptada por todos y cada uno de los miembros del equipo Scrum.

 

Distribución de historias

Distribución de historias

Continuemos. Ya tenemos la valoracion de tiempo de cada historia, su importancia, su alcance y los puntos del equipo Scrum. Ahora toca repartir las historias. Es importante que tengamos en cuenta el tiempo que cada miembro del equipo va a tener disponible, ya que no es coherente que si una historia tiene, por ejemplo 5puntos, se le asigne a la persona 5, que sólo tiene 3.5 puntos reales disponible durante todo el Sprint.

Pues bien, ya tenemos organizado nuestro primer Sprint. Ahora solo falta rellenar el tablón para poder llevar una organización más limpia y clara de las tareas e historias que se van completando. Aquí os dejo una imagen de nuestro tablón de Sprint relleno.

 

Tablon de Sprint Scrum relleno

Tablon de Sprint Scrum relleno

Ya os iré contando qué tal nos va, si planteamos alguna modificación al sistema inicial y si finalmente obtenemos los resultados esperados, que no son más que el incremento de la productividad.

Y listo, me despido por ahora. Espero que pronto volvais a tener noticias mías🙂

Un saludo a todos y gracias por vuestra atención😉

  1. Aún no hay comentarios.
  1. No trackbacks yet.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: