fcbk
Conéctate con TwitterConéctate con Facebook
0

Cómo funciona la metodología de trabajo Scrum

0Puntos

hace 2 años

En la actualidad, todo proyecto debe entregarse lo más rápido posible y con una calidad impecable. Y el desarrollo de software no se queda atrás. Es común que los clientes (internos o externos) soliciten aplicaciones cada vez más complejas, tanto en su desarrollo como en su análisis. Como resultado, son muchas las ocasiones en las que no se llegan a cumplir las necesidades de los clientes. Pero para solucionar este tipo de problemas, existen soluciones como Scrum. En este artículo te explicaré en qué consiste esta metodología y cómo puedes empezar a aplicarla en el desarrollo de tus proyectos. Pero empecemos definiendo 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 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. Recibe este nombre porque tal como el agua fluye hacia abajo; esta se caracteriza por un flujo irreversible de trabajo, 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. Por consecuente, 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. En consecuencia, se crean atrasos y ajustes. Este problema podría ser el más importante y difícil de resolver.

¿Qué es Scrum?

Scrum es un framework para trabajar en equipo en una serie de interacciones. Las fases en las que se divide y define 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? ¿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. Planeamiento 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

Estas reuniones se deben realizar diariamente con un máximo de 15 minutos. 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 tome más tiempo del asignado en resolverse; 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 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é? ¿Cómo?

Para poder definir las respuestas a estas preguntas, se hace uso 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. Son llamados Historias porque en ellos se proporciona información sobre cómo debe ser el comportamiento del requerimiento que se está trabajando. De igual manera, proporciona 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

El panel de tareas muestra todas y cada una de las tareas que tienen asignadas cada uno de los miembros del equipo. Esta tabla se divide en tres columnas que representan el estado de la tarea:

  1. Por hacer
  2. Haciendo
  3. Terminado

Al inicio del Sprint todas están en la primer columna. Al momento de pasar una tarea a la columna número dos, indicará al Scrum Master y al Product Owner qué está haciendo cada miembro del equipo y cuánto tiempo lleva trabajando en dicha tarea. Al finalizar la tarea, 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 que ayudan a lo largo del proyecto, ya que ayudan al equipo a entender por qué hacen lo que están haciendo. Son visibles para cada uno de los miembros del equipo y para las personas que están fuera también. Scrum no es más que una metodología que puede ser aplicable a cualquier tipo de proyecto. Aplicarlo requiere de un cambio de cultura laboral por parte de cada uno de los miembros que compondrán dicho equipo. Pero cuando el resultado sea hacer bien los proyectos en el menor tiempo posible y al menor costo, todo el sacrificio habrá valido la pena.

Si quieres saber más acerca de cómo empezar a implementar la metodología Scrum en tus proyectos, entra al Curso de Metodologías Ágiles y SCRUM ya mismo.

walter.lara.37
walter.lara.37
@walter.lara.37

0Puntos

hace 2 años