Plataforma

Metodologías ágiles en desarrollo de software – Scrum

Metodologías ágiles en desarrollo de software – Scrum

Debido a la diversidad de tipos de proyectos a los que hace frente Yunbit diariamente, nos hemos visto obligados a poner en marcha diversas metodologías ágiles con el fin de poder agilizar los diferentes proyectos a los que hacemos frente diariamente.

A través de una serie de artículos, que publicaremos en este mismo blog, hablaremos de las 3 metodologías ágiles más usadas actualmente (Kanban, Scrum y Programación Extrema), y que hemos valorado para poner en marcha junto a nuestro equipo. En este primer artículo comenzaremos hablando de Scrum.

En general… podemos decir que las metodologías ágiles son una serie de técnicas utilizadas para la gestión de proyectos, ya sean proyectos software o no.

Las denominadas como “ágiles”, cumplen un manifiesto creado en el año 2001, el cual define una serie de principios que se agrupan en 4 valores:

  1. Los individuos y su interacción, por encima de los procesos y las herramientas.
  2. El software que funciona, por encima de la documentación exhaustiva.
  3. La colaboración con el cliente, por encima de la negociación contractual.
  4. La respuesta al cambio, por encima del seguimiento de un plan.

Hablemos de una de las más utilizadas, Scrum.

¿Qué es Scrum?

Esta metodología fue creada por Ikujiro Nonaka e Hirotaka Takeuchi, y con la que aplicando un conjunto de buenas prácticas para trabajar colaborativamente, conseguimos obtener los mejores resultados. A su vez, está basado en los principios de inspección continua, adaptación, auto gestión e innovación.

Podemos definir el proceso de Scrum en diferentes pasos:

Definición del Backlog

En esta primera fase, se definen todas y cada una de las necesidades del producto, creando así un listado de tareas sobre las que trabajar. Es imprescindible que este trabajo previo (actualmente necesario para cualquier tipo de proyecto), se haga de la manera más detallada. De esa forma, podremos saber el alcance el proyecto así como estimar los recursos necesarios.

Definición del Sprint y Sprint Planning

Un Sprint, es la definición de un rango de tiempo, al que le serán asignados diferentes ítems de nuestro backlog, también llamado Sprint Backlog. La duración del Sprint se definirá en el Sprint Planning, pero comúnmente se le asignan 2 semanas de duración. El Sprint Planning, es la primera reunión, donde se planificará y se enfocará el proyecto, se asignarán los diferentes “features” y se definirán las etapas y plazos.

Daily Scrum

Una vez iniciado el Sprint, diariamente se realizarán reuniones llamadas Daily Scrum. Estas reuniones serán de corta duración y responderán a las diferentes cuestiones cada uno de los miembros del equipo:

  1. ¿Qué hice ayer?
  2. ¿Qué voy a hacer hoy?
  3. ¿Necesito alguna ayuda?

Sprint Retrospective

Una vez finalizado el Sprint, a través de una reunión se estudiará el proyecto para sacar en claro los avances del mismo así como los posibles problemas.

¿Que figuras existen dentro de un equipo de Scrum?

Por un lado tenemos el Product Owner, que será el encargado de hablar por el cliente y hacer que se cumplan los plazos.

Scrum Master, el cual liderará las reuniones y apoyará al equipo de desarrollo con sus problemas. Esta figura puede tomar varias posiciones, bien facilitar las tareas, o bien gestionar y facilitar. Dependerá de la estructura y recursos de la empresa.

Los integrantes del equipo de desarrollo serán el Scrum Team.

Y por último, el cliente, el cual podrá incluir en el proceso aportando ideas y comentarios, aunque es posible que esta figura no exista directamente, debido a que la comunicación entre cliente y empresa la gestione un integrante del equipo.

Podríamos definir el funcionamiento de Scrum a través de esta gráfica:

 

Gráfica SCRUM

 

Ventajas y desventajas de SCRUM

Ventajas

  • Obliga a la definición de requisitos del proyecto
  • Establece tiempos
  • El equipo sabe lo que tiene que hacer en cada momento
  • El cliente está informado
  • Rápida detección de posible problemas
  • Flexibilidad de cara al cliente
  • Proceso de mejora continua

Desventajas

  • En caso de que el Scrum Team, tenga tareas fuera del sprint, hay que contar con ello a la hora de asignar tareas y tiempos.
  • No está pensado para proyectos y equipos grandes.
  • El equipo debe de ser multidisciplinar.
  • Requiere experiencia del equipo para estimación de tiempos.

En Yunbit hemos tomado la decisión de poner en práctica esta metodología para el desarrollo de nuestros proyectos de clientes debido a que se adapta a los requisitos de los mismos. De esta forma podremos conseguir mejorar los plazos de entrega, ganar flexibilidad de cara al cliente y vivir en un proceso de mejora continua.

En el siguiente post hablaremos de Kanban, otra metodología fácil y muy útil en prácticamente cualquier entorno de trabajo.

Autor: Francisco Redondo. Antes Desarrollador Full Stack en Yunbit.

Valora el artículo:

1 Estrella2 Estrellas3 Estrellas4 Estrellas5 Estrellas (2 valoraciones, media: 5,00 sobre 5)
Cargando...
Avatar photo Francisco Redondo Desarrollador Full-Stack Ver más artículos de Francisco Redondo
2 Comentarios en “Metodologías ágiles en desarrollo de software – Scrum”
José L C. VALVERDE says:

Simplemente: sencillo, eficaz y fácil de implementar, siempre q el equipo sea experto y no haya demasiada dispersión en las ideas, pq obligaría continuamente a corregir.
Un / unos artículos muy interesantes, esto promete….deseando estoy de leer el siguiente.
Enhorabuena.

David says:

Muy buen post!! Muy bien explicado. A mi también me gustan las metodologías ágiles. Acabo de escribir un post al respecto. Si te apetece leerlo, te adjunto el link.
http://blog.conectart.com/metodologias-agiles/
Un saludo
David

Otros artículos de la categoría Actualidad