Hoy hablamos sobre qué es Scrum. Un marco de trabajo (framework) ágil en el que se aplican un conjunto de normas para organizarse de manera colaborativa a través de diferentes roles, y que puede tomarse como punto de partida para definir el proceso de desarrollo que se ejecutará durante un proyecto. Su objetivo es obtener el mejor resultado posible y conseguir una alta productividad.
Origen de Scrum
El origen del concepto de Scrum está basado en un estudio realizado en el año 1986 por Harvard Business Review (HBR) titulado «El juego de desarrollo de nuevos productos« de Hirotaka Takeuchi e Ikujiro Nonakasobre, sobre los procesos de desarrollo de productos que tuvieron mucho éxito en Japón y Estados Unidos y cuyos responsables eran empresas como Canon, Xerox, Honda o HP, entre otros.
¿Qué es Scrum?
Scrum se define por la realización de entregas parciales de manera regular de un producto final, que se van priorizando según indica el responsable del proyecto (product owner). Scrum es utilizado principalmente para proyectos de desarrollo de software con entornos complejos que requieren la obtención rápida de resultados, y en el que van cambiando los requisitos. Esto supone trabajar de manera flexible y productiva.
Y, ¿de dónde viene el término?
El término “scrum” surge del rugby. En concreto, hace referencia a un tipo de formación que lleva a cabo un equipo para reanudar el juego tras un error o una infracción de las normas. El término ha sido tomado en este marco para definir la gestión eficaz de equipos en el desarrollo de productos, en el que sus componentes aprenden mediante las diferentes experiencias, se organizan y trabajan en los problemas con vistas a mejorar continuamente.
¿Cuáles son los roles de Scrum?
- Product Owner: es el encargado de optimizar y maximizar el valor del producto, siendo la persona encargada de gestionar el flujo de valor del producto a través del Product Backlog. Adicionalmente, es fundamental su labor como interlocutor con los stakeholders y sponsors del proyecto, así como su faceta de altavoz de las peticiones y requerimientos de los clientes. Además, al ser intermediario entre los stakeholders y el equipo de desarrollo, debe saber entenderse con ambos.
- Scrum Master: Se encarga de gestionar el proceso Scrum y ayuda a eliminar impedimentos que puedan afectar a la entrega del producto. Su objetivo es conseguir un equipo de alto rendimiento en los que se incluye el equipo de desarrollo, product owner y sus relaciones con la organización y stakeholders.
- Equipo: lo forma un grupo de personas multidisciplinar de entre tres y nueve miembros. Es un equipo de profesionales encargados de llevar a cabo incrementos de desarrollo en cada sprint. Se caracteriza por ser autogestionado, empoderado, auto-organizado y tiene los conocimientos y capacidades necesarias para completar el trabajo.
Proceso del marco marco de trabajo Scrum
El marco de trabajo Scrum se basa en ajustar los resultados y responder a las exigencias reales y exactas del product owner. Scrum se ejecuta en bloques temporales que son cortos y periódicos, llamados Sprints, que suelen oscilar entre 2 y 4 semanas, que es el término para la retroalimentación y la reflexión. La dinámica que se lleva a cabo es la revisión continua de entregas, debido a los cambios que se van produciendo en los requerimientos. En cada iteración se presentan los avances del producto y el posible entregable.
1. Sprint planning
El Sprint planning es un evento en el marco de Scrum donde el equipo define los elementos del product backlog en los que trabajarán durante ese sprint y analizarán su plan inicial para completar esos elementos.
Los equipos marcan en cada sprint un objetivo que utilizarán para determinar los elementos del product backlog que trabajarán durante ese sprint. La Planificación de Sprint responde a las siguientes preguntas:
- ¿Qué puede entregarse en el Incremento resultante del Sprint que comienza?
- ¿Cómo se conseguirá hacer el trabajo necesario para entregar el Incremento?
2. Ejecución
Cada día el equipo de trabajo realiza una reunión (daily) de 15 minutos como máximo. Aquí se analizan las dependencias entre tareas, el progreso del proyecto, los obstáculos que impiden el desarrollo, y se buscan las soluciones necesarias para permitir que se cumpla con la previsión de los objetivos marcados al final de la iteración que permitan cumplir con la previsión de objetivos a mostrar al final de la iteración para poner en común la evolución de las tareas asignadas, y, a la vez, diseñar posibles soluciones a los fallos.
Normalmente, se utiliza un tablero sencillo donde organizar el Backlog así como las tareas en las que se está trabajando en el sprint actual y su progreso. Lo fundamental de esta herramienta es la transparencia para que todo el equipo visualice de manera clara las cosas que están haciendo, el progreso y los objetivos que tienen que cumplir. El tablero puede realizarse en un formato físico, como una pizarra o realizarlo a través de herramientas online como Trello.
El Scrum Master, se encarga de que el equipo cumpla los objetivos durante la iteración. Asimismo, el product owner revisa junto al equipo la lista de requisitos y, si es necesario, cambian los objetivos del proyecto de las siguientes iteraciones para maximizar la utilidad del producto y el retorno de la inversión.
3. Inspección y adaptación:
- Sprint review: cuando finaliza la iteración el scrum master junto al equipo presenta a los stakeholders el incremento del producto. Esta reunión tiene como objetivo facilitar la retroalimentación de información y fomentar la colaboración.
- Retrospectiva: es un punto en el tiempo donde el equipo se reúne y reflexiona sobre acontecimientos pasados y su manera de trabajar y acuerda acciones de mejora. Al finalizar la retrospectiva se definen una serie de acciones y responsables de las mismas con el fin de mejorar de cara a siguientes Sprints
Imagen: Microsoft
Beneficios de Scrum para las empresas
- Fomentar la motivación y compromiso del equipo que trabaja en el proyecto.
- Predecir el tiempo y establecer fechas realistas de entrega de proyectos.
- Fomentar la responsabilidad del equipo y aumentar la autonomía y la auto-organización.
- Mejorar la productividad y la calidad.
- Minimizar costes y maximizar el ROI (retorno de inversión) del proyecto.
Conclusión
Scrum es un framework para trabajar colaborativamente en equipo, y obtener el mejor resultado posible de un proyecto. Nos ayuda a identificar situaciones en las que no estamos realizando incrementos del producto deseados y a acortar el tiempo en las entregas del desarrollo del producto. Con esta manera de trabajar se consiguen equipos altamente productivos y motivados.
¿Trabajas habitualmente con este marco de trabajo? ¿Te estás iniciando en Scrum? Coméntanos tu experiencia en nuestras redes sociales. Si quieres llevar un paso más Scrum, no te pierdas este artículo sobre Shu-ha-ri.
Te dejamos unos consejos Scrum recogidos en nuestras entregas de Agile Tips. Suscríbete a nuestro canal de YouTube y ¡síguenos!