SCRUM: ¿vale la pena inclinarse bajo un mundo cambiante?

Scrum: una metodología de trabajo en equipo flexible. Hoy es muy popular, se usa en muchas grandes empresas. En este artículo, descubriremos cuándo y en qué circunstancias surgió la técnica, en qué principios básicos se basa su implementación, qué es importante tener en cuenta al trabajar y mucho más.



imagen


Historial de scrum



En los orígenes del desarrollo del desarrollo de software había un enfoque de trabajo "en cascada", fue utilizado por la mayoría de los equipos y dividió la implementación del producto en las siguientes etapas:



  • definición de requisitos del proyecto;
  • planificación de operaciones de principio a fin;
  • escritura de código;
  • pruebas.


Es decir, el cliente vino, describió la tarea, el equipo planificó la implementación y comenzó a trabajar, siguiendo las especificaciones técnicas establecidas. Después del final del desarrollo, se probó el producto y, si algo no funcionaba, había que corregir grandes cantidades de código, por lo que se extendieron los plazos.



Así es como trabajaron año tras año, mientras que un equipo de innovadores durante mucho tiempo observó equipos exitosos: aquellos que lograron cumplir con los plazos y crear un producto de calidad. Como resultado, se dieron cuenta de que el éxito radica en la flexibilidad del proceso.



Sobre la base de las conclusiones extraídas de los resultados de largas observaciones, se derivó el "Manifiesto para el desarrollo de software ágil". Incluyó cuatro puntos:



  1. Las personas son más importantes que las herramientas.
  2. La calidad del producto es más importante que la documentación.
  3. La interacción con el cliente es más importante que el contrato.
  4. La disposición al cambio es más importante que el plan establecido.


Estos cuatro puntos han cambiado fundamentalmente el enfoque del desarrollo de software y han formado la base de Agile. Después de un tiempo, los entusiastas han desarrollado 12 principios básicos de un proceso flexible, que hoy son la base de todas las metodologías ágiles:



  1. Lo principal es un buen software y un cliente satisfecho.
  2. Disponibilidad para el cambio en cualquier momento.
  3. Lograr el software de trabajo tan a menudo como sea posible después del desarrollo.
  4. Una reunión de equipo es lo mejor para compartir información.
  5. El cliente y el equipo de desarrollo deben trabajar juntos.
  6. Confía en las personas para hacer su trabajo.
  7. Hay software que funciona, hay progreso.
  8. Procesos flexibles: desarrollo continuo.
  9. La atención a la calidad promueve la flexibilidad.
  10. La simplicidad del proceso le permite evitar trabajos innecesarios.
  11. Un equipo autoorganizado funciona mejor.
  12. La búsqueda constante de una mayor eficiencia.


A principios de la década de 1990, Jeff Sutherland y Ken Schwaber comenzaron a hablar sobre su propia metodología de desarrollo ágil. Durante mucho tiempo, observaron a los militares, comandos e incluso jugadores de rugby y llegaron a la conclusión de que podían cumplir sus tareas gracias a la interacción y el trabajo en equipo: estos principios formaron la base de Scrum.



En 2001, detallaron los principios de su metodología y publicaron el libro Desarrollo de software ágil con SCRUM. Hoy, este enfoque se considera uno de los más populares entre los desarrolladores.



Principios básicos de Scrum



La metodología tiene varios principios básicos que ayudan a enfocarse en el cliente y dan el resultado esperado con costos mínimos de recursos y tiempo.



Principios básicos de Scrum:



  1. (). () . .
  2. . . () .
  3. . - « » — . , . , .
  4. . Scrum-team — , .




Equipo Scrum



En la mayoría de los casos, un equipo Scrum consta de 5-9 personas, con menos frecuencia 3-4. Dentro de Scrum, el equipo no puede ser más grande, porque la interacción entre cada enlace se vuelve más complicada, lo que afecta negativamente la eficiencia del trabajo.

Composición



Hay tres roles principales en un equipo:



  1. Dueño del producto
  2. Scrum Master.
  3. Desarrolladores (equipo de entrega).


Consideremos todos los roles con más detalle.



Dueño del producto



El propietario es la persona responsable del desarrollo. Este papel lo desempeña el cliente del producto o su representante oficial. En casos excepcionales, un representante del mercado en el que el proyecto planificado se implementa posteriormente.



El propietario es responsable de elaborar un plan de negocios que refleje el impacto económico esperado. También define un plan de desarrollo en él, en el que se calcula la relación de recuperación de la inversión para cada artículo. Otro documento importante, en cuya formación participa el propietario, es una lista de requisitos, ordenados por importancia.



En pocas palabras, el propietario del producto es el centro de decisión del equipo del proyecto. Debería ser el único dentro del proyecto, de lo contrario se viola el principio de la adopción rápida de decisiones importantes.



