Historia de Scrum
Desde la publicación del informe "Gestión del desarrollo de grandes sistemas de software" de Winston Royce en 1970, muchos han intentado encontrar una metodología que pudiera eliminar las desventajas del modelo de desarrollo Waterfall. Una alternativa a la "cascada" fue el método Scrum, que se discutirá ahora.
Scrum obtuvo su nombre en 1986 del trabajo de Takeuchi y Nonaki Las nuevas reglas para el desarrollo de nuevos productos. Este documento argumenta que la forma más eficaz de lograr el objetivo es dar a los desarrolladores un plan de acción claro.
En 1995, apareció otra guía, "Desarrollo de software con Scrum", de Sutherland y Schweiber. Desde entonces, esta publicación ha sido actualizada varias veces. Ahora se considera la guía principal para el desarrollo de este método. La versión actual de la Guía Scrum contiene información actualizada en 2020.
Las disposiciones principales de la Guía Scrum sugieren que la plantilla de gestión de proyectos debe basarse en el hecho de que los desarrolladores entregan el producto terminado dentro del marco de tiempo acordado: sprints. Para la implementación exitosa de Scrum, se recomienda utilizar una estructura que consta de varios elementos: roles, eventos, reglas y artefactos.
Roles en Scrum
Hay tres roles en Scrum, todos los cuales forman un equipo Scrum:
El cliente del producto de software es la persona más importante en el proyecto, porque solo él comprende completamente su valor para el negocio. El cliente explica las necesidades de los usuarios del futuro producto a los desarrolladores, pero no es responsable de la parte técnica del proceso de desarrollo. El cliente también determina la prioridad al crear ciertos elementos o funciones en el producto.
Los desarrolladores se encargan de la implementación de tareas técnicas, cuya funcionalidad cruzada depende del ámbito de aplicación. Los desarrolladores están ocupados creando el backlog del sprint, escribiendo código, adaptando el proyecto al objetivo del sprint y otras tareas.
El Scrum Master es el facilitador del equipo Scrum. Proporciona asistencia al cliente y a los desarrolladores. En pocas palabras, Scrum Master está ocupado comunicándose entre aquellos que no están involucrados en el proyecto y las personas que escriben el código. A veces, diferentes equipos de codificadores en la misma gran empresa se comunican y coordinan en las reuniones generales de los scrum masters de estos equipos.
Eventos en Scrum
Hay 5 tipos de eventos de scrum:
Sprint es la parte más importante de Scrum. Incluye planificación de sprint, stand-ups diarios (daily scrum), revisión y retrospectiva del sprint.
Planificación de sprints. Todos los miembros del equipo Scrum participan en la elaboración de un plan para el futuro sprint. Es aquí donde se presenta la idea del producto y cada miembro del equipo puede expresar su opinión, lo que piensa al respecto. Luego, en la reunión, se determinan las prioridades y se anuncian los plazos.
Daily Scrum es un evento diario de scrum corto, que no dura más de 15 minutos. Por lo general, se hace para planificar el trabajo de los codificadores para hoy o mañana. En el Daily Scrum, puede discutir temas actuales. Todos los desarrolladores involucrados en el proyecto deben participar en dicho taller. La presencia de un Scrum Master está permitida, pero no es obligatoria.
Sprint Review (Demo): muestra los resultados creados durante el sprint. Por lo general, este evento tiene lugar en la etapa final. En ella participan todas las personas interesadas.
Sprint Retrospective: discusión de los resultados del sprint. Los miembros del equipo comparten su opinión sobre cómo hicieron frente a las tareas que se les asignaron y cómo mejorar los resultados del trabajo en el futuro.
Además, a veces se lleva a cabo el refinamiento de la cartera de pedidos - Refinamiento de la cartera de pedidos. Analiza los elementos pendientes, la preparación para el próximo sprint y la priorización de las tareas actuales.
Artefactos
Los artefactos Scrum son el trabajo que ocurre al final de un proyecto o sprint. Hay tres artefactos: la acumulación del producto, la acumulación del sprint y el incremento. Cada uno de ellos es necesario para la entrega oportuna del software a los usuarios. También hay artefactos auxiliares (gráficos de quemado y más).
Componentes incluidos en los artefactos de sprint:
Pila de productos: funciones de interfaz y backend.
Una acumulación de sprint es una lista de tareas que deben realizarse durante una iteración. Se acuerdan antes del inicio del sprint.
Incremento: el número total de elementos del backlog de software creados durante el sprint y el valor de los incrementos que se realizaron antes. El nuevo incremento terminado debe mostrarse antes del final del sprint. Esto significa que tiene una versión de trabajo que cumple con los requisitos del equipo Scrum.
Elemento de la cartera de pedidos del producto: debe completarse durante la iteración del sprint. Como regla general, el elemento se divide en varias tareas pequeñas.
El objetivo del sprint son las tareas que deben completarse (crear un elemento pendiente u otra tarea).
Un burndown de sprint es el trabajo que queda antes del final del sprint. El gráfico de quemado es ascendente o descendente. Todo depende de las dificultades que enfrentan los miembros del equipo mientras trabajan. No es un indicador de progreso, sino solo una forma de resolver problemas y un incentivo.
Lanzamiento del producto/gráfico de quemado del producto: un gráfico que el Scrum Master dibuja antes de completar el siguiente sprint. El eje horizontal son los sprints, el eje vertical es la cantidad de trabajo restante.
Reglas del marco de Scrum
Los roles, eventos y artefactos son la base de Scrum, pero existen otras reglas además de esta. Todos ellos mejoran la eficiencia del proceso de trabajo. Aquí hay una lista de esas reglas:
- El equipo de scrum incluye al cliente de software, al maestro de scrum y a los desarrolladores.
- Todos los sprints deben tener la misma longitud.
- Después de completar un sprint, inmediatamente comienza el trabajo en uno nuevo.
- Un sprint siempre comienza con un plan.
- Los miembros del equipo tienen un scrum matutino al comienzo de su jornada laboral.
- Cada sprint se revisa durante cada sprint. Esto mejora la comunicación entre el equipo y las partes interesadas.
- No se recomienda cambiar la acumulación de sprint durante el sprint.
Limitaciones en Scrum
Junto con las ventajas obvias, Scrum también tiene desventajas:
- Scrum a menudo conduce a una disminución en la cantidad de trabajo realizado debido a la falta de una fecha límite común.
- Con poca participación o falta de voluntad para cooperar entre los participantes del proyecto, hay posibilidades considerables de fallar en el resultado.
- La estructura Scrum es difícil de usar en equipos grandes, pero aun así es posible. Existen marcos de escala para esto: LeSS, SAFe, Nexus y otros.
- La salida de uno o más miembros del equipo en medio del proyecto no afecta muy bien al proyecto.
GO TO FULL VERSION