Etiquetas

,

La historia de Scrum nace en japon  en 1986 debido a un estudio que esperaba desarrollar procesos exitosos en la creación de nuevos productos, pero no fue hasta 1993 cuando se realizo el primer proyecto de desarrollo de software basado en Scrum hasta que en 2001 un grupo de personas decidieron realizar el manifestó agil, cuyos fundamentos exponen lo siguiente:

  • Individuos e interacciones más que procesos y herramientas.
  • Software que funciona más que documentación exhaustiva.
  • Colaboración con el cliente más que negociación de contratos.
  • Responder ante el cambio más que seguimiento de un plan.


Como podemos ver los principios ágiles nos invitan a  construir software que funcione y que se pueda usar rápidamente, en vez de pasarse mucho tiempo al principio escribiendo especificaciones. El desarrollo ágil se centra en equipos multifuncionales con capacidad para decidir por ellos mismos, en vez de grandes jerarquías y divisiones por funcionalidad.

Ahora vayamos a ver rápidamente como funciona Scrum

Scrum ordena el  desarrollo en ciclos de trabajo llamados iteraciones (Sprints) que pueden tener una duración de 1 a 4 semanas, y se van sucediendo una detrás de otra. Las iteraciones  son de duración fija y terminan en una fecha específica aunque no se haya terminado el trabajo.

Planificación de la iteración (Sprint Planning)

Al iniciar cada iteración, un equipo multi-funcional selecciona los requisitos del cliente de una lista priorizada (ProductBackLog) y propone los requisitos más prioritarios a desarrollar en ella y se comprometen a terminar los elementos al final de la iteración. En el transcurso de la iteración no se pueden cambiar los elementos elegidos.

El equipo planifica la iteración ,define las tareas necesarias para poder completar cada requisito, creando la lista de tareas de la iteración (Sprint Backlog). El equipo decide a cuanto trabajo se compromete en vez de serles asignado. Esto hace que el compromiso sea más fiable porque el equipo lo está haciendo basado en su propio análisis y planificación.

Ejecución de la iteración (Sprint)

Todos los días el equipo se reúne brevemente para informar del progreso, y actualizan unas gráficas sencillas que les orientan sobre el trabajo restante.

Cada miembro del equipo debe responder las siguientes preguntas :

  • ¿Qué he hecho desde la última reunión de sincronización? ¿Pude hacer todo lo que tenía planeado? ¿Cuál fue el problema?
  • ¿Qué voy a hacer a partir de este momento?
  • ¿Qué impedimentos tengo o voy a tener para cumplir mis compromisos en esta iteración y en el proyecto?

El tablero de tareas (Scrum Taskboard)

La lista de objetivos a completar en la iteración también se puede gestionar mediante un tablón de tareas (scrum taskboard). Al lado de cada objetivo se ponen las tareas necesarias para completarlo usando  post-its, y se van moviendo hacia la derecha para cambiarlas de estado (pendientes de iniciar, en progresohechas). Para cada miembro del equipo se puede utilizar adhesivos de colores más pequeños sobre cada tarea, de manera que se pueda ver en qué tareas está trabajando cada cual.

Demostración de requisitos completados (Sprint Demonstration)

Al final del Sprint, el equipo revisa el Sprint con los interesados en el proyecto, y les enseña lo que han construido y los requisitos completados.

La gente obtiene comentarios y observaciones que se puede incorporar al siguiente Sprint.

Retrospectiva (Sprint Retrospective)

Es una oportunidad para que el equipo hable sobre lo que funciona y lo que no, y acuerden que cambios quieren intentar.

Existen tres roles dentro de un proceso Scrum:

Cliente (Product Owner)

Es el representante de todas las personas interesadas en los resultados del proyecto o consumidores finales del producto y actuar como interlocutor único ante el equipo, con autoridad para tomar decisiones. Define los objetivos del producto o proyecto y crea y mantiene la lista priorizada con los requisitos necesarios para cubrir los objetivos del producto o proyecto, conoce el valor que aportará cada requisito y calcula el retorno de la inversión a partir del coste de cada requisito que le proporciona el equipo. Antes de iniciar cada iteración replanifica el proyecto en función de los requisitos que aportan más valor en ese momento, de los requisitos completados en la iteración anterior y del contexto del proyecto en ese momento

Facilitador (Scrum Master)

Lidera al equipo velando por que todos los participantes del proyecto sigan las reglas y proceso de Scrum, facilita las reuniones de Scrum (planificación de la iteración, reuniones diarias de sincronización del equipo, demostración, retrospectiva), de manera que sean productivas y consigan sus objetivos y se segura que los requisitos se desarrollan con calidad.

Equipo (Team)

Es el grupo de personas que de  manera conjunta desarrollan el producto del proyecto.

Como conclusión los beneficios de Scrum son los siguientes:

El cliente fija sus expectativas al indicar el valor que le aporta cada requisito del proyecto y cuando espera que esté completado.

El cliente podría utilizar los resultados más importantes del proyecto antes de que esté finalizado por completo.

De manera regular el cliente puede redirigir el proyecto en según las nuevas prioridades, o según los cambios en el mercado.

De manera regular, el cliente maximiza el retorno de la inversión del proyecto.

Desde el comienzo el equipo tiene que gestionar los problemas que pueden aparecer en una entrega del proyecto de esta manera es posible resolverlas de manera anticipada.

Los miembros del equipo sincronizan su trabajo diariamente esto ayuda a resolver que se puedan presentar a otros miembros del equito durante la iteración.

Las personas trabajan más enfocadas y de manera más eficiente cuando hay una fecha límite a corto plazo para entregar un resultado al que se han comprometido.

La estimación de esfuerzo y la optimización de tareas para completar un requisito es mejor si la realizan las personas que van a desarrollar el requisito, dadas sus diferentes especializaciones, experiencias y puntos de vista.

Los resultados y esfuerzos del proyecto se miden en forma de objetivos y requisitos entregados al negocio.

Las personas están más motivadas cuando pueden usar su creatividad para resolver problemas y cuando pueden decidir organizar su trabajo.

Hoy en día Scrum es usado por empresas de todos los tamaños tales como Yahoo!, Microsoft, Google, Motorola, SAP, Cisco ….

Pueden conseguir mas información sobre Scrum en: