Metodologías de desarrollo ágil: Scrum

Metodologías de desarrollo ágil: Scrum

Para terminar con mi serie de artículos sobre metodologías de desarrollo ágil de páginas web, le llega el turno a Scrum. Probablemente muchos de vosotros ya conozcáis Scrum aunque sea por fotos. La estampa clásica es la de una pizarra o panel de cristal llena de postits.

Scrum es un sistema de desarrollo de software y gestión de equipos con innumerables ventajas. Principalmente, se basa en la creación y asignación de tareas, normalmente escribiéndolas en un postit de determinado color. Esta tarea entrara en un sistema iterativo que controlará los cambios de estado de la tarea, hasta que esta resulta completada y se descarta del panel de scrum.

A nivel práctico funciona de la siguiente manera:

  • Cada cierto periodo de tiempo fijo, denominado Sprint (un mes, 15 días, una semana), se fijan las tareas que deben ejecutar cada uno de los equipos que colaborar en el desarrollo.
  • Estas tareas se incorporan a un panel que controlará su estado de realización (normalmente algo parecido a «por hacer», «en progreso»,»pendiente de revisión» y «terminado»)
  • Cada día se celebra una reunión rápida (se recomienda que sea de pie y no más de 10 minutos), llamada Daily Scrum, en la que se habla del estado de las tareas y se cambian de un estado a otro según sea necesario.
  • En esta reunión solo se hablará del estado de las tareas, cualquier otra duda, consulta o conversación se aplazará para otras reuniones.
  • Al principio de la siguiente reunión de asignación de tareas, se comprobarán, medirán y discutirán los resultados obtenidos en el periodo anterior.

A groso modo un Scrum funciona más o menos así. Evidentemente se puede complicar más o menos añadiendo o quitando estados de tareaso documentación generada por las reuniones.

Las virtudes de Scrum son muchas porque permite conocer en un vistazo rápido cual es el estado general de las cosas, detectando rápidamente que tareas se han quedado atascadas o qué equipos no están rindiendo al nivel que se esperaba.

Es un método de desarrollo ágil ideal para entornos con mucha incertidumbre en cuanto al trabajo a realizar, en los que las tareas cambian muy rápidamente y son susceptibles de olvidarse.

La principal desventaja de Scrum es que las reuniones y la asignación de tareas deben estar controladas por un líder que conozca y comparta este sistema de trabajo.

A todo el mundo le gusta tener visión y control, por lo que Scrum es sin lugar a dudas la metodología de desarrollo ágil más sencilla de comprender y de implantar en las empresas, ya que tiene los suficientes puntos en común con las metodologías de desarrollo tradicionales para superar la resistencia de la cultura empresarial pero a la vez es lo bastante flexible como para resultar efectiva.

¿No paras en todo el día y aún así no llegas a todo?

Curso de productividad personal
Guía para trabajar de forma más inteligente
Consigue totalmente GRATIS estas 10 lecciones directamente aplicables a tu trabajo para aprovechar mejor tu tiempo y dejar de agobiarte por tener demasiado que hacer.

Ya hay 4 comentarios en este artículo. ¡Tu opinión me interesa!

  • Anónimo says:

    Muy buen artículo Dani

    • Daniel Grifol says:

      Me alegro mucho de que te haya gustado :)

  • Inge says:

    Está bastante bien, pero te has dejados atrás algunos puntos que yo veo bastante importantes.
    Por un lado, la disposición de los programadores debe ser en el centro de la habitación para facilitar una comunicación fluida, y además dejar las paredes para mantener en todo momento la información relevante para el proyecto (Las paredes son útiles).
    Por otro lado debe haber una persona que sea 50% programador y 50% coacher, lo normal es que sea la persona de mayor experiencia. Su función es resolver los problemas que surjan a sus compañeros.

    Esos son los dos puntos que te faltan y q veo indispensables.

    • Daniel Grifol says:

      Muchas gracias por tu comentario Inge, muy interesante.

      Por un lado, la disposición de los programadores me parece un apunte interesante. Es más, añadiría que el panel de Scrum debe estar visible en todo momento. Las paredes son útiles, es cierto, pero el concepto útil difiere mucho de unas personas a otras. Debe ser el coordinador del proyecto el que determine que información debe estar visible para evitar la «infoxicación» del equipo.

      Respecto a quien debe dirigir el Scrum, estoy de acuerdo en que no puede ser un programador cualquiera. Doy por sentado que una persona a cargo de un equipo de programadores debe saber de programación y de gestión de equipos. Esto incluye coaching, management, análisis y un grado extra de motivación personal.

      Desde mi punto de vista, la persona con más experiencia no es siempre la más apta para dirigir un equipo. Es un tema muy espinoso, lo se, pero he acabado creyendo en ello a lo largo del tiempo.

      Un saludo!

Deja un comentario ¡Tu opinión me interesa!

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Ya casi somos 5.000 trabajadores inteligentes. ¿Te unes a nosotros?