Framework Scrum
¿Qué significa Scrum?
La palabra Scrum proviene del Rugby.
En el diccionario podemos encontrar la siguiente definición: «Una formación ordenada de jugadores».
En este juego cada jugador contribuye apoyando a otro para ayudar a que «El Equipo» gane.
Para esto, se observan los movimientos del rival adaptándose a ellos de la forma más rápida posible.
Por otro lado, quien dirige al equipo no puede jugar el partido, pero su rol es importante a la hora de guiarlos sobre cómo manejar la pelota, además es quién empodera a sus integrantes para que puedan tomar las decisiones por sí mismos.
¿Qué es el Framework de trabajo Scrum?
El Scrum Framework es un marco de trabajo utilizado para desarrollar productos complejos.
La base de Scrum es el Pensamiento Lean y el Control Empírico de procesos, es decir, la transparencia, inspección y adaptación.
Scrum es un conjunto de buenas prácticas y reglas que proveen la estructura necesaria para ayudar al equipo a reducir la complejidad técnica, comercial e interpersonal del desarrollo del software en su conjunto y que, también capacita a equipos auto organizados para alcanzar sus objetivos.
El enfoque de Scrum para el desarrollo de productos es iterativo e incremental con múltiples bucles de retroalimentación.
El framework de trabajo Scrum desecha todo tiempo desperdiciado en el desarrollo de características no esenciales, es decir, toma como prioridad trabajar directamente en aquellos requerimientos que tienen mayor valor para el cliente, dejando de lado los procesos que sólo retrasan el proyecto y que, en consecuencia, aumentan los costos.
Es por ello que la metodología Scrum puede ser utilizada como una herramienta de depuración organizativa que detectará cada deficiencia e impedimento que la compañía tenga.
En otras palabras, Scrum expone las disfunciones organizacionales y si la organización elige recomponer estas fallas, se beneficiará y mejorará el desarrollo y la gestión de sus productos.
¿Cuáles son los roles dentro de Scrum?
Scrum reconoce y describe tres roles que forman parte del Scrum Team (equipo pequeño, interfuncional y centrado en la entrega de un producto valioso):
Dueño del Producto (Product Owner): Es el responsable de maximizar el retorno de la inversión (ROI). Esto lo hace con la colaboración del cliente para entender las necesidades del negocio, ordenando la cartera de pedidos con respecto al valor comercial más alto.
Equipo de Desarrollo (Development Team): Su tarea consiste en seguir la visión y dirección del producto establecida por el Product Owner, ayudando a convertirlo en un valioso producto de software.
Todos los miembros de equipo comparten la propiedad del producto y contribuyen por igual a su creación, entrega y soporte, eligiendo cada uno la tarea en la que trabajará (por la que luego se le dará crédito).
Estos equipos autos organizados y multifuncionales, empoderan a los integrantes y promueven la propiedad colectiva de la entrega de valor.
Scrum Master: Quien ocupa este rol, ayuda al Product Owner a alcanzar sus objetivos, al equipo de desarrollo a maximizar su rendimiento, y a la empresa a convertirse en una organización abierta al aprendizaje.
El Scrum Master actúa como un líder al servicio del proceso y como un entrenador del equipo (de la misma forma en que un coach de Rugby no participa del partido dentro del campo de juego, pero educa y entrena al equipo, los ayuda a tomar decisiones por sí mismos y a concentrarse en el juego eliminando impedimentos).
¿Cuáles son los valores del Framework Scrum?
El Framework de Scrum está basado en cinco valores fundamentales, los cuales determinan el éxito de un proyecto:
1 – Enfoque: Enfocarse en entregar primero al cliente un producto con las características de mayor valor.
2 – Apertura: Estar abierto a escuchar los feedbacks de todas las partes interesadas en el proyecto con información sobre el trabajo.
3 – Respeto: Respeto por las personas y su libertad de expresión (El Scrum Framework enfatiza el respeto por las personas. El mayor beneficiario de esto son los miembros del equipo auto organizado de desarrollo, que ayudan a construir y entregar un producto de software de calidad).
4 – Coraje: Enfrentar el statu quo, el mando de arriba hacia abajo y la jerarquía.
5 – Compromiso: Compromiso con el cliente a través de productos valiosos y de calidad.
¿Qué hace que Scrum framework sea exitoso?
- Scrum es simple de entender y proporciona la estructura necesaria para hacer frente a los retos que se presentan durante el desarrollo de software.
- Proviene de equipos auto organizados, compuestos por personas reales y no de una hipótesis o investigación académica.
- Scrum ayuda a los equipos a mejorar su capacidad de adaptación a los rápidos cambios del entorno empresarial.
- Es especialmente adecuado para ser aplicado en entornos de desarrollo de productos complejos y de alto riesgo.
- Ayuda a mejorar el ROI.
- Mejora la alineación del desarrollo de producto con las necesidades del cliente.
- Optimiza la traducción de ideas a productos.
- Mediante el control de costos que crea una sutil presión para entregar los productos, Scrum se beneficia a partir del sentido de urgencia de hacer las cosas.
- Scrum consigue que los equipos se centren en ofrecer el mayor valor para el cliente en cada Sprint.
- La mayoría de los elementos de Scrum son linealmente escalables y pueden aplicarse a entornos de desarrollo de productos a gran escala.
- Scrum identifica y elimina los obstáculos para mejorar el ritmo de desarrollo del producto. El Scrum Master se hace responsable de asegurar que los impedimentos sean eliminados.
- Scrum aumenta la velocidad de la toma de decisiones al empoderar al equipo.
- Fomenta equipos auto organizados y multifuncionales.
¿Cuáles son los impedimentos que evitarían obtener los beneficios del Scrum framework?
Organización jerárquica de arriba hacia abajo: La jerarquía ralentiza el flujo de información dentro de la organización, lo que resulta en una toma de decisiones más lenta. Scrum, por el contrario, requiere de una rápida toma de decisiones para poder adaptarse a situaciones cambiantes.
Pensamiento predictivo: La gestión tradicional de proyectos Waterfall se basa en el pensamiento predictivo y en seguir la dirección prevista, mientras que el Scrum Framework se construye sobre la base de inspeccionar los datos/hechos y adaptar la dirección en consecuencia a ello.
Seguir un plan: Los tradicionales gerentes de programa y de proyecto, pasan meses planeando un proyecto, y los arquitectos pasan semanas y meses diseñando el sistema y analizándolo. La realidad en el mundo del desarrollo de software es que en el comienzo del desarrollo de cada producto, los usuarios y los Gerentes de Producto, tienen poca idea del resultado final que desean obtener. Por otro lado, a medida que el trabajo avanza aparecen nuevas percepciones y datos que ayudan a determinar la dirección del producto. Por lo tanto, los planes que se hacen por adelantado no son válidos y deben ser cambiados. Es aquí donde el Scrum Framework fomenta una mínima planificación pero en periodos frecuentes y regulares (con una reunión diaria de sprint para revisar el proceso). Esto permite que la retroalimentación del usuario, los datos y la realidad moldeen el curso futuro del producto.
Acortar calidad para cumplir con las fechas: La presión por cumplir con plazos conlleva a reducir la calidad del producto – aún sin saberlo – . Por ello, Scrum divide la entrega del producto en incrementos más pequeños, generalmente de 2 semanas (luego de cada sprint, se entrega un avance al cliente para su retroalimentación).
Conclusión:
Scrum será útil siempre que se acepten sus valores y se confíe en el trabajo en equipo para la creación de productos de valor. Es importante implementar correctamente los roles, herramientas, eventos y reglas del Scrum Framework para beneficiarse realmente de él.