¿Qué es la metodología ‘agile’? Scrum y Kanban

Las tendencias cambian a ritmo exponencial. Para dar respuesta a la competencia, han nacido desarrollos de software como las Metodologías Agile.

Hace más de 30 años, los desarrolladores de software vivían en completo estrés, cuando trataban de cumplir los deadlines y poder entregar un software de calidad. Para ese entonces, las empresas tenían una forma de trabajo y administración de proyectos, que no aportaba nada a la creatividad y a la implementación de tácticas para atajar problemas.

Es por ello que, en 2001, un grupo de personas se reúne para debatir el futuro del desarrollo de software a través del Manifiesto Agile, donde se comentaba que la burocracia dificultaba el trabajo fluido y la solución de problemas; la documentación excesiva enfocaba el trabajo en crear grandes tomos de documentos nunca mantenidos y raramente utilizados; la negociación contractual con el cliente, motivaba conflictos de intereses y generaba barreras en la comunicación; y el seguimiento de un plan riguroso generaba compromisos imposibles de seguir, así como la limitada capacidad de adaptación en un entorno VUCA.

¿Qué son las metodologías Agile?

Las metodologías Agile funcionan como marcos de trabajo, alineados con los valores y principios descritos en el Manifiesto Agile. Lo que buscaban los desarrolladores de este Manifiesto Agile, era converger en un único documento las mejores técnicas y consejos dentro del desarrollo de software y la aplicación de filosofía ágil, no solo en proyectos de software, sino en todo tipo de proyectos y hasta en la vida diaria.

El desarrollo de software ágil se refiere a las metodologías de desarrollo de software centradas en la idea del desarrollo iterativo, donde los requisitos y las soluciones evolucionan a través de la colaboración entre equipos multifuncionales autoorganizados. El valor final del desarrollo Agile es que permite que los equipos entreguen valor mucho más rápido, en un contenido de mayor calidad y previsible, junto a una mayor aptitud para responder a los cambios del mundo. Kanban y Scrum, son dos de las metodologías Agiles más utilizadas en el desarrollo de proyectos.

Roles en la metodología Agile

Un proceso de desarrollo de software Agile, permite siempre comenzar con la definición de los usuarios de un producto en particular y la documentación de una declaración de visión para el alcance de los problemas, las oportunidades y los valores que se abordarán. El propietario del producto capta esta visión y trabaja con un equipo (o equipos) multidisciplinarios para cumplirla.

Usuarios

Un proceso ágil siempre comienza con el usuario o cliente en mente. Hoy en día, a menudo definimos personajes de usuario para ilustrar diferentes roles de flujo de trabajo o tipos de necesidades y comportamientos de los clientes.

Dueño del producto

El propietario del producto tiene la tarea de ser la voz del cliente, incluidas las partes interesadas internas. Esta persona extrae conocimientos, ideas y comentarios para crear una visión del producto. Las visiones del producto suelen ser cortas y directas, pero, no obstante, pintan una imagen de quién es el cliente o usuario, qué valores se abordan y una estrategia para abordarlos. Cualquiera que sea la visión, el propietario del producto es responsable de definirla y luego trabajar con el equipo de desarrollo para hacerla realidad.

Para trabajar con el equipo de desarrollo, el dueño del producto tendrá que desglosar la visión del producto en una serie de historias de usuarios. Cada historia de usuario debe identificar a los usuarios objetivo, sus desafíos, por qué se necesita la solución y qué restricciones y criterios de aceptación definen la solución. El propietario del producto prioriza estas historias de usuarios y las revisa con el equipo para garantizar que tengan una comprensión compartida de lo que se les pide.

Equipo de desarrollo de software

Los equipos deben ser multidisciplinarios e incluir un grupo diverso con habilidades y antecedentes en trabajos similares. Además de los desarrolladores, los equipos de desarrollo ágil deben incluir ingenieros de automatización de control de calidad, ingenieros de datos, diseñadores de experiencia de usuario (UX) y otros roles según el tipo de proyecto de software.

Agile enfoca a los equipos en la entrega de software que funcione, por lo que deben completar aplicaciones, integraciones y otros entregables que funcionen de extremo a extremo que impacten a los usuarios, no solo a los componentes técnicos. Los miembros del equipo deben alinearse con lo que están construyendo, quién está haciendo qué y cómo se desarrollará el software.

Los equipos ágiles a menudo tienen otros roles asignados, incluidos los siguientes:

  • Los líderes tecnológicos, o de equipo, se asocian con el propietario del producto en la arquitectura, los criterios de aceptación no funcionales, la secuenciación, las dependencias y otras consideraciones tecnológicas y de seguridad. Los líderes tecnológicos tienen amplias responsabilidades que pueden incluir la estimación de historias y la planificación de los detalles de implementación con el equipo.
  • Los maestros de Scrum a menudo entrenan a nuevos equipos en procesos, responsabilidades y herramientas ágiles. Las responsabilidades del Scrum Master, pueden incluir la resolución de bloqueos que impiden el progreso, la revisión de enfoques para mejorar la velocidad del equipo ágil y preparación de los trabajos pendientes.
  • Los analistas comerciales se asocian con el propietario del producto. Las responsabilidades de los analistas suelen incluir la creación de esquemas, la documentación de historias de usuarios y la revisión de los resultados de las pruebas. Los analistas de negocios son especialmente útiles cuando los equipos de desarrollo de software desarrollan microservicios y otros productos técnicos, y cuando el analista de negocios tiene más conocimientos de desarrollo de software que el propietario del producto.

Depende de los líderes organizacionales decidir cómo dotar de personal a los equipos ágiles y qué tan grandes hacerlos. Muchos siguen la mejor práctica de Jeff Bezos de construir dos equipos ágiles del tamaño de una pizza para maximizar la colaboración entre los compañeros de equipo.

Scrum y Kanban

Una vez que la visión del producto y el equipo (o equipos) adoptan principios ágiles, comenzando con los identificados en el manifiesto Agile, la organización debe seleccionar una metodología de proceso. Scrum y Kanban son los principales procesos ágiles.

Algunas organizaciones comienzan con Kanban porque es relativamente sencilla de explicar e implementar. Esta metodología, funciona como un proceso de entrada y salida donde el equipo extrae las historias de los usuarios de un tablero de entrada y las canaliza a través de un flujo de trabajo hasta que se marcan como terminadas.

Por otro lado, muchas otras organizaciones implementan la Metodología Scrum, que organiza el trabajo en cadencias llamadas Sprints, que suelen durar entre una o dos semanas. El propietario del producto escribe los requisitos como historias de usuario y luego los prioriza en una cartera de pedidos en función de su valor comercial. El equipo revisa el backlog y se compromete con las mejores historias de usuarios que pueden completar durante el sprint.

¿Qué es la metodología ‘agile’? Scrum y Kanban

Experto en SEO Javier Carmona

Comprueba el estado de tu web o el de la competencia con esta herramienta:

Comprueba el estado de tu web o el de la competencia con esta herramienta:

Experto en SEO
Consultor SEO Alicante
[Puntuación media de las Reseñas: 5]