Una lista indicativa de las responsabilidades del propietario:



  • ;
  • ( );
  • ;
  • ;
  • ;
  • .


-



El Scrum Master es responsable de observar la metodología Scrum en el trabajo: controla la iniciativa y la independencia de todos los miembros del equipo, la satisfacción con los resultados obtenidos, la atmósfera en el equipo y los resultados del trabajo en general.



Además, es importante comprender que el Scrum master no es solo una persona aislada que observa el desarrollo desde el exterior. Es miembro del equipo y debe, junto con el control, participar directamente en la implementación técnica del producto.



El Scrum Master es responsable de la interacción de todos los miembros del equipo entre sí, manteniendo un alto nivel de rendimiento, eliminando problemas y cumpliendo el horario de trabajo planificado.



Una lista de muestra de las responsabilidades de un Scrum Master:



  • creando una atmósfera de confianza;
  • participación en reuniones generales y asegurar la comunicación exitosa de los participantes;
  • ;
  • ;
  • .




Los desarrolladores son los responsables de la implementación técnica del producto. Como regla, hay 5-9 desarrolladores por equipo. La primera tarea es establecer objetivos realistas, predecibles, interesantes y significativos para cada sprint.



La segunda tarea es lograr los objetivos establecidos para cada sprint a tiempo (fecha límite). Alcanzar la meta es un concepto extensible y se determina individualmente en cada proyecto. Por ejemplo, en algún lugar la tarea se considera completada después de escribir todos los códigos, y en otro lugar se agrega el final de la prueba. En general, todos se guían por su propia visión y experiencia.



Las habilidades clave para el equipo de desarrollo son la planificación, la evaluación objetiva del trabajo realizado, la capacidad de interactuar con otros miembros del equipo.



Una lista de muestra del equipo de desarrollo:



  • evaluar elementos de la cartera de productos;
  • desarrollo de productos y entrega al cliente;
  • seguimiento de su progreso (junto con el scrum master);
  • proporcionando el resultado al propietario del producto.


Cómo funciona el equipo Scrum



El trabajo exitoso en la metodología Scrum es posible sujeto a tres principios:



  1. Constante superación personal . Los desarrolladores experimentados dicen que mejorar el producto, llevarlo a un estado ideal es imposible sin la mejora personal de cada miembro del equipo.
  2. La autonomía . Todos los empleados deben ser responsables no solo por el resultado general y poder trabajar en equipo, sino también realizar muchas tareas individualmente.
  3. Funcionalidad cruzada . Cualquier equipo es autosuficiente, ya que incluye especialistas con diferentes habilidades.


Proceso del equipo Scrum



El trabajo del equipo que guía la metodología Scrum se divide condicionalmente en varias etapas.



1. Planificación de una lista de tareas de sprint. Cada sprint comienza con la planificación. Todos los miembros del equipo se reúnen, evalúan el trabajo acumulado del producto en su conjunto y seleccionan las tareas prioritarias que deben realizarse dentro de la iteración actual. Así es como se forma la lista de tareas (backlog) del sprint actual.



Después de eso, en función del trabajo atrasado, se discute el alcance del trabajo y la duración del ciclo. Además, el resultado se determina de antemano: lo que se debe obtener como resultado del sprint.



2. Celebrar reuniones periódicas. Diaria o semanalmente, el equipo celebra reuniones cortas (no más de 15-30 minutos). Involucran al propietario del producto, el scrum master y todos los desarrolladores. El propósito de las reuniones es recibir de cada uno respuestas a tres preguntas:



  1. ?
  2. ?
  3. ?


Scrum-master durante la reunión identifica problemas actuales y ayuda al equipo a resolverlos.



3. Organización del tablero Scrum. En la sala de conferencias, donde se celebran reuniones periódicas, se cuelga un tablero, dividido en tres partes: "qué hacer", "en progreso" y "hecho".



Se colocan pegatinas de diferentes colores con las tareas principales en cada parte. A medida que avanzan, se mueven de una parte a otra. Esto ayuda a rastrear el progreso del sprint actual para cada miembro del equipo.



4. Cambio de planes durante la iteración. El equipo debe estar abierto, y si un especialista no tiene tiempo para cumplir con la fecha límite, informa al propietario del producto al respecto. Cambiará la asignación de tareas, optimizará las horas de trabajo y ayudará a cumplir con los plazos.



Lo mismo se hace con un trabajo demasiado rápido, cuando las tareas se completan más rápido de lo planeado. El gerente complementa la cartera de pedidos con nuevos objetivos a su propia discreción, de modo que la venta del producto se realiza más rápido.



5. Resumiendo. Después de completar cada sprint, se prueba el software completo. Los consumidores potenciales también participan en él (grupo focal). El propietario recopila comentarios y toma decisiones para un trabajo exitoso en el futuro.



Scrum artefactos



