¿Spike? ¿No es ese el mono de Ace Ventura? Pues, no. Bueno sí, pero además, un spike es un término que se utiliza en desarrollo ágil para incluir una tarea en un sprint que no pertenece necesariamente a una historia de usuario. Es una de esas prácticas ágiles poco conocidas pero muy muy útiles.

¿Para qué sirve un spike?

Un spike sirve para incluir en un sprint tareas que NO implican desarrollar una historia de usuario y por tanto NO aportan directamente un incremento al producto que se está desarrollando.

Ponte en el siguiente escenario:

Una de las historias de usuario del producto tiene que ver con mensajería dispositivo a dispositivo y aunque el equipo de desarrollo tiene mucha experiencia, nadie nunca ha hecho algo parecido.

En ese caso, durante la reunión de planificación de sprint, se deben incluir una o más tareas “spike“:

  • Alguien deberá dedicar tiempo a qué tecnologías, librerías, frameworks se están utilizando para realizar ese tipo de mensajería. Lo que viene siendo estudiar el estado del arte.
  • Es posible que sea necesario hacer algunas pruebas con esas tecnologías para ver qué posibilidades ofrecen y si valen para nuestra historia de usuario
  • Con todo el conocimiento adquirido durante el spike, se tendrán argumentos suficientes para poder estimar la historia de usuario con un mínimo de precisión y poder incluirla en el siguiente sprint

spike-scrum

Otros usos de una tarea spike dentro de un sprint de Scrum pueden ser:

  • Documentar ciertas partes muy críticas del código o del producto. Como es bien sabido, las metodologías ágiles no son muy partidarias de la documentación exhaustiva, así que, en caso de que sea necesario se puede incluir en un sprint como un spike
  • Adquirir nuevos conocimientos. A veces da la sensación de que Scrum va de hacer las cosas rápido y no parar, pero todos sabemos que en el mundo del desarrollo no sólo basta con ser ágil, sino que hay que adquirir conocimiento contínuamente. Dedicar unos días a actualizar conocimientos es algo que se puede hacer en Scrum con un spike
  • Formación interna. Parar uno o dos días, juntar al equipo de desarrollo y que compartan conocimientos es algo muy beneficioso también además de necesario. Lo suyo es incluirlo dentro de la planificación del sprint con un spike

¿Cuánto dura un spike?

Normalmente la duración de un spike debe ser como máximo la duración de un sprint, ya que debe servir para desbloquear alguna tarea o adquirir el conocimiento necesario para poder planificar el sprint posterior.

Obviamente, un spike debe estar estimado e intentar cumplir la estimación.

En definitiva, Scrum no sólo va de producir sin parar, de vez en cuando es necesario seguir aprendiendo y que el equipo tenga tiempo para otras tareas, sino Scrum no sirve.