Scrum
Scrum es un marco para la gestión de proyectos que enfatiza el trabajo en equipo, la responsabilidad y el progreso iterativo hacia un objetivo bien definido. El marco comienza con una premisa simple: comience con lo que se puede ver o conocer. Después de eso, realice un seguimiento del progreso y realice los ajustes necesarios. Los tres pilares de Scrum son la transparencia, la inspección y la adaptación.
El marco, que a menudo forma parte del desarrollo de software ágil, recibe su nombre de una formación de rugby. Todos juegan un papel. Cuando se trata del desarrollo de productos, los roles de Scrum incluyen: propietario de producto, Scrum Master y equipo de desarrollo de Scrum.
- Propietario del producto: Este miembro del equipo actúa como enlace entre el equipo de desarrollo y sus clientes. El propietario del producto es responsable de garantizar que se hayan comunicado y acordado las expectativas para el producto terminado.
- Scrum master: Este miembro del equipo actúa como facilitador. El Scrum Master es responsable de garantizar que se lleven a cabo las mejores prácticas de Scrum y que el proyecto pueda avanzar.
- Equipo de desarrollo de Scrum: Este es un grupo que trabaja en conjunto para crear y probar lanzamientos incrementales del producto final.
El proceso de Scrum
El proceso de Scrum anima a los profesionales a trabajar con lo que tienen y evaluar continuamente lo que funciona y lo que no. La comunicación, que es una parte importante del proceso, se lleva a cabo a través de reuniones, denominadas «Eventos». Los eventos de Scrum incluyen:
Scrum diario. El Daily Scrum es una reunión breve que se lleva a cabo en el mismo lugar y a la misma hora todos los días. En cada reunión, el equipo revisa el trabajo que se completó el día anterior y planifica qué trabajo se realizará en las próximas 24 horas. Este es el momento para que los miembros del equipo hablen sobre cualquier problema que pueda impedir la finalización del proyecto.
Reunión de planificación de sprint. Un sprint o carrera corta se refiere al período de tiempo en el que se debe completar el trabajo y, a menudo, es de 30 días. Todos participan en el establecimiento de los objetivos y, al final, se debe producir al menos un incremento, es decir, una pieza de software utilizable.
Revisión de sprint. Este es el momento de mostrar el incremento.
Retrospectiva del sprint. Una retrospectiva de sprint es una reunión que se lleva a cabo después de que finaliza un sprint. Durante esta reunión, todos reflexionan sobre el proceso del sprint. También se puede ofrecer un ejercicio de formación de equipos. Un objetivo importante de una retrospectiva de sprint es la mejora continua.
Artefactos Scrum
Un artefacto es algo de interés histórico que merece ser examinado nuevamente. En el desarrollo de productos Scrum, los artefactos se utilizan para ver qué se ha hecho y qué hay todavía en la cola. Los artefactos de Scrum, que incluyen la acumulación de productos, la acumulación de sprint, el incremento de productos y el agotamiento, son útiles para revisar en las reuniones de planificación de Sprint.
Acumulación de productos. Esto se refiere a lo que queda en la lista de «por hacer». Durante una sesión de preparación de la acumulación de productos, el equipo de desarrollo trabaja con el propietario de la empresa para priorizar el trabajo que se ha retrasado. La acumulación de productos puede ajustarse durante un proceso llamado refinamiento de la acumulación.
Acumulación de Sprint. Esta es una lista de tareas que deben completarse antes de que se puedan entregar los elementos de la lista de productos seleccionados. Estos se dividen en historias de usuarios basadas en el tiempo
Incremento de productos. Esto se refiere a lo que se ha logrado durante un Sprint –todos los elementos de la acumulación de productos– así como a lo que se ha creado durante todos los Sprints anteriores. El incremento de productos refleja cuánto se ha avanzado.
Agotamiento. El agotamiento es una representación visual de la cantidad de trabajo que aún debe completarse. Un gráfico de agotamiento tiene un eje Y (trabajo) y un eje X (tiempo). Idealmente, el gráfico ilustra una tendencia a la baja, ya que la cantidad de trabajo que queda por hacer con el tiempo se reduce a cero.
La historia de Scrum
La base del marco Scrum en el desarrollo de software fue introducida por primera vez en 1986 por Hirotaka Takeuchi e Ikujiro Nonaka en un artículo publicado por The Harvard Business Review. En el artículo, titulado «El Juego del Desarrollo de Nuevos Productos Nuevos», los autores utilizaron metáforas para describir dos enfoques diferentes para gestionar el desarrollo de productos. Algunos equipos eran como corredores en una carrera de relevos, pasando el testigo, trabajando en línea recta. Otros equipos eran jugadores de rugby, jugaban un solo juego y pasaban cosas de un lado a otro, según fuera necesario.
Takeuchi y Nonaka concluyeron que el enfoque de carrera de relevos, como lo ejemplifica el sistema de planificación del programa por fases de la NASA, estaba desactualizado. Creían que el estilo del rugby daría a las empresas las herramientas necesarias para competir en un mundo empresarial multinacional.
Se dice que Jeff Sutherland, John Scumniotales y Jeff McKenna probaron el desarrollo de software Scrum en Easel Corp. en 1993. En 1995, Ken Schwaber y Sutherland, trabajando con otros –incluidos McKenna y Scumniotales– presentaron un influyente documento técnico en OOPSLA, titulado «Proceso de desarrollo SCRUM». El resultado fue un cambio radical que hizo que los desarrolladores cuestionaran la efectividad del modelo clásico de desarrollo de software en cascada. Según Scrum.org, más del 70 % de todos los equipos ágiles hoy usan Scrum o un híbrido de Scrum.
Valores de Scrum
Los tres pilares de Scrum –transparencia, inspección y adaptación– están respaldados por cinco valores: compromiso, coraje, enfoque, apertura y respeto.
Compromiso: El equipo es autodirigido y todos los miembros están dedicados a completar el trabajo acordado.
Coraje: El equipo opera como una sola entidad y tiene éxito o fracasa en conjunto.
Enfoque: El equipo limita las distracciones y se concentra en el trabajo que se debe hacer hoy.
Apertura: El equipo tiene tiempo para reunirse y compartir lo que ha tenido éxito y lo que debe mejorarse.
Respeto: El equipo está compuesto por miembros que tienen diferentes fortalezas y se respetan las fortalezas de cada individuo. No hay que señalar con el dedo cuando se habla de cómo solucionar lo que no funciona.