¿Cómo haces que tu equipo se adapte a los cambios que pueden ocurrir en un proyecto ya sea de software u otro? Con Scrum podrás construir equipos dinámicos y efectivos que se adapten a los cambios rápidamente para desarrollar proyectos de mejora continua.
¿Qué es Scrum?
Scrum es muy utilizado en el desarrollo de software (Aunque no quiere decir que no se pueda aplicar en otras áreas), que se lleva usando desde los años 90. La finalidad de Scrum es hacer uso de un conjunto de buenas prácticas para trabajar en equipo y de esta manera obtener los mejores resultados en el desarrollo de un proyecto.
¿Por qué Scrum?
Scrum se ha vuelto popular en los últimos años debido a que se desenvuelve muy bien en proyectos de entornos complejos, donde se necesita obtener resultados pronto, los requisitos son cambiantes y se premia la competitividad, la flexibilidad, las ideas y la productividad.
Pilares de Scrum
Transparencia: Todos los implicados saben qué y cómo ocurre el proyecto. Esto hace que todo el equipo sepa el proceso y haya una visión global.
Inspección: Los miembros del equipo inspeccionan el progreso para detectar posibles problemas.
Adaptación: Cuando hay algo que cambiar, el equipo se ajusta. Esta es la clave para conseguir éxito en proyectos complejos.
¿En qué se basa Scrum?
Como ya lo mencionamos, se trata en el uso de una serie de buenas prácticas, entre las cuales podríamos enumerar las siguientes:
Bloques temporales cortos: Desarrollo incremental del proyecto en bloques cortos y fijos.
Priorización de requisitos: Se prioriza por generar valor para el cliente y coste del desarrollo.
Control empírico del proyecto: Al final de cada iteración se demuestra al cliente el resultado real obtenido, de manera que pueda tomar las decisiones necesarias en función de las observaciones.
Sincronización: El equipo se sincroniza diariamente y realiza las adaptaciones necesarias.
Potenciación del equipo: Se compromete a entregar unos requisitos y para ello se le otorga la autoridad necesaria para organizar su trabajo.
Sistematización: Se debe sistematizar la colaboración y la comunicación tanto entre el equipo y como con el cliente.
El timeboxing: De las actividades del proyecto, para ayudar a la toma de decisiones y conseguir resultados.
Equipo Scrum
Un equipo básico se compone del Product Owner, el Equipo de Desarrollo y el Scrum Master. Un requisito es que todos sean capaces de cumplir los objetivos sin depender de otras personas fuera del equipo, por eso se buscan equipos multifuncionales.
El Product Owner: Es el responsable de maximizar el valor del producto y el trabajo del equipo de Desarrollo.
El equipo de desarrollo: Es un equipo de profesionales que trabajan para entregar un producto finalizado a final de cada etapa.
El Scrum Master: Es esencialmente el líder-ayudante del Equipo Scrum
Cómo es el proceso
Scrum se ejecuta en ciclos temporales cortos y de duración fija (iteraciones que normalmente son de 2 semanas). Cada iteración tiene como objetivo dar un resultado completo, debe haber siempre un avance del producto final qué sea fácil de preparar si el cliente lo solicita.
Las actividades que se llevan a cabo en Scrum son las siguientes:
Planificación de la iteración
Se debe realizar una reunión para planificar cada iteración y debe tener dos partes:
- Selección de requisitos: El cliente suministra al equipo la lista de requisitos, y el equipo pregunta al cliente las dudas que surgen y selecciona los requisitos prioritarios que se deben colocar en cada iteración
- Planificación de la iteración: El equipo elabora la lista necesaria para desarrollar los requisitos seleccionados. La estimación de esfuerzo se hace de manera conjunta, el equipo se auto organiza y se auto asigna tareas.
Ejecución de la iteración
Todos los días el equipo realiza una reunión (normalmente de 15 minutos) para sincronizarse. El equipo inspecciona el trabajo de todos para poder hacer las adaptaciones necesarias que permitan cumplir con los objetivos a mostrar al final de la iteración. En la reunión cada miembro del equipo responde a tres preguntas:
- ¿Qué he hecho desde la última reunión para ayudar al equipo a cumplir su objetivo?
- ¿Qué voy a hacer para ayudar al equipo a cumplir su objetivo?
- ¿Qué impedimentos tengo o voy a tener que nos impidan conseguir nuestro objetivo?
Durante esta fase el Scrum Master se encarga de:
Que el equipo pueda mantener el foco.
Elimina los obstáculos que el equipo no puede resolver por sí mismo.
Evita interrupciones externas que puedan afectar el objetivo y su productividad.
Inspección y adaptación
El último día de la iteración se realiza la reunión de revisión y tiene dos partes:
- Revisión (demostración): El equipo presenta al cliente los objetivos (requisitos) completados en la iteración, para que el cliente realice adaptaciones necesarias.
- Retrospectiva: El equipo analiza su trabajo y qué problemas podrían impedirle progresar adecuadamente, para así mejorando de manera continua su productividad.
Ventajas y desventajas de Scrum
Ventajas
- Scrum es muy fácil de aprender y tienen un objetivo muy relacionado a nuestra manera diaria de trabajar.
- Es ágil por lo que podremos terminar proyectos rápidamente sin desviarnos por las ramas.
- Se agiliza el proceso, ya que la entrega de valor es muy frecuente.
- Menor probabilidad de sorpresas o imprevistos, porque el cliente está viendo frecuentemente el proyecto.
Desventajas
- Cuesta poder implementarlo, supone una predisposición y un cambio de cultura de la organización que debe ir desde los altos mandos hasta los clientes.
- El equipo puede tender a realizar el camino más corto para conseguir el objetivo por lo cual en ocasiones puede afectar la calidad.