En pocas palabras: Scrum

El Scrum es «un proceso de desarrollo de software iterativo e incremental utilizado en entornos basados en el desarrollo ágil de software«.

El término Scrum está tomado del deporte y es una de las tácticas de juego de los equipos de Rugby, la que «forma un túnel para que los jugadores de la primera línea puedan luchar por la posesión de la pelota y para la que es fundamental que todos los jugadores comprendan las técnicas correctas de su posición».

SCRUMbiko

El “Product Owner” (Dueño de producto) es el que soporta la responsabilidad de que el producto genere beneficios mientras se asegura de que durante el desarrollo se contemplan todos los requerimientos que configuran la Pila del producto (Product Backlog), y acepta o rechaza los resultados presentados por el equipo.

El “Scrum Master” es «el facilitador», el que coordina las actividades, promueve la efectividad y productividad del equipo, y  elimina impedimentos y lo protege de las injerencias externas que puedan distraerlo.

El equipo: Son los equipos fijos de diseñadores, programadores y desarrolladores de software que implementan el producto, y asumen y realizan las tareas que se encuentran en Pila de cada sprint (Sprint Backlog). El equipo se autoadministra y para ello cada miembro del equipo -que debe conocer con detalle los requerimientos- tiene que «autoasignarse» para acometer tareas de la pila que, con una duración concreta,  puedan ser realizadas entre las reuniones diarias.

Planificación del sprint: Lo primero es planear para definir el objetivo -una meta SMART– de cada sprint, y realizar un desglose de los requerimientos y hacer las estimaciones de cuántas metas pueden alcanzarse durante ese sprint.,
De este modo se determinan las tareas de programación necesarias para cumplir con cada uno de los requerimientos que hay que realizar, es decir,  aquellas a las que un miembro del equipo se puede comprometer a terminar de un Scrum diario a otro.

La revisión diaria: Consiste en realizar un Scrum diario de 15 minutos, sin interrupciones y total transparencia. No supone rendir cuentas al modo tradicional, es más una declaración de intenciones que presupone una alta implicación. Estas reuniones requieren un compromiso personal para comunicar lo que se ha hecho entre el anterior Scrum y este, lo que se va a hacer entre este y el siguiente y qué impedimentos existen para poder conseguirlo… Es el momento de algunas reestimaciones y de que los impedimentos queden registrados para que el «Scrum Master» los haga desaparecer.

Durante la Revisión de cada final de sprint se realiza una demostración de las funcionalidades al dueño de producto y se prevee la adaptación a los posibles nuevos requerimientos.
Después de cada revisión, se realiza una Retrospectiva del sprint en la que el equipo se reúne para evaluar el sprint recién terminado en la que se determina el «Qué se puede aprender de lo que acabamos de hacer, para mejorar lo que esta por empezar».

Algunas de sus ventajas…

  • Es ágil en cuanto a la incorporación de cambios.
  • Permite ponerse a trabajar prácticamente desde la entrada del proyecto, y obtener resultados funcionales a corto plazo.
  • Permite al cliente estar al tanto de los avances del proyecto y conocer lo que se está haciendo y cómo se está haciendo.
  • Prioriza los requerimientos de forma realista y agiliza la ejecución del proyecto, que se aborda en fases muy cortas, muy definidas y transparentes.
  • Promueve la adaptación al cambio asumiendo que es una constante universal, y en particular, de este tipo de proyectos.
  • Revisa los inconvenientes frecuentemente, evitando las demoras y el bloqueo en el equipo.
  • Protege al equipo de trabajo de interrupciones e interferencias para que sea efectivo, e incentiva la creatividad de quien se auto-administra.
  • Evita la burocracia y la documentación innecesaria sustituyéndola por equipos más funcionales, que generan la documentación imprescindible:
    • La que refleja la pila de producto y la priorización de los requerimientos
    • La que refleja la  pila de cada sprint con las tareas priorizadas
    • La Gráfica de Burndown que refleja diariamente las estimaciones de cada tarea y presenta de forma visual y casi a tiempo real el progreso del proyecto.