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 delde Marcoeste marco de Trabajo.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.
3.5.1. Auto-gestió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).
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.
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”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.
Se debe considerar que, según la naturaleza del proyecto, las necesidades de la organización e incluso factores externos, determinan la ubicación de los miembros del Equipo. Es por esto que en Scrum los Equipos se clasifican en 2 categorías:
Equipos Centralizados
Las características de un Equipo Centralizado son: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 DistribuidosDistribuidos:
Un Equipo Distribuido esEs 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.
Etc.
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.
Equipos multifuncionales
Los equipos multifuncionales (también llamadas células ágiles) tienen todas las competencias y habilidades necesarias para llevar a cabo
Gestionar el trabajo sin depender de otras personas que no formen parte del equipo.conocimiento
Contrario a lo que piensa un equipo multifuncional, no se trata de que todos sus integrantes hagan de todo, se trata deDado que los integrantesequipos adquieranautogestionados conocimientose en distintas disciplinas (aplicables a los proyectosresponsabilizan de lasu organización)aprendizaje y así puedan contribuir eficazmente concrecimiento, 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ágestión del tema.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
Realizar este ejercicio 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.
Propiedad 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.
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;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.
Tipos
- 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).
Tener un Propósito.El trabajo debería suponer un "reto" intelectual (esto permitirá el aprendizaje, la investigación y el desarrollo de nuevo conocimiento).Compañerismo y buena relación con los demás miembros del equipo.EsA
responsabilidadtravésdelde 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
Masterson:garantizarMaximizar
queellatrabajo no realizadoLa simplicidad
seránoelsolopilartratafundamentaldeparahacerlalasadopciócosas de manera simple, sino también deScrum.identificar - Centralizan la información de los proyectos, permitiendo un mejor control de la información.
- Permiten automatizar tareas, por ejemplo:
- Estimaciones basadas en históricos.
- Calcular la velocidad del equipo.
- Elaborar gráficos para el seguimiento del presupuesto, progreso del Sprint (Burndown), progreso del proyecto (Diagrama de flujo acumulado), etc.
- Generar actas de reuniones.
- Generan notificaciones sobre elementos del Product Backlog con atraso.
- Facilitan la interacción de los Equipos Distribuidos geográficamente.
- Si los proyectos son de desarrollo de software, permiten, además:
- Integración continua.
- Pruebas automatizadas.
- Trazabilidad bidireccional entre código e historias de usuario.
- Es importante que en cada uno de los Sprints se generen incrementos de producto que entreguen valor para los interesados y estos a su vez estén “terminados (DoD)”.
- Para realizar la priorización de los elementos que hacen parte del Product Backlog los miembros del Equipo Scrum deberán considerar principalmente el valor que el elemento puede generar, para ello es importante el concepto de transparencia
- Es altamente importante que los interesados participen de las revisiones de los prototipos del producto antes de realizar cualquier desarrollo; incluso y según la naturaleza del producto, el cliente podrá participar en el diseño del producto.
- Cada incremento de producto “terminado” debe ser validado con el cliente para asegurar la recolección de retroalimentación.
- 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.
- Herramientas de comunicación
- Horarios de las reuniones
- Penalizaciones por incumplimientos
- Valores del equipo
- Se evita que el equipo pierda motivación.
- Menos gastos generales para el proyecto.
- Se garantiza una alta velocidad para los equipos.
- Las prácticas relacionadas con el desarrollo de entregables son más eficientes.
- 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
- Permite realizar entregas incrementales del producto, permitiendo a los clientes/usuarios disfrutar del valor entregado desde etapas tempranas.
- Permite la adaptación continua del trabajo, ya que se puede recolectar retroalimentación de las partes interesadas en cada una de las iteraciones.
- La realización de las reuniones de retrospectiva de los distintos Sprint, permiten el aprendizaje continuo del equipo.
- Realizar Sprints agrega puntos de control al trabajo del equipo, además proporciona estabilidad a los equipos.
- Las reuniones de revisión del Sprint, se realizan frecuentemente, permitiendo reducir la incertidumbre de las partes interesadas respecto a los entregables de producto.
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.
Identificar
los motivadores
Cuando hablamos de motivación, es el Scrum Master quien tendrá la mayor participación y responsabilidad pues al estar al servicio del equipo Scrum puede identificar fácilmente qué es lo que aumenta o disminuye la motivación de los miembros del equipo; es por esto que dentro de las tareas del Scrum Master se incluye la identificación y análisis de los elementos motivadores del equipo para construir y desarrollar un Plan de Motivación que posteriormente negociará con el Product Owner para asegurar los recursos necesarios para su ejecución.
Incentivar la investigación
Dentro del conjunto de factores que aumentan la motivación del equipo en Scrum se recomienda impulsar la investigación de nuevos productos o tecnologías lo cual favorece que los miembros del equipo adquieran nuevo conocimiento y se inclinen hacia el logro de nuevos objetivos.
La investigación también propiciará que los miembros del equipo se propongan metas basadas en la autorrealización y desarrollo de sus propias competencias.
Algunas metodologías en el mercado hablan de las técnicas que pueden incentivar la investigación en los equipos, tales como: DemoDay – Hackathon – Exploration Days – TED days, etc.
Los factores claves de la motivación son:
3.5.22. 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 proyectoequipo y se sigue un flujo de prácticas simple, sin descuidar todos los elementos necesarios para la correcta gestión del proyecto.producto, eliminando cualquier trabajo superfluo o que no aporte valor.
Diseñ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 simpleusuario final, el equipo puede evitar la complejidad y concentrarse en lo esencial.
Comunicación efectiva
LoLas mássoluciones importantesimples 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.
Refactorización continua
La simplicidad también está en el desarrollocódigo. deRefactorizar un producto usandoregularmente el marcocódigo Scrum,para mantenerlo limpio y manejable es elesencial. valorUn quecódigo entrega para los clientes/usuarios, considerando ademámás que su desarrollo debería tardar el menor tiempo posible.
Es por esto que es altamente recomendable establecer un alcance para el proyecto que considere suficientes características para que el producto sea de alto valor para el usuario pero que tenga el menor tiempo de desarrollo posible, sin descuidar la calidad.
Este concepto tiene su justificación en los principios del Manifiesto Ágil “El producto funcionalsimple es más importantefácil quede entender, modificar y mantener.
Limitar el trabajo en progreso (WIP)
Al limitar la documentacióncantidad exhaustiva”.de (Vertrabajo en progreso, los equipos pueden centrarse en finalizar tareas antes de comenzar nuevas. Esto reduce la complejidad y facilita una entrega más enrápida lay sección 6.6)eficiente.
Uso deUsar herramientas de software
Las herramientas de software para la gestión de proyectos ágilesgil se han convertido en un elemento indispensable para garantizar la simplicidad. Algunas de las ventajas de usar estas herramientas son:
3.5.3 Enfoque en el valor para los interesados
En un equipo Scrum, la máxima prioridad es satisfacer al cliente desde el inicio y continuamente entregándole el máximo valor posible, para lo cual es importante considerar los siguientes aspectos:
3.5.4 Disciplina
Seguir los lineamientos establecidos por el negocio y los interesados es de vital importancia para garantizar una sana convivencia entre todos los miembros del Equipo Scrum y garantizar la satisfacción del cliente.
Lineamientos que forman parte de la disciplina del equipo:
Lineamientos del equipo
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”.
Como lineamientos del equipo se pueden definir:
Bloques de tiempo (time-box)
Los bloques de tiempo asignados a los eventos Scrum, garantizan que no se desperdicia tiempo en los proyectos. Algunas ventajas de respetar los Bloques de Tiempo asignado son los siguientes:
Recuerda los bloques de tiempo de los eventos de Scrum:
3.5.5 Desarrollo iterativo
Cuando Scrum se aplica en un equipo, el desarrollo del trabajo se debería realizar por iteraciones, también conocidas como Sprints.
El enfoque iterativo es flexible y abierto a los cambios, lo que permite adaptar nuestro trabajo a las necesidades cambiantes del mercado, del cliente o de la organización.
Algunas de las ventajas del desarrollo iterativo son:
Scrum se basa en la transparencia. Las decisiones para optimizar el valor y controlar el riesgo se toman basadas en el estado percibido de los artefactos. En la medida en que la transparencia sea completa, estas decisiones tienen unas bases sólidas. En la medida en que los artefactos no son completamente transparentes, estas decisiones pueden ser erróneas, el valor puede disminuir y el riesgo puede aumentar.
El Scrum Master debe trabajar con el Product Owner, el Equipo de Desarrollo y otras partes interesadas para entender si los artefactos son completamente transparentes. Hay prácticas para hacer frente a la falta de transparencia; el Scrum Master debe ayudar a todos a aplicar las prácticas más apropiadas si no hay una transparencia completa.
Un Scrum Master puede detectar la falta de transparencia inspeccionando los artefactos, reconociendo patrones, escuchando atentamente lo que se dice y detectando diferencias entre los resultados esperados y los reales.
La labor del Scrum Master es trabajar con el Equipo Scrum y la organización para mejorar la transparencia de los artefactos. Este trabajo usualmente incluye aprendizaje, convicción y cambio. La transparencia no ocurre de la noche a la mañana, sino que es un camino.