SCRUM

SCRUM – Proyectos Agiles

La palabra Ágil ya no es más un murmullo, los retornos inmediatos son lo que la han hecho popular. La filosofía básica del enfoque ágil busca acomodar los cambios. Sabemos que las ideas comienzan a verter cuando de hecho vemos un producto funcionando.

¿Que es SCRUM?

SCRUM es un proceso en el que se aplican de manera regular un conjunto de buenas prácticas para trabajar colaborativamente, en equipo, y obtener el mejor resultado posible de un proyecto. Estas prácticas se apoyan unas a otras y su selección tiene origen en un estudio de la manera de trabajar de equipos altamente productivos.

Implementar SCRUM implica un cambio de la forma de pensar en la organización de una empresa o equipo de trabajo.

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:

  • El ¿Quién? y el ¿Qué? identifica los roles de cada uno de los miembros del equipo y define su responsabilidad en el proyecto.
  • El ¿Dónde? y el ¿Cuándo? que representan el Sprint
  • El ¿Por qué? y el ¿Cómo? Representan las herramientas que utilizan los miembros de SCRUM

Photo credit: Gordon McKinlay via Foter.com / CC BY-NC-SA

En SCRUM se realizan entregas parciales y regulares del producto final, priorizadas por el beneficio que aportan al receptor del proyecto. Por ello, SCRUM está especialmente indicado para proyectos en entornos complejos, donde se necesita obtener resultados pronto, donde los requisitos son cambiantes o poco definidos, donde la innovación, la competitividad, la flexibilidad y la productividad son fundamentales.

La palabra SCRUM viene de las “melés” en español que se forman en rugby, ya que el trabajo en equipo es esencial.

Metodologías Ágiles

Una metodología esta basada en el trabajo incremental e iterativo. Su biblia es el Manifiesto Ágil con unos principios ágiles “Agile Manifesto” que lo veremos mas adelante. Este surgió a partir de los líderes en la gestión de proyectos a lo largo de todo el mundo que vieron la necesidad de crear algo nuevo que cubriera mejor sus necesidades que lo que había prestablecido hasta ahora.

Importante: El movimiento ágil surgió en gran medida para cubrir necesidades de proyectos de desarrollo de software.

¡Para entender, Modelo Ágil!

Por un momento piensa en eso que no puedes hacer en un modelo en cascada, es decir en proyectos con requerimientos cambiantes, predispuestos al cambio, flexibles, cuyo desarrollo y mantenimiento se adapten según las necesidades, depositando una gran confianza en los equipos de trabajo suponiendo que son auto-suficientes.

Todo ello organizando el trabajo en “Time-Boxes” iterativos.  

Eso es una metodología ágil.

De esta forma lo que se gana es rapidez en la entrega de un producto de calidad aunque sea por fases, es decir, el primer ciclo de trabajo ya produciría un entregable, una versión Beta por así decirlo, que si bien no cumpliría con todas las funcionalidades requeridas por el cliente, es decir, podríamos tacharlo como un prototipo, permitiría al cliente hacerse una mejor idea de lo que tiene y de las cosas a mejorar; tras esta primera entrega pueden redefinirse requisitos que se traduzcan en requerimientos, y en el segundo ciclo de trabajo el equipo ya no tendría que partir de cero, tendría una base sólida para crear algo más rápido una nueva versión del producto con nuevas ó mejoradas funcionalidades.

¡Para entender, Modelo Tradicional!

En el modelo tradicional de cascada, el proyecto fluye de arriba hacia abajo, justo como una cascada, por ejemplo el equipo del proyecto debe seguir una secuencia. Los pasos que se siguen uno detrás del otro son: los requisitos, el diseño, la implementación, las pruebas, la instalación, y el mantenimiento, etc…

SCRUM | Proyecto Ágil.

Períodos de tiempo conocidos como iteraciones. Una iteración se divide en SCRUMS y SPRINT.

