Metodologías Ágiles
¿Qué son las Metodologías Ágiles?
Estas son metodologías de trabajo que permiten la adaptación a las circunstancias de los proyectos y reducen los procesos de documentación. Generalmente se usan en proyectos que no tienen un alcance definido con certeza, lo que los hace muy propensos al cambio. En estas metodologías, las entregas de productos funcionales en un tiempo corto (2 a 4 semanas) permiten que el proceso de cambios y corrección de errores sea rápido y no tenga un costo muy alto para el proyecto en general.
Agilidad Moderna
Agilidad Moderna es mucho más amplia que el Manifiesto Ágil para el Desarrollo de Software. Agilidad Moderna es un concepto que considera muchas áreas diferentes, no solo el desarrollo de software. Incluso se puede aplicar en organizaciones que no se dedican al software.
Para aclarar cómo surgió Agilidad Moderna, aquí hay un fragmento del sitio web: Durante la última década, empresas innovadoras, líderes de opinión de la industria del software y pioneros lean/ágiles han descubierto formas más sencillas, resistentes y optimizadas de ser ágiles. Estos enfoques modernos comparten un enfoque en producir resultados excepcionales y desarrollar una cultura sobresaliente. Hoy en día, tiene mucho más sentido obviar la agilidad anticuada en favor de enfoques modernos.
Los métodos de Agilidad Moderna se definen mediante cuatro principios rectores:

