Do you want to switch to Platzi in English?
12

¿Cómo funciona la metodología Scrum?

62Puntos

hace 3 años

Curso de SCRUM
Curso de SCRUM

Curso de SCRUM

Conoce y aplica los conocimientos alineados al marco de trabajo más exitoso en la actualidad. Haz crecer tu negocio siendo parte de un framework efectivo y ágil que entrega el valor al instante a tus clientes.

Cuando nos encargan un proyecto, por lo general, los clientes quieren que lo entreguemos ya mismo y con una calidad impecable. También es común que nos soliciten aplicaciones cada vez más complejas, tanto en su desarrollo como en su análisis. El resultado, por lo general, es que no se lleguen a cumplir las exigencias de los clientes. Para solucionar este tipo de problemas, existe Scrum.

Aprende aquí qué es Scrum y cuáles son sus roles.

En este post, Walter Lara, estudiante de Platzi, te explicará en qué consiste esta metodología y cómo puedes empezar a aplicarla en el desarrollo de tus proyectos. Para empezar, vamos a definir el modelo de trabajo actual y más común entre desarrolladores:

El Modelo en Cascada

Scrum

Una vieja tradición en el desarrollo de software es utilizar secuencias para cada una de las etapas en las que se dividen los proyectos. Estas varían dependiendo del cliente y del equipo de desarrollo, pero, para efectos de este ejemplo, usaremos tres: diseño, desarrollo y pruebas.

Al conjunto de esta serie de pasos secuenciales se le conoce como Modelo en Cascada, y recibe este nombre porque, tal como el agua, fluye hacia abajo: tiene un flujo irreversible de trabajo que se caracteriza por un desarrollo etapa por etapa, hasta finalizar cada una de ellas.

Scrum

Estas son desarrolladas por un grupo de especialistas en el área o departamento. Sin embargo, este modelo no suele ser muy efectivo. Estos son algunas de sus complicaciones:

  • Cada departamento interpreta los requerimientos a su manera a tal grado que, al final del proyecto, no se cumple con las necesidades del cliente y se pierde tiempo en análisis, diseño y desarrollo.
  • Existe poca o nula comunicación entre departamentos. En consecuencia, existen muchas incongruencias en cada una de las etapas de los proyectos.
  • Debido a la forma en la que se lleva el proceso de desarrollo, este modelo no está preparado para hacer cambios de último momento. Por este motivo se crean atrasos y se requieren ajustes. Este problema podría ser el más importante y difícil de resolver.

¿Qué es Scrum?

Scrum es un framework que permite trabajar en una serie de interacciones en equipo. Las fases que definen y en las que se divide un proceso de SCRUM son las siguientes:

  1. El quién y el qué: identifica los roles de cada uno de los miembros del equipo y define su responsabilidad en el proyecto.
  2. El dónde y el cuándo: que representan el Sprint.
  3. El por qué y el cómo: representan las herramientas que utilizan los miembros de Scrum.

1. Roles en Scrum: quién y qué

Scrum

El equipo de Scrum consiste en tres diferentes roles:

  • El Product Owner/Dueño del productoes la “voz del cliente” y el responsable de desarrollar, mantener y priorizar las tareas en el backlog.
  • El Scrum Master es responsable de asegurarse que el trabajo del equipo vaya bien siguiendo las bases de Scrum. Además, se encarga de remover cualquier obstáculo que pueda encontrar el equipo de desarrollo.
  • Los Development Team Members/Miembros del Equipo de desarrollo son los encargados de escribir y probar el código.

2. El Sprint: dónde y cuándo

Scrum

El Sprint es la unidad básica de trabajo para un equipo Scrum. Esta es la característica principal marca la diferencia entre Scrum y otros modelos para el desarrollo ágil. Es una simple iteración llevada a cabo por los miembros del equipo. Un equipo puede completar varios sprints durante el desarrollo del proyecto. Un Sprint inicia con un equipo que se compromete a realizar el trabajo y finaliza con la demostración de un entregable. El tiempo mínimo para un Sprint es de una semana y el máximo es de 4 semanas. Dentro del desarrollo de un Sprint se llevan a cabo ciertos eventos, estos reciben el nombre de Scrum Events o Eventos Scrum. Estos son:

1. Planeación del Sprint/Sprint Planning

Todos los involucrados en el equipo se reúnen para planificar el Sprint. Durante este evento se decide qué requerimientos o tareas se le asignará a cada uno de los elementos del equipo. Cada integrante deberá asignar el tiempo que crea prudente para llevar a cabo sus requerimientos. De esta manera se define el tiempo de duración del Sprint.

2. Reunion de Equipo de Scrum/Scrum team meeting

A estas reuniones se les deberían dedicar máximo 15 minutos diarios, y deberían ser siempre en el mismo horario y lugar. En ellas, cada miembro del equipo deberá responder tres simples preguntas:

  • ¿Qué hiciste ayer?
  • ¿Qué tienes planeado hacer hoy?
  • ¿Qué obstáculos encontraste en el camino?

Estas reuniones sirven para que todos los miembros del equipo se apoyen entre ellos. Si alguno de ellos tiene algún inconveniente que obligue a extender el encuentro, este debe tratarse más a fondo en una reunión enfocada en buscar la mejor solución para ello.

3. Refinamiento del Backlog/Backlog Refinement

El Product Owner revisa cada uno de los elementos dentro del Product Backlog con el fin de esclarecer cualquier duda que pueda surgir por parte del equipo de desarrolladores. También sirve para volver a estimar el tiempo y esfuerzo dedicado a cada uno de los requerimientos.

4. Revisión del Sprint/Sprint Review