Los proyectos de Scrum incluyen tres documentos importantes, también se llaman artefactos:



  1. Pila de Producto.
  2. Sprint Backlog.
  3. Tabla de sprint (Burndown Chart).


Cada uno de ellos tiene ciertas características, de las que hablaremos a continuación.



Revista del producto



La revista del producto al principio es preparada por el propietario. Un documento (artefacto) incluye requisitos ordenados por importancia. Los desarrolladores complementan la versión primaria: estiman el costo de implementar cada requisito.



La cartera de productos debe incluir no solo los aspectos técnicos necesarios para la implementación, sino también los aspectos funcionales. Para cada requisito, se determina la prioridad (por ejemplo, de 1 a 5). La prioridad más alta se describe en detalle para que el equipo pueda evaluarlos y probarlos.



El propietario del producto está obligado no solo a preparar un registro del producto, sino también a enviarlo dentro del plazo acordado. De lo contrario, la implementación oportuna del proyecto es imposible.



Revista Sprint



Como recordará, en el marco de la metodología scrum, el producto se implementa en pequeñas iteraciones. Por lo general, un sprint es una función. Para un trabajo efectivo, se divide en pequeñas tareas para que la implementación no demore más de 2-3 días hábiles.



Un desglose competente de funciones en tareas permite, al final de la iteración, completar todo lo necesario para que una determinada parte del software funcione correctamente y sea de valor para el usuario final.



Después de compilar el backlog de Sprint, es evaluado por el equipo de desarrollo y comparado con la revista del producto. Si hay desviaciones significativas, el equipo determina las tareas más prioritarias dentro del sprint actual y las menos importantes que se pueden transferir a la próxima iteración.



La tarea del propietario del producto es excluir del trabajo atrasado tareas pequeñas e insignificantes, cuya implementación no afectará el resultado final del trabajo.



Horario de sprint



Una programación de sprint es un calendario de tareas que está programado para trabajar dentro de la iteración actual. Muestra la cantidad de trabajo restante hasta el final del sprint. El equipo evalúa regularmente el cronograma y, si es necesario, responde rápidamente a cualquier cambio.



El propietario del producto presta especial atención al calendario. Evalúa la velocidad del trabajo y el cumplimiento de los plazos. Por ejemplo, si la cantidad de trabajo no disminuye con el tiempo, significa que hay algunas desviaciones en el proceso y se requiere una corrección urgente de las acciones del equipo.



Cómo implementar la metodología Scrum correctamente



Para mejorar la eficiencia del equipo, es necesaria la implementación correcta de la metodología Scrum. Los errores no solo no cambian nada, sino que también afectan negativamente la productividad.



Si decide realizar cambios, lleve a cabo la implementación por etapas:



  1. Reúne al equipo . El paso principal del que depende el éxito del producto en el futuro. Busque profesionales calificados con experiencia práctica en su campo. Tómese su tiempo y recuerde: crear un equipo multifuncional no es una tarea fácil.
  2. Asignar un propietario del producto . Otorgue este rol al cliente o su representante. Es importante que una persona tenga experiencia en esta dirección, ya que la interacción dentro del equipo y entre el cliente depende de él.
  3. -. , . , .
  4. . . , . . - , .
  5. . . . , .
  6. Analizar y evaluar los resultados . Analice y mida los resultados después de que finalice cada sprint. Solo avance a la siguiente etapa de desarrollo cuando esté completamente satisfecho con los resultados de la anterior.


Estos seis pasos mejorarán la eficiencia de todo el equipo. Pero parecen simples solo a primera vista. De hecho, llevará mucho tiempo estabilizar el trabajo bajo las nuevas reglas.



Es posible que a alguien del equipo no le gusten las innovaciones. Es natural cuando las personas se oponen a algo nuevo. Su tarea es transmitir a cada miembro del equipo el beneficio de la nueva metodología.



Para resumir



Scrum es una metodología de desarrollo ágil ágil. Su desarrollo comenzó en los años 90 del siglo pasado y comenzó a ganar fama a principios de los años 00. Hoy, Scrum es utilizado por muchos equipos cuyas actividades están estrechamente relacionadas con los proyectos.



Scrum se puede implementar en su empresa en 6 pasos, pero debe tener cuidado al organizar el proceso. La metodología no requiere un conocimiento especial de los empleados, es más bien una cuestión de organización y construcción adecuada del tiempo de trabajo.



Al mismo tiempo, no olvides que Scrum no es una píldora mágica, si tienes un desglose constante de los plazos, un mal ambiente dentro del equipo, la introducción de nuevas tecnologías no resolverá todos los problemas. Por lo tanto, inicialmente establezca comunicación dentro del equipo, cree un trabajo efectivo y luego implemente scrum para aumentar la productividad.



¡Puede aprender aún más sobre las metodologías de efectividad del equipo cuando se inscribe en nuestro curso en línea de seis meses "Profesión: Producto"! ¡Aprende más!




All Articles