SCRUM | Conceptos Generales.

  • Una Iteración en general abarca de dos a cuatro semanas y generalmente se completa con la una entrega, en general, la primera iteración se usa para realizar el alcance y plan preliminar, y un diseño inicial. Una ventaja de las iteraciones de este modelo es que las modificaciones necesarias se incorporan en el software sin sorpresas de último minuto.
  • Un Sprint es la unidad básica de trabajo para un equipo SCRUM. Esta es la característica principal que marca la diferencia entre SCRUM y otros modelos para el desarrollo ágil. Sprint 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 tiene una duración de dos a cuatro semanas, y contiene un producto en progreso con una lista de casos o historias de usuario tomadas del log del producto (o feature backlog en inglés), cada día, en un Sprint, ocurre una reunión diaria que se hace de pie con el equipo, conocida también como el SCRUM diario. Esto ayuda a dar a conocer el estado actual, y a resolver cualquier cosa que bloquee el proyecto.
  • SCRUM de SCRUMS es el término SCRUM de SCRUMS aplica normalmente a un proyecto que consiste de varios equipos, dado que ayuda a resolver situaciones y dependencias entre los distintos equipos. Involucra representantes de cada equipo, y normalmente el SCRUM Master representa a su equipo durante la reunión. En general esto ocurre diariamente luego del SCRUM diario.

Importante: La ventaja de los métodos ágiles es que incorpora el cambio a sus procesos, en lugar de simplemente gestionarlos, eliminando la burocracia existente entre identificar un cambio y decidir qué hacer al respecto.

Sprint Planning

Todos los involucrados en el equipo se reúnen para planificar el Sprint, durante la sesión se decide qué requerimientos o tareas se le asignará a cada uno de los elementos del equipo. Cada integrante del equipo 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.

SCRUM | Team Meeting

Estas sesiones son importantes y que se deben realizar diariamente y con una duración de 15 minutos máximo, es muy recomendable que sea en el mismo horario y lugar, cada integrante del equipo deberá responder tres simples preguntas:

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

Estas reuniones sirven para que todos los integrantes 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.

SCRUM | Ciclo de Vida.

El ciclo de vida de un proyecto en SCRUM Consiste en tener un “Product Backlog”, que es un paquete de requisitos del cliente/sponsor, el “Product Owner”, descomponerlo en varios “Sprint Backlog”, paquetes de trabajo más pequeños y manejables de los requisitos, y para realizarlos se iteran distintos “Sprint” de trabajo, que pueden ir desde las 24 horas a 30 días. Finalmente lo que resulta de este proceso es un producto final que se ha ido formando a partir de pequeños incrementos y mejoras constantes. Repitiéndolo para cada “Product Backlog” obtendríamos el producto final.

SCRUM | Los Roles.

Los roles principales de los equipos de SCRUM son el SCRUM Master, el Dueño del Producto, y el Equipo:

  • Scrum Master es el rol diferente al del  líder del proyecto. Es la persona que coordina y mantiene los procesos. Es quién facilita los procesos de SCRUM y coordina con el dueño del producto y con el equipo de desarrollo, además, se encarga de remover cualquier obstáculo que pueda encontrar el equipo de desarrollo
  • Dueño del Producto (Product Owner), es un interesado clave que representa al usuario final y sirve como un vínculo entre el equipo del proyecto y el cliente. Es quién prioriza los requisitos. Responde a las preguntas del equipo y le da dirección al equipo, es la “voz del cliente”
  • Equipo (Development Team Members) son los encargados de escribir y probar el código.

SCRUM | Master

Completando a lo antes mencionado, no es el mismo papel  que la del “Project Manager” de un PMP o PRINCE2. es rol es más, la de un asistente del proceso que conduce las sesiones, aconseja al “Product Owner” sobre la visión y objetivos finales, y asegura el uso de SCRUM para el Proyecto.

