Cómo empezar con el desarrollo ágil utilizando el marco Scrum

La base del marco Scrum fue presentada en 1986 por Hirotaka Takeuchi e Ikujiro Nonaka en un artículo de Harvard Business Review titulado “El nuevo juego de desarrollo de productos”. Los autores describieron dos enfoques para gestionar el desarrollo de productos. Algunos equipos trabajan como corredores de relevo en línea recta, pasando el testigo mientras avanzan. Otros equipos operan como jugadores de rugby en un solo partido, pasando el balón de atrás hacia adelante según sea necesario.

Takeuchi y Nonaka concluyeron que el método de carrera de relevo utilizado en el sistema de planificación por fases de la NASA estaba desactualizado. Argumentaron que el modelo de rugby proporcionaría a las empresas las herramientas necesarias para competir en un mundo comercial global.

En 1993, Jeff Sutherland, John Scumniotales y Jeff McKenna experimentaron con el desarrollo de software Scrum en la empresa de software Easel Corp. En 1995, Ken Schwaber y Sutherland, junto con otros, incluyendo a McKenna y Scumniotales, publicaron un artículo titulado “Proceso de desarrollo Scrum”. Esto provocó un cambio importante que llevó a los desarrolladores a cuestionar la eficacia del modelo clásico de desarrollo de software en cascada.

En noviembre de 2020, Sutherland y Schwaber lanzaron una versión actualizada de “La Guía Scrum”, que contiene la definición oficial de Scrum.

Relación entre Scrum y Ágil

Ágil es un enfoque de desarrollo y planificación de proyectos. Como se explica en el Manifiesto Ágil, tiene una filosofía o marco general que guía los métodos que lo subyacen. Scrum es uno de varios métodos ágiles.

Scrum puede considerarse una forma práctica de implementar Ágil. Al igual que Ágil, Scrum incluye un conjunto de valores y principios. Los equipos de desarrollo integran Scrum en su estrategia ágil para añadir una capa de especificidad.

Un principio del desarrollo ágil es que los miembros del equipo discutan regularmente cómo mejorar la eficiencia y luego ajusten su comportamiento en consecuencia. Scrum incorpora un proceso formal para ayudar a los equipos a hacer esto. Las reuniones diarias permiten al equipo reflexionar sobre lo que debe hacerse en las próximas 24 horas y adaptar su enfoque según las expectativas o obstáculos encontrados.

Otro principio ágil reconoce que el mejor trabajo proviene de equipos autodirigidos. El Scrum Master desempeña un papel clave aquí. Proporciona al equipo lo que necesita para completar el trabajo y la libertad para establecer su propio camino. Luego actúa como un líder servidor, guiando al equipo para resolver problemas, alcanzar objetivos y resolver conflictos.

Pilares y valores de Scrum

Los tres pilares de Scrum son Adaptación, Inspección y Transparencia.

  1. Adaptación. Los equipos ajustan continuamente su enfoque para resolver problemas y adoptan nuevos métodos cuando surgen nuevos problemas.
  2. Inspección. Los equipos reflexionan y evalúan constantemente su propio desempeño.
  3. Transparencia. El equipo trabaja en un entorno abierto donde todos los miembros entienden los procesos de los demás y están conscientes de los desafíos que enfrentan.

Los cinco valores centrales de Scrum

Estos valores apoyan los tres pilares:

  1. Compromiso. El equipo es autodirigido, y todos están comprometidos con completar el trabajo acordado.
  2. Coraje. El equipo opera como un todo: triunfa o fracasa juntos. Los miembros hacen lo correcto y enfrentan cuestiones difíciles.
  3. Enfoque. Las distracciones se limitan, y el equipo se concentra en el trabajo que debe hacerse hoy.
  4. Apertura. El equipo dedica tiempo a compartir lo que va bien y lo que necesita mejorarse.
  5. Respeto. Los miembros del equipo tienen diferentes fortalezas, y las fortalezas de cada persona son respetadas. Nadie es culpado al tratar de encontrar soluciones a los problemas.

Scrum es un marco de gestión de proyectos que enfatiza el trabajo en equipo, la responsabilidad y el progreso iterativo hacia objetivos bien definidos. El marco comienza con una premisa sencilla: comience con lo que se puede ver o conocer. Luego, rastree el progreso y ajuste según sea necesario.

Scrum es comúnmente parte del desarrollo de software ágil. Se nombra así por una formación de rugby en la que todos tienen un papel. Los roles de Scrum en el desarrollo de software incluyen:

  • Propietario del producto — Esta persona actúa como enlace entre el equipo de desarrollo y el cliente. El Propietario del producto asegura que las expectativas sobre el producto final se comuniquen y alineen.
  • Máster de Scrum — Conocido como el facilitador del proyecto. Asegura que se sigan las mejores prácticas de Scrum. Deben ser excelentes líderes y gestores de proyectos, hábiles en colaboración, resolución de conflictos e mejora de procesos.
  • Equipo de desarrollo — Los miembros del equipo de desarrollo de Scrum trabajan juntos para crear y probar versiones incrementales del producto final. Los desarrolladores deben comprender Scrum y las prácticas de desarrollo ágil.

