Los Pilares de Scrum
Si bien, los 12 principios del manifiesto ágil describen una orientación sobre los principios que se siguen en Scrum, hay 5 elementos que son clave para el buen funcionamiento de este marco de trabajo.
Estos pilares junto a los 12 principios del manifiesto ágil se deberían conocer y aplicar por los miembros del Equipo Scrum. El Scrum Master suele ser el responsable de que estos pilares hagan parte de la cultura del equipo.
1. Autogestión en el Equipo Scrum
Para Scrum, es altamente recomedable que el equipo tenga la capacidad de autogestionarse, esto significa que son los miembros del equipo quienes eligen la mejor opción de llevar a cabo su trabajo sin ser dirigidos por personas externas al equipo.
La auto-gestión es una característica definitoria de los equipos Scrum, centrada en la confianza, autonomía y responsabilidad de sus miembros. Aquí es donde los equipos no sólo toman decisiones sobre cómo abordar su trabajo, sino que también asumen la responsabilidad de esas decisiones.
A continuación, se listan algunos elementos clave que hace posible la Auto-Gestión del Equipo Scrum:
- Los desarrolladores deberían autoasignarse el trabajo a realizar en los diferentes Sprints, nadie, ni siquiera el Product Owner debe imponer el trabajo al Equipo.
- El equipo decide la mejor distribución del trabajo, garantizando la equidad y el trabajo en equipo.
- El Equipo debe conocer muy bien sus límites de decisión para así poder tener mayor autonomía (delegación).
- El Equipo debe tener espacios que le permitan realizar jornadas de investigación y capacitación.
- Se debe trabajar continuamente en la motivación del equipo.
- No se deben cambiar los miembros del equipo (a menos que sea inevitable).
👉 Tip para el Scrum Master |
---|
Las mejores prácticas y herramientas evolucionan con el tiempo. Dedica tiempo para la formación continua y asegúrate de que el equipo esté al día con las últimas tendencias y técnicas en Scrum. |
Propiedad y responsabilidad colectiva del producto
Para garantizar una colaboración constante y evitar con el tiempo la aparición de una cultura de la culpa, es importante fomentar una propiedad colectiva del producto, esto significa que todo el Equipo Scrum es dueño del producto, y por tanto cualquiera de sus integrantes podría contribuir al desarrollo de cualquier parte del producto aun cuando no haya sido quien lo desarrolló inicialmente.
Así mismo no deberían existir reconocimientos individuales a los miembros del equipo por sus contribuciones al producto.
👉 Tip para el equipo |
---|
Evita la cultura de la culpa: En lugar de buscar a quién culpar, enfócate en cómo resolver el problema. |
Colaboración de equipo
La colaboración se da gracias a la constante comunicación que existe en los Equipos Scrum, tanto entre sus miembros como con las Partes interesadas del Proyecto, este concepto es parte integral del Manifiesto Ágil "La forma más eficiente y efectiva de transmitir información hacia y dentro del Equipo de Desarrollo es la conversación cara a cara".
El Scrum Master es el rol responsable de garantizar una sana comunicación entre todas las partes interesadas del proyecto, en especial de su Equipo de Desarrollo.
👉 Tip para el equipo |
---|
Fomentar una cultura de feedback constante puede simplificar muchos aspectos del trabajo. Las correcciones tempranas y la orientación adecuada evitan la complejidad de corregir errores más adelante. |
Se debe considerar que, según la naturaleza del proyecto, las necesidades de la organización e incluso factores externos, se determinan la ubicación de los miembros del Equipo:
-
Equipos Centralizados:
- Los miembros del Equipo se encuentran en la misma ubicación, lo que les permite comunicarse con gran facilidad.
- La resolución de problemas es prácticamente inmediata, ya que al estar ubicados en el mismo lugar es fácil realizar sesiones de diálogo.
-
Equipos Distribuidos: Es aquel en el que sus miembros no se encuentran en una misma ubicación, por lo general está disperso debido a factores como:
- La subcontratación (outsourcing – freelance).
- Oficinas ubicadas en diferentes ubicaciones físicas.
- Trabajo desde casa.
Para garantizar la comunicación permanente en este tipo de equipos se hacen necesarias las siguientes herramientas:
- Groupware.
- Software Videollamadas o chat.
- Software de gestión de proyectos ágiles.
- Herramientas de software que simulan la funcionalidad de Scrum boards.
Equipos multifuncionales
Los equipos multifuncionales (también llamadas células ágiles) tienen todas las competencias y habilidades necesarias para llevar a cabo el trabajo sin depender de otras personas que no formen parte del equipo.
Contrario a lo que piensa un equipo multifuncional, no se trata de que todos sus integrantes hagan de todo, se trata de que los integrantes adquieran conocimiento en distintas disciplinas (aplicables a los proyectos de la organización) y así puedan contribuir eficazmente con la colaboración.
La realidad es que incluso cuando un equipo sea experto técnico, siempre necesitarán capacitación adicional, así es que el Product Owner deberá decidir si aprobará el dinero y el tiempo para capacitarse o por el contrario serán los miembros del equipo quienes se encargarán del tema.
Colaboración con el cliente
En los proyectos tradicionales, los clientes por lo general se mantenían a distancia y solo se involucraban al principio y al final del proyecto. En Scrum es altamente recomendable que el cliente participe de las revisiones del producto y brinde retroalimentación en todos los puntos de "inspección y adaptación". Esto minimiza el riesgo y le brinda más opciones al cliente y a las partes interesadas.
Por ejemplo, en otros Marcos Ágiles como XP, es obligatorio que el Cliente forme parte del equipo.
El cliente (o sus representantes) deberían trabajar junto al Product Owner para definir las historias de usuario y detallar dichas historias antes o durante las reuniones de planificación.
El cliente y las partes interesadas por lo general participan en la Reunión de Revisión de los Sprint y, dependiendo de la relación entre el cliente y el Product Owner, el Cliente incluso podría participar de algunas reuniones de Retrospectiva de los Sprint.
Gestionar el conocimiento
Dado que los equipos autogestionados se responsabilizan de su aprendizaje y crecimiento, la gestión del conocimiento se convierte en un aspecto crucial. Esto puede tomar la forma de compartir habilidades, aprender nuevas tecnologías o técnicas, o incluso la formación entre pares.
Gestionar el conocimiento permitirá identificar, recopilar, organizar, transferir y retener el conocimiento necesario para dar soporte a todo el personal en sus actividades laborales, para la toma de decisiones bien fundadas y para aumentar la productividad.
👉 Tip para el Developer |
---|
Si bien es esencial documentar, es fundamental preguntarte: "¿Esta documentación agrega valor?". Evita la creación de documentos extensos y en su lugar, apunta a documentaciones claras y concisas que sean realmente útiles. |
Motivación del equipo
Los equipos Scrum se caracterizan por mantener un enfoque hacia la entrega frecuente de resultados; y aunque los miembros del equipo son conscientes de la responsabilidad que esto implica, existe un factor de fondo que facilita el impulso y el esfuerzo para cumplir con los objetivos: la motivación.
La motivación hace referencia a que los miembros del equipo mantengan determinada conducta y estado de ánimo que propicien las interacciones sanas y el alto rendimiento en el proyecto.
- Motivación Intrínseca: este tipo de motivación es propio de cada persona, es decir que por su propia voluntad e inspiración es capaz de mantener una conducta específica y el impulso necesario para cumplir con una meta que brinda satisfacción interna y realización personal. (Ref: CHAMPFROGS – Moving Motivators)
- Motivación Extrínseca: este tipo de motivación hace referencia a mantener una conducta específica para responder a un impulso externo, es decir que en este caso la voluntad e inspiración de la persona se ven influenciadas por una recompensa externa (que puede ser algo físico, monetario o psicológico).
Según cómo se maneje la motivación en el equipo Scrum, eventualmente la motivación extrínseca tiende a convertirse en motivación intrínseca, pues los miembros del equipo van adaptando su conducta y mejorando su rendimiento para cumplir los objetivos sin necesidad de que todo el tiempo estén recibiendo recompensas o algo a cambio.
2. Simplicidad
Scrum no sería considerada una metodología ágil de no ser por su simplicidad, es por ello que se intenta al máximo reducir la burocracia en sus prácticas, se trabaja con los artefactos que son esenciales para el equipo y se sigue un flujo de prácticas simple, sin descuidar todos los elementos necesarios para la correcta gestión del producto, eliminando cualquier trabajo superfluo o que no aporte valor.
👉 Tip para el Product Owner |
---|
Simplicidad en la Arquitectura del Producto: Una arquitectura bien diseñada y simple facilita la adición de nuevas características y la corrección de errores. La sobrecarga arquitectónica puede ralentizar considerablemente el desarrollo. |
A través de la simplicidad, se puede acelerar la entrega, mejorar la comunicación y reducir los riesgos asociados con la complejidad.
Algunos elementos que hacen posible la Simplicidad en Scrum son:
Maximizar el trabajo no realizado
La simplicidad no solo trata de hacer las cosas de manera simple, sino también de identificar y eliminar cualquier tarea que no sea esencial para alcanzar los objetivos del producto. Es una forma de ser eficiente y focalizado, dedicando recursos solo a lo que realmente importa.
Clara definición de "Hecho" (terminado)
Una definición clara y concisa de lo que significa "hecho" para un elemento del producto ayuda a evitar el trabajo innecesario. Si el equipo entiende perfectamente cuándo un ítem está completo, se evita el esfuerzo extra y las revisiones innecesarias.
Priorización
La simplicidad se logra también a través de una adecuada priorización de las tareas. Al centrarse en lo que realmente aporta valor al cliente o usuario final, el equipo puede evitar la complejidad y concentrarse en lo esencial.
Comunicación efectiva
Las soluciones simples a menudo emergen de una comunicación clara y efectiva. Al fomentar un diálogo abierto y honesto entre los miembros del equipo y con los interesados, se pueden identificar y eliminar obstáculos, malentendidos y redundancias.
👉 Tip para el equipo |
---|
Cuanto más dependencias existan entre tareas o equipos, más complejo se vuelve el trabajo. Al minimizar estas dependencias, no solo se simplifica el proceso, sino que se mejora la velocidad y fluidez del trabajo. |
Refactorización continua
La simplicidad también está en el código. Refactorizar regularmente el código para mantenerlo limpio y manejable es esencial. Un código más simple es más fácil de entender, modificar y mantener.
Limitar el trabajo en progreso (WIP)
Al limitar la cantidad de trabajo en progreso, los equipos pueden centrarse en finalizar tareas antes de comenzar nuevas. Esto reduce la complejidad y facilita una entrega más rápida y eficiente.
Usar herramientas de software
Las herramientas de software dedicadas a la gestión de proyectos ágiles se han consolidado como elementos cruciales para simplificar procesos y tareas. Estas herramientas ofrecen diversas ventajas, entre las cuales destacan:
- Centralización de Datos: Agrupan toda la información de los proyectos en un solo lugar, lo que facilita el acceso, control y análisis de la información.
-
Automatización de Tareas: Las herramientas permiten la automatización de diversas actividades, tales como:
- Realizar estimaciones basadas en datos históricos.
- Calcular métricas como la velocidad del equipo.
- Generar gráficos que permiten el seguimiento del presupuesto, el progreso del Sprint (Burndown) y el avance global del proyecto (Diagrama de flujo acumulado), entre otros.
- Crear registros detallados de las reuniones.
- Alertas Proactivas: Envían notificaciones sobre elementos del Product Backlog que podrían estar retrasados o requieran atención.
- Colaboración Remota: Facilitan la coordinación y colaboración entre equipos que están distribuidos geográficamente, asegurando que todos estén alineados en sus objetivos y tareas.
-
Especialización en Desarrollo: Para proyectos específicos de desarrollo de software, estas herramientas ofrecen funciones adicionales como:
- La integración continua.
- Ejecución de pruebas automatizadas.
- Trazabilidad completa entre el código y las historias de usuario.
👉 Tip para el equipo |
---|
No todas las herramientas sofisticadas son las mejores. A veces, las herramientas más simples, pero funcionales, pueden ser más eficaces y fáciles de usar para el equipo. |
3. Enfoque en el valor para los interesados
Dentro del marco Scrum, centrarse en entregar valor constante y significativo para los interesados es primordial. Este pilar se fundamenta en la premisa de que la satisfacción del cliente debe ser prioritaria y continua.
Para asegurarse de que el equipo está en la dirección correcta, es esencial tener en cuenta los siguientes puntos:
- Entregar incrementos "Terminados": Asegurarse de que cada incremento del producto cumpla con la Definición de Terminado (DoD) garantiza que los resultados no sólo son completos, sino que también son de alta calidad y aptos para su uso.
- Priorizar los elementos de mayor valor: La priorización efectiva del Product Backlog, garantiza que el equipo se enfoque en las características y funciones que ofrecen el mayor retorno de inversión y satisfacción para los interesados.
- Validar los prototipos con los interesados: Antes de iniciar el desarrollo completo, es crucial obtener feedback de los interesados sobre los prototipos. Esta práctica asegura que el producto esté alineado con las expectativas y necesidades del cliente desde una etapa temprana.
- Validación continua en la Revisión del Sprint: Presentar y validar cada incremento con los interesados durante la Revisión del Sprint permite recolectar retroalimentación directa y realizar ajustes en tiempo real, asegurando así que el producto final cumpla con sus expectativas.
👉 Tip para el Scrum Master |
---|
Reconoce y celebra cuando el equipo entregue valor real a los interesados. Esto motiva al equipo y refuerza la cultura centrada en el valor. |
👉 Tip para el Product Owner |
---|
Después de la entrega de un incremento o producto completo, realice encuestas para comprender qué tan satisfechos están los interesados y qué áreas se pueden mejorar. |
4. Disciplina
La disciplina es esencial en Scrum para garantizar que el equipo trabaje armoniosamente y cumpla con los objetivos trazados. Esta rigurosidad no sólo asegura la satisfacción del cliente sino también el funcionamiento fluido del equipo.
Lineamientos que forman parte de la disciplina del equipo:
- Lineamientos establecidos por el Equipo Scrum.
- Lineamientos establecidos por la organización (reglas de negocio).
- Bloques de tiempo asignados a los eventos Scrum (time-box).
- Definición de terminado (DoD) y criterios de aceptación.
👉 Tip para el Scrum Master |
---|
La disciplina no significa rigidez: Si un lineamiento o práctica no está funcionando, el equipo debe sentirse empoderado para discutirlo y hacer los ajustes necesarios. |
Lineamientos establecidos por el equipo Scrum
Estos son los acuerdos o reglas internas que el Equipo Scrum define para garantizar una colaboración y comunicación eficaces entre sus miembros. Por ser autoimpuestos, estos lineamientos refuerzan el pilar de auto-gestión y aseguran que el equipo se adueñe de su proceso. Gracias al pilar de la auto-gestión, son los miembros del Equipo Scrum, quienes establecen sus propios lineamientos, claro, considerando el cumplimiento de las reglas establecidas por la organización.
Los lineamientos del equipo suelen registrarse en un “Plan de Colaboración del equipo Scrum”. Estos lineamientos pueden abordar aspectos como los métodos y herramientas de comunicación preferidos, los horarios de las reuniones, la asignación de roles específicos dentro del equipo, penalizaciones por incumplimientos, los valores del equipo, o las normas sobre cómo y cuándo se realizarán ciertas tareas.
👉 Tip para el Scrum Master |
---|
Los lineamientos pueden requerir ajustes a medida que el equipo madura. Dedique tiempo en las retrospectivas para revisar y actualizar estos acuerdos. |
Lineamientos establecidos por la organización (reglas de negocio):
Estas son las directrices o reglas que la organización establece, y que todos los equipos, incluidos los Equipos Scrum, deben seguir. Pueden abordar áreas como los estándares de codificación, las políticas de seguridad de la información, los procedimientos de aprobación y revisión, entre otros. Estas reglas aseguran que, aunque el equipo tenga autonomía, su trabajo sigue estando alineado con los objetivos y requisitos más amplios de la organización.
Bloques de tiempo (time-box)
El marco de Scrum hace un uso extensivo del concepto de time-boxing, donde cada evento tiene una duración máxima asignada. Este enfoque garantiza que las ceremonias o eventos no se prolonguen innecesariamente y que el trabajo se realice de manera puntual y eficiente. Respetar estos bloques de tiempo es crucial para mantener la disciplina y el ritmo del equipo.
Algunas ventajas de establecer y cumplir los Bloques de Tiempo asignado son los siguientes:
- Se evita que el equipo pierda motivación.
- Menos gastos generales en el equipo.
- Se garantiza una alta velocidad para los equipos.
- Las prácticas relacionadas con el desarrollo de entregables son más eficientes.
Recuerda los bloques de tiempo de los eventos de Scrum:
- Sprint: 1-4 Semanas
- Planificación: 8 Horas para sprints de 1 mes
- Daily: 15 Minutos máximo
- Revisión: 4 Horas para sprints de 1 mes
- Retrospectiva: 3 Horas para sprints de 1 mes
Definición de terminado (DoD) y criterios de aceptación
La Definición de Terminado es una lista acordada de criterios que deben cumplirse para que una tarea o característica se considere "terminada". Asegura que todo el trabajo cumpla con un estándar mínimo de calidad y esté listo para ser entregado al cliente o puesto en producción.
Los criterios de aceptación, por otro lado, son requisitos específicos que una tarea o característica debe cumplir para ser aceptada por el cliente. Estos criterios ayudan a aclarar las expectativas y garantizar que el equipo esté trabajando hacia el mismo objetivo.
👉 Tip para el Developer |
---|
Aunque puede ser tentador manejar múltiples tareas a la vez, la multitarea puede disminuir la calidad y eficiencia del trabajo. Enfócate en una tarea a la vez y asegúrate de que se complete según la Definición de Terminado. |
5. Desarrollo iterativo
Dentro de Scrum, el proceso de trabajo se lleva a cabo mediante ciclos repetitivos conocidos como Sprints. Estos Sprints son el núcleo del enfoque iterativo de Scrum, permitiendo flexibilidad y adaptabilidad a lo largo del proyecto.
A diferencia de un enfoque de desarrollo tradicional, que busca tener un plan detallado desde el comienzo, el enfoque iterativo reconoce la naturaleza cambiante del desarrollo de productos y servicios. Al adoptar un enfoque de desarrollo iterativo, Scrum permite a los equipos responder a los cambios y adaptarse a las necesidades emergentes de los clientes, el mercado y la organización.
Ventajas del Desarrollo Iterativo:
- Entregas Incrementales: El desarrollo iterativo da lugar a entregas de producto por etapas, ofreciendo valor a los usuarios y partes interesadas desde fases iniciales del desarrollo.
- Adaptabilidad: Dada su estructura cíclica, permite ajustes y refinamientos en cada Sprint basados en el feedback obtenido, haciendo que el producto final esté más alineado con las necesidades reales del usuario.
- Aprendizaje Continuo: Las retrospectivas al final de cada Sprint brindan al equipo la oportunidad de reflexionar sobre su desempeño y hacer mejoras continuas en su proceso.
- Estabilidad y Control: La estructura de Sprint proporciona hitos regulares para revisar y ajustar el progreso, ofreciendo puntos de control y estabilidad al equipo.
- Transparencia: Las revisiones frecuentes de Sprint aseguran que las partes interesadas estén constantemente informadas sobre el progreso y estado del producto, reduciendo la incertidumbre y construyendo confianza.
👉 Tip para el Scrum Master |
---|
Promueve una cultura donde cada miembro del equipo esté comprometido con la mejora continua, no sólo en términos del producto sino también en términos de procesos y colaboración. |