SCRUM: funcionamiento

Hoy día los modelos de gestión de proyectos ágiles han surgido para aportar valor a los usuarios en contraposición a las metodologías tradicionales que buscan ser fieles a las planificaciones iniciales de los proyectos.

Estos marcos conceptuales intentan adaptarse al cambio en los proyectos de software asumiendo que es bueno, necesario y que va a ocurrir. La finalidad es que el cliente quede contento con la entrega del software que se desarrolla y que funcione. En estas metodologías no existe la figura del jefe de proyecto, es el equipo el que decide en las tareas y el tiempo que van a durar porque no hay nadie mejor que ellos para determinarlo.

La filosofía de trabajo ágil se basa en planificaciones y estimaciones que se hacen a lo largo del proyecto, no solo al principio como en las tradicionales, y cada 2 o 4 semanas hay que realizar nuevamente planificaciones.

Scrum nos va a servir como marco de trabajo para gestionar proyectos, no para programarlos. Normalmente se suele usar junto con otras metodologías propias de desarrollo como eXtreme programming.

Un proyecto Scrum se basa en:

  • Planificación del proyecto
  • Identificación de las actividades que se llevarán a cabo.
  • Priorización según el valor de negocio de las actividades.
  • Estimación de tiempos
  • Desarrollo de las actividades
  • Evaluación del proyecto

scrum1

¿Qué es un sprint?

Es un tiempo en el que el equipo scrum desarrolla un producto que aporta funcionalidad al cliente. ¿Cuanta? la que sea, la que el equipo que está realizando el desarrollo del software es capaz de producir en un mes.

Hay estudios que han demostrado que el 39% de las funcionalidad de software no se utiliza, el 21% se utiliza una rara vez y solo el 40% restante es lo que el cliente realmente usa o necesita. ¿A que no nos sorprende?, por tanto, hay que saber priorizar y ordenar correctamente las tareas para acometer ese 40% que el cliente quiere realmente, esto es fundamental. Scrum involucra al cliente en este área para determinar las prioridades.

También fundamental es que los equipos se auto-organicen realizando cada uno de los componentes las actividades donde tengan mayor capacidad y conocimiento o simplemente se sientan más motivados.

¿Cómo funciona Scrum?

Son iteraciones en el tiempo entre 2 o 4 semanas en donde inicialmente se definen todas las tareas que tiene que tener/hacer el producto. A esto lo llamamos pila de producto o Product Backlog.

Todas estas actividades en función de la capacidad del equipo de trabajo lo dividimos en iteraciones; el equipo de desarrollo decide que en un mes es capaz de resolver 2,3, n historias de usuario. Las organizamos, a continuación las priorizamos y las sacamos de la pila de producto y ya entramos en la fase de desarrollo.

Como he comentado anteriormente, estas iteraciones duran como mucho un mes, por lo que durante este tiempo se pueden pasar por diferentes picos de trabajo, unas veces más intensos y otras menos. Para resolver estas situaciones y que siempre haya una “tensión diaria” en el desarrollo se consigue reuniéndose diariamente el equipo de desarrollo Scrum a la hora que decidan y comentar (durante no más de 15 minutos y en un ambiente distendido como pueda ser al lado de la máquina de café):

  • qué he hecho hoy y que voy a hacer
  • qué hice ayer
  • qué problemas he tenido

De esta forma conseguimos que en el equipo se aporten soluciones a los problemas que hemos podido tener o que nos encontraremos más adelante.

Al finalizar el sprint siempre revisaremos cómo a funcionado la metodología, si hemos cubierto los objetivos y si tenemos algo que mejorar.

En resumen y como objetivo, lo que conseguimos con estas 2 o 4 semanas es un producto terminado que podemos enseñar al cliente.

Si por algo se caracteriza Scrum es por aplicar una mejora continua constante, saber en que punto del proyecto no encontramos y si hemos detectado algún mal funcionamiento tenemos que cambiarlo.

Enlaces de interés

http://agile-spain.org

http://es.wikipedia.org/wiki/Scrum

Libro gratuito de cómo implementar de forma efectiva SCRUM junto con XP.

http://www.infoq.com/minibooks/scrum-xp-from-the-trenches