¿Tipos de Metodologías Ágiles?
Algunas de las metodologías ágiles más conocidas y utilizadas en la industria son:
Scrum
Es una metodología ágil que se basa en la comunicación y revisión constante de las tareas realizadas (sprints). Para cada sprint se llevan a cabo los procesos de planificación, aseguramiento de la calidad, desarrollo, inspección de calidad y retroalimentación. Esto reduce el costo en la corrección de errores, ya que un sprint finaliza solo cuando el cliente acepta todos los criterios de aceptación. Los valores fundamentales de esta metodología son la innovación, la flexibilidad, la competitividad y la productividad.
Kanban
Consiste en la elaboración de una tabla o diagrama en el que se reflejan tres columnas de tareas: pendientes, en proceso y finalizadas. Esta tabla debe estar al alcance de todos los miembros del equipo, evitando así la repetición de tareas o la posibilidad de olvidar alguna. Por lo tanto, ayuda a mejorar la productividad y la eficiencia del equipo. Entre sus objetivos están mejorar la planificación del trabajo, aumentar el rendimiento y definir tiempos de entrega continuos.
Programación Extrema (XP)
Es una metodología basada en un conjunto de reglas y buenas prácticas para el desarrollo de software en entornos altamente cambiantes con requisitos imprecisos; por ello, se enfoca en la retroalimentación continua entre el equipo de desarrollo y el cliente. XP se basa en la simplicidad y tiene como objetivo la satisfacción del cliente.
Gestión de Proyectos Ágiles
Historias de Usuario
Una historia de usuario es un método ligero para capturar rápidamente el quién, qué y por qué de un requisito de producto. En términos sencillos, las historias de usuario son ideas de requisitos que expresan lo que necesitan los usuarios. Son breves y cada elemento suele contener menos de 10 o 15 palabras.
El propósito de una historia de usuario es articular cómo una tarea aportará un valor particular al cliente. Ten en cuenta que los clientes no tienen que ser usuarios finales externos en el sentido tradicional; también pueden ser clientes internos o colegas dentro de tu organización que dependen de tu equipo.
¿Cómo escribir Historias de Usuario?
- Definición de Hecho: La historia generalmente se “termina” cuando el usuario puede completar la tarea descrita.
- Desglosa subtareas o tareas: Decide qué pasos específicos deben completarse y quién es responsable de cada uno.
- Usuario: ¿Para quién? Si hay varios usuarios finales, considera crear varias historias.
- Pasos ordenados: Escribe una historia para cada paso de un proceso más amplio.
- Escucha comentarios: Habla con tus usuarios y captura el problema o la necesidad en sus propias palabras.
- Tiempo: Dado que las historias deben completarse en un sprint, las historias que podrían tardar semanas o meses deben dividirse en historias más pequeñas o considerarse épicas.
Ejemplos:
- Como gerente, quiero poder comprender el progreso de mis colegas, para poder informar mejor sobre nuestros éxitos y fracasos.
- Como cliente, quiero la funcionalidad de carrito de compras para poder comprar artículos fácilmente en línea.
- Como gerente, quiero generar un informe para poder entender qué departamentos necesitan más recursos.
Reuniones de Trabajo
Sesión de Planificación
La planificación del sprint es una sesión de trabajo acotada en el tiempo que dura aproximadamente 1 hora por cada semana de sprint. Es un evento dentro del marco de Scrum donde el equipo determina los elementos del backlog de producto en los que trabajará durante ese sprint y discute su plan inicial para completar esos elementos.
Este acuerdo define el backlog del sprint y se basa en la velocidad o capacidad del equipo y la duración del sprint.
¿Quién está implicado?
- Propietario del Producto: Identifica los elementos candidatos del backlog y sus prioridades relativas, además de proponer un objetivo de sprint.
- Miembros del equipo: Determinan cuántos elementos del backlog creen que podrán completar y cómo entregarán esos elementos.
- Scrum Master: Facilita la planificación del sprint para garantizar que la discusión sea efectiva y que haya acuerdo con el objetivo y que los elementos apropiados se incluyan en el backlog del sprint.
Pasos de Planificación
- Discute cualquier información nueva que pueda afectar el plan.
- Confirma los problemas e inquietudes actualmente conocidos y regístralos según corresponda.
- Revisa la definición de Hecho y realiza las actualizaciones apropiadas según la tecnología, habilidades o cambios de los miembros del equipo desde el último sprint.
- Presenta los elementos del backlog de producto propuestos para considerar en el backlog del sprint.
- Determina las necesidades, asigna el trabajo y estima el esfuerzo requerido.
- El Propietario del Producto responde preguntas aclaratorias y detalla los criterios de aceptación.
- Confirma cualquier problema o inquietud nueva surgida durante la reunión y regístralo.
- Confirma cualquier suposición o dependencia descubierta durante la planificación y regístrala.
- El Scrum Master solicita un consenso grupal sobre el plan.
- El equipo y el Propietario del Producto señalan si este es el mejor plan posible con la información disponible.
- Vuelve al trabajo.
Sesión de Grooming
El grooming del backlog, también conocido como refinamiento del backlog o story time, es un evento recurrente para equipos de desarrollo ágil de productos. El propósito principal de una sesión de grooming del backlog es asegurar que las próximas historias de usuario en el backlog estén preparadas para la planificación del sprint. Las sesiones regulares de grooming ayudan a garantizar que las historias adecuadas se prioricen.
¿Quién está implicado?
- Propietario del Producto: Facilita las sesiones de refinamiento del backlog, aunque no es el único responsable de realizarlas.
- Miembros del equipo: Estos eventos son colaborativos; todo el equipo multifuncional debe estar representado en las sesiones.
- Representantes de QA: Se necesita la experiencia combinada de las diversas funciones del equipo para desarrollar eficazmente las historias de usuario.
Pasos de Grooming
- Elimina historias de usuario que ya no parezcan relevantes.
- Crea nuevas historias de usuario en respuesta a necesidades recién descubiertas.
- Reevalúa la prioridad relativa de las historias.
- Asigna estimaciones a las historias que aún no las tienen y corrige estimaciones con nueva información.
- Divide historias de usuario de alta prioridad.
- Vuelve al trabajo.
Sesión de Stand-up
Una reunión diaria de stand-up es una oportunidad para que el equipo del proyecto discuta el progreso a un alto nivel. Estas reuniones duran aproximadamente 15 minutos y permiten a cada colaborador informar sobre sus logros desde la última reunión.
Fiel a su nombre, todos los participantes suelen permanecer de pie para que las reuniones sean breves y centradas. Sin embargo, también es posible realizar stand-ups virtuales.
En la gestión de proyectos ágiles, las reuniones diarias de stand-up son esenciales. Permiten que los miembros del proyecto compartan información crítica, discutan abiertamente los problemas y se responsabilicen entre sí.
Beneficios de los Stand-ups Diarios Ágiles
- Permiten a los miembros del equipo trabajar colaborativamente hacia los objetivos del proyecto.
- Mantienen a los equipos ágiles enfocados y en la tarea, mientras proporcionan actualizaciones rápidas a nivel de proyecto.
- La metodología ágil trata sobre versatilidad y flexibilidad; es importante ajustar las reuniones a las necesidades del equipo.
- Deben informar y destacar los problemas para mantener el proyecto en marcha y adelantarse a posibles inconvenientes.
Sesión de Retrospectiva
Es una reunión que se celebra después de lanzar un producto para discutir lo ocurrido durante el desarrollo y lanzamiento, con el objetivo de mejorar en el futuro basándose en esos aprendizajes y conversaciones.
Una retrospectiva ágil obliga a todo el equipo a pausar y reflexionar sobre lo sucedido, discutiendo qué funcionó y qué no durante un proyecto específico.
¿Con qué frecuencia debes realizar Retrospectivas?
Las retrospectivas pueden realizarse con mayor frecuencia, incluso para lanzamientos menores, cada sprint o incluso en reuniones diarias o semanales.
Sesión de Demo
La demo de sprint es invaluable para mantener a las partes interesadas al tanto del progreso del desarrollo del producto. Les permite dar feedback y discutir con el Propietario del Producto y el equipo Scrum posibles enmiendas al backlog de producto que maximicen el valor.
La demo no debería ocupar demasiado tiempo de un equipo Scrum. Asegurarse de que la reunión sea informal, con preguntas, feedback y discusión bienvenidos, permite mantener al mínimo el tiempo de preparación.
Pasos para la Demo
- Cuenta una historia: Este es uno de los factores más importantes para una gran demo y también el más pasado por alto. Dada la naturaleza estructurada de las historias ágiles y épicas, es fácil caer en la trampa de enumerar simplemente el trabajo realizado. Esto no es necesariamente malo, pero es poco probable que entusiasme a las partes interesadas no técnicas.
- Deja que los desarrolladores se luzcan: Siempre que sea posible, permite que los desarrolladores presenten su propio trabajo, lo que ayuda a generar confianza, moral y sentido de pertenencia. Un buen compromiso puede ser tener un orador organizador con un desarrollador “invitado” diferente cada semana.
- Establece expectativas: Establecer expectativas y proporcionar contexto es fundamental para una demo exitosa.
- Elementos de acción: Enumera todas las historias completadas en tu agenda, elimina las que no deban demostrarse, organiza las restantes en escenarios o temas, decide si los desarrolladores ayudarán con partes de la demo y mantén las expectativas y el contexto a lo largo de toda la presentación.