SCRUM | Beneficios en Adoptarlo.

  • Mejor manejo de errores de análisis y diseño
  • Mejor gestión de cambios
  • Mayor motivación y desempeño del equipo de trabajo
  • Mayor calidad

Photo credit: alq666 via Foter.com / CC BY-SA

SCRUM | Entregables

Si los Entregables cumplen con los criterios de aceptación definidos por el Dueño del Producto, y este los  los acepta, entonces reinicia el ciclo, una de las ventajas de usar SCRUM es que siempre se está pensando en mejorar por eso es importante siempre al final de cada Sprint realizar una reunión de retrospectiva.

SCRUM | Certificado

Obtener el título de SCRUM Máster solo hay que pasar un examen que otorgan el título PSM-Profesional SCRUM Máster.

El Manifiesto Ágil

En las Metodologías Ágiles de software hacen foco en las personas para crear los mejores equipos que, a su vez, sean capaces de crear el mejor software posible para un cliente. El Manifiesto Ágil es la expresión que define esta forma de pensar. Detrás del Manifiesto existen varios Principios que impulsan y guían al desarrollo Ágil.

Los principios del Manifiesto:

  • Nuestra máxima prioridad es satisfacer al cliente a través de entregas tempranas y continuas de software valioso.
  • Le damos la bienvenida a los requerimientos cambiantes, incluso aunque aparezcan tarde en el desarrollo.
  • Los procesos Ágiles aprovechan al cambio para crear una ventaja competitiva en el cliente.
  • Entregamos software funcionando frecuentemente, entre un par de semanas a un par de meses, prefiriendo los tiempos más cortos.
  • Las personas del negocio y los desarrolladores deben trabajar juntos diariamente a lo largo de todo el proyecto.
  • Construimos proyectos sobre individuos motivados. Les damos el lugar y el apoyo que necesitan, y confiamos en ellos para hacer el trabajo.
  • El método más eficiente y efectivo de recolectar información para y dentro de un equipo de desarrollo es la conversación cara-a-cara.
  • La principal métrica de avance es el software funcionando.
  • Los procesos Ágiles fomentan el desarrollo sustentable.
  • Los sponsors, los desarrolladores y los usuarios deberían ser capaces de un ritmo constante de forma indefinida.
  • Mejoramos la Ágilidad prestando continua atención a la excelencia técnica y al buen diseño.
  • La simplicidad – el arte de maximizar la cantidad de trabajo que no se hace – es esencial.
  • Las mejores arquitecturas, requerimientos y diseños emergen de los equipos auto-gestionados.
  • A intervalos regulares, el equipo reflexiona sobre cómo ser más efectivo, y luego ajusta su comportamiento de forma acorde.

El Manifiesto Ágil  “Estamos descubriendo mejores formas de desarrollar software al hacerlo Ágil y al ayudar a otros a que lo hagan. A través de este trabajo hemos llegado a valorar:”

Importante: Las prácticas Ágiles se enfocan en priorizar los componentes del producto que proporcionen “mayor valor” a los usuarios, donde valor significa cumplir sus necesidades u objetivos de negocio.

¿Tienes Telegram instalado? Recibe este Post en nuestro canal

Conclusión del Autor

  • Las metodologías tradicionales se centran en la planificación, mientras que las Ágiles ponen su foco en la ejecución.
  • El Project Manager tradicional de un PMP, PRINCE2, etc, es una figura que controla el proyecto y dirige a los miembros del equipo.
  • El SCRUM Master En lo mundo Ágil, los equipos están auto-organizados y auto-dirigidos.

Una posee líneas base de tiempo, coste y alcance, la otra es adaptable al cambio, y su restricción principal es la calidad del producto y la rapidez…

Fuentes de información para el presente Post: www.pmi.org | www.iso.org | www.scrum.org 

Nos leemos pronto, un abrazo!!!

Categories: SCRUM

Tagged as:

1 reply »

Deja un comentario

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