What is Scrum Team? - Scrum Guide

¿Qué es el proceso de Scrum?

El proceso de Scrum anima a los profesionales a utilizar lo que tienen y evaluar continuamente lo que funciona y lo que no. La comunicación efectiva es esencial y tiene lugar a través de reuniones (llamadas «eventos»).

Los eventos de Scrum incluyen los siguientes:

Scrum Events

  • Reunión diaria (Scrum diario) — Esta es una reunión diaria breve y de pie, realizada a la misma hora y lugar todos los días. En estas reuniones, el equipo revisa lo logrado el día anterior y planifica lo que se hará en las próximas 24 horas. Es el momento en que los miembros del equipo discuten cualquier problema que pueda impedir la finalización del proyecto.
  • Sprint — Un Sprint es un periodo fijo (normalmente de 30 días) durante el cual debe completarse el trabajo. Un nuevo Sprint comienza inmediatamente después de que finaliza el anterior.
  • Reunión de planificación del Sprint — En estas reuniones, todos participan en la definición de objetivos. Como mínimo, el resultado es al menos un incremento: una parte funcional del software.
  • Revisión del Sprint — Es el momento para demostrar el incremento.
  • Retrospectiva del Sprint — La retrospectiva del Sprint es una reunión que se realiza después de finalizar el Sprint. Durante esta reunión, todos reflexionan sobre el proceso. También pueden incluirse ejercicios de trabajo en equipo. Una meta clave de este evento es la mejora continua.

¿Qué son los artefactos de Scrum?

Es útil revisar los artefactos de Scrum durante las reuniones de planificación del Sprint. Los artefactos de Scrum incluyen los siguientes:

Scrum Artifacts

  • Backlog del producto — Esta es la lista de trabajo pendiente. Durante las sesiones de refinamiento del backlog del producto, el equipo de desarrollo trabaja con el propietario del negocio para priorizar el backlog. El backlog del producto puede afinarse en un proceso llamado refinamiento del backlog.
  • Backlog del Sprint — Esta es la lista de tareas que deben completarse antes de entregar los elementos seleccionados del backlog del producto. Estas se desglosan en historias de usuario con tiempo limitado.
  • Incremento del producto — Representa lo que se completó durante un Sprint: todos los elementos del backlog del producto completados en ese Sprint, más todo lo creado en Sprints anteriores. El incremento del producto refleja el progreso realizado.
  • Gráfico de descenso — Un gráfico de descenso es una representación visual de la cantidad de trabajo pendiente. Tiene un eje Y que muestra el trabajo y un eje X que muestra el tiempo. Idealmente, el gráfico muestra una tendencia descendente a medida que el trabajo pendiente disminuye hasta cero con el tiempo.

Beneficios del método Scrum

Los beneficios principales de Scrum incluyen:

  • Productos de alta calidad — La fase de retrospectiva de Sprint del proceso Scrum se basa en el feedback y la mejora continua. Como resultado, los equipos de desarrollo que utilizan este método pueden entregar productos de alta calidad.
  • Trabajo en equipo — Scrum crea equipos cohesivos de desarrollo de software que se comunican eficazmente, cumplen plazos y resuelven problemas juntos. Los miembros se confían y se respetan mutuamente y entienden que el tiempo es valioso. Esto puede significar limitar las reuniones diarias a ventanas de tiempo estrictas. Algunos equipos de software incluyen un «sprint de hackeo» en su proceso, permitiendo a los desarrolladores explorar nuevos conceptos, probar ideas y asumir la propiedad del producto.
  • Flexibilidad — Con Scrum, los equipos deben adaptar sus herramientas y procesos a nuevas circunstancias. Las definiciones de producto pueden evolucionar a medida que avanza el desarrollo, y los equipos eficaces entregan estos cambios a través de varias iteraciones. Las reuniones regulares del Product Backlog permiten al equipo reordenar prioridades antes de que los elementos entren en un Sprint.
  • Riesgo reducido — Scrum se centra en una velocidad de entrega predecible y sostenible, y en un feedback consistente, lo que brinda a los equipos la oportunidad de reducir el riesgo temprano y con frecuencia. Si una idea no funciona, los Sprints cortos permiten al equipo fallar rápidamente, haciendo que la falla sea manejable.
  • Tiempo de mercado más corto — Scrum está diseñado para liberar productos y características en incrementos predecibles utilizando Sprints bien definidos. Liberar características no requiere completar todo el producto. Los Sprints están diseñados para añadir funcionalidad entregable con cada incremento. El producto completo compuesto por estas características se llama producto complejo.
  • Mayor retorno sobre la inversión (ROI) — Las ventajas combinadas de Scrum conducen a un mayor ROI. El feedback continuo reduce errores costosos al final del proceso y da como resultado una mejor calidad del producto con menos defectos. El tiempo de mercado más corto y las liberaciones incrementales generan ingresos más rápidamente.

Dejar una contestacion