Los miembros del equipo y los clientes se reúnen para mostrar el trabajo de desarrollo de software que se ha completado. Se hace una demostración de todos los requerimientos finalizados dentro del Sprint. En este punto no es necesario que todos los miembros del equipo hablen, pueden simplemente estar presentes, pero la presentación está a cargo del Scrum Master y el Product Owner.

5. Retrospectiva del Sprint/Retrospective

En este evento el Product Owner se reúne con todo su equipo de trabajo y su Scrum Master para hablar sobre lo ocurrido durante el Sprint. Los puntos principales a tratar en esta reunión son:

  • Qué se hizo mal durante el Sprint para poder mejorar el próximo.
  • Qué se hizo bien para seguir en la misma senda del éxito.
  • Qué inconvenientes se encontraron y no permitieron poder avanzar como se tenía planificado.

3. Herramientas Scrum: por qué y cómo

Para poder definir las respuestas a estas preguntas nos valemos de ciertas herramientas que Scrum nos provee. Estas son:

Backlog de Producto/Product Backlog

Esto puede referirse a todo elemento que sea parte del proyecto: puede ser un bug, una referencia o parte de un requerimiento. Brindan información muy general del proyecto y muchas veces no son tomados como requerimientos oficiales.

Historias de Usuario/User Stories

Es un elemento especial del product Backlog. Se llaman historias porque en ellas se proporciona información sobre cómo debe ser el comportamiento del requerimiento que se está trabajando. Su función es proporcionar información directa del cliente en caso de existir algún cambio. Generalmente estos sí son tomados como requerimientos oficiales.

Backlog del Sprint/Sprint Backlog

Es el conjunto de elementos tomados del Product Backlog que fueron priorizados, medidos y aceptados en las reuniones de Sprint Planning. Estos, en conjunto con sus respectivos User Stories, forman oficialmente los requerimientos a elaborar en cada uno de los Sprints que tendrá el proyecto.

El panel de Tareas/The Taskboard

Este panel muestra las tareas que tienen asignadas los miembros del equipo. Esta tabla se divide en tres columnas que representan el estado de la actividad:

a. Por hacer.
b. Haciendo.
c. Terminado.

Al inicio del Sprint todas están en la primer columna. Cuando una tarea pasa a la segunda columna, el Scrum Master y el Product Owner son notificados respecto a qué está haciendo cada miembro del equipo y cuánto tiempo lleva trabajando en dicha tarea. Al finalizarla, esta debe cambiarse a la última columna. Esto quiere decir que está listo para que QA haga las pruebas necesarias.

Definición de “Listo”/Definition of Done

Todo equipo eficaz y ágil tiene ciertos acuerdos que deben cumplirse antes de dar por finalizado un proyecto. Estos son:

  • Todas las tareas están completas.
  • Revisión de Código / Code Reviewed.
  • Pruebas realizadas a cada elemento desarrollado.
  • Revisión por parte de los clientes (que cumpla sus necesidades).
  • La revisión de las condiciones de Aceptación por parte del Product Owner.

Estas herramientas son útiles, no sólo durante un Sprint, sino también a lo largo del proyecto, pues ayudan al equipo a entender el porqué de cada actividad. Además, son visibles para el equipo y para los externos.

En resumen, Scrum es una metodología aplicable a cualquier tipo de proyecto y, aunque su ejecución requiere de un cambio de cultura laboral por parte de los miembros del equipo, los buenos resultados, el recorte de tiempo y de costos que se genera hacen que todo el sacrificio valga la pena.

Si quieres saber más acerca de cómo empezar a implementar esta metodología en tus proyectos, entra al Curso de Scrum y no te pierdas ningún detalle.

Curso de SCRUM
Curso de SCRUM

Curso de SCRUM

Conoce y aplica los conocimientos alineados al marco de trabajo más exitoso en la actualidad. Haz crecer tu negocio siendo parte de un framework efectivo y ágil que entrega el valor al instante a tus clientes.
walter.lara.37
walter.lara.37
Escribe tu comentario
+ 2
Ordenar por:
1
1038Puntos

Buen post. La verdad mientras estaba en la escuela nos enseñaron la metodología en cascada. Pero no es nada adaptable y ágil como nos describes que es Scrum. 👏Se escucha genial el curso

0

Hola que tal?. Esta metodologia tambien se puede aplicar a desarrollo de productos fisicos distintos a software.?

0
13163Puntos
un año

Scrum inicialmente fue desarrollado inicialmente para la gestion y desarrollo de software; pero tambien aplica:

1.-Investigar e identificar mercados viables, tecnologías y capacidades de productos;
2.-Desarrollar productos y mejoras;
3.-Liberar productos y mejoras tantas veces como sea posible durante el día;
4.-Desarrollar y mantener ambientes en la Nube (en línea, seguros, bajo demanda) y otros entornos operacionales para el uso de productos; y
5.-Mantener y renovar productos.

0
586Puntos

Importante

0
9105Puntos

Esta metodología serviría para proyectos en que el cliente solicita un presupuesto en tiempo y costo?

Si es así, ¿en qué parte del proceso se aplicaría y cuál sería la manera correcta?

0
2Puntos

Buen artículo, aunque me quedaron 2 dudas, una ya lo contesté gracias a otro blog :p pero la comparto por si a alguien le interesa. Y la otra duda aún la tengo pendiente.

  1. ¿Cuál es la diferencia entre user stories y requerimientos “tradicionales” como los casos de uso? Encontré más info aquí: http://internet80.com/blog/el-tamano-importa-historias-de-usuario-user-stories/

  2. En otros lugares he leido que Scrum NO una metodología, sino un framework ¿por qué aquí le llaman metodología? ¿cuál es la diferencia?

Gracias!