¿Qué es el desarrollo ágil de software?
El desarrollo ágil es una de las palabras de moda en la industria del desarrollo de software. Es otra forma de gestionar proyectos de desarrollo de software. No es una metodología de desarrollo de software específica, sino más bien un nombre colectivo para un conjunto de métodos y prácticas basadas en los valores y principios expresados en métodos ágiles, donde las soluciones se desarrollan a través de la colaboración entre equipos autoorganizados y multifuncionales.
Agile es un término utilizado para describir un enfoque de desarrollo de software que enfatiza la entrega incremental, la colaboración en equipo, la planificación continua y el aprendizaje continuo, en lugar de intentar entregar todo de una vez cerca del final de un proyecto.
Agile se centra en mantener los procesos ágiles y crear productos mínimos viables (MVP) que pasan por múltiples iteraciones antes de la implementación final. La retroalimentación se recopila e implementa continuamente y, en general, es un proceso más dinámico en el que todos trabajan juntos para lograr un objetivo.
Scrum y otros métodos ágiles líderes
Agile es una forma de pensar, un conjunto de valores y principios.
La agilidad es una forma de pensar y actuar.
Agile es un método de desarrollo que implica ciclos cortos, entrega iterativa e incremental, falla rápida en la obtención de retroalimentación, entrega temprana de valor comercial a los clientes y colaboración e interacción entre el personal relevante.
Agile es una forma de pensar en la transparencia, la inspección y la adaptación.
Sin embargo, Agile no contiene roles, eventos o artefactos. Por ejemplo, Scrum es uno de los marcos más utilizados bajo el paraguas ágil, que puede ayudarle a ser más ágil; sin embargo, hay muchos más marcos en el movimiento ágil, como Kanban, XP, Crystal, etc.
Scrum Agile Umbrella
Scrum
Scrum es un marco en el que las personas pueden resolver problemas adaptativos complejos mientras entregan de manera eficiente y creativa productos de mayor valor. Se utiliza para gestionar proyectos de software, productos o desarrollo de aplicaciones. Se centra en una estrategia de desarrollo de productos adaptativa en la que equipos multifuncionales trabajan como una unidad para lograr un objetivo común en 2 a 4 semanas (Sprint). Se compone de valores, artefactos, roles, rituales, reglas y mejores prácticas.
Lean
Lean se originó a partir del Sistema de Producción Toyota (TPS), que revolucionó la industria manufacturera en las décadas de 1950, 1960 y más allá. Las técnicas lean han encontrado su lugar en la fabricación, ayudando a las industrias a eliminar el desperdicio, mejorar los procesos y fomentar la innovación. El desarrollo de software es una aplicación natural de las metodologías Lean porque, al igual que la fabricación, normalmente sigue un proceso definido, tiene algunas condiciones de aceptación definidas y da como resultado la entrega de valor tangible. Los conceptos clave que guían todas las prácticas del enfoque Lean son lo que llamamos los Pilares Lean. Ellos son:
Mejora continua
Respeto a los empleados
Liderazgo ligero
Kanban
Kanban es un sistema altamente visual enfoque para la gestión del flujo de trabajo popular entre los equipos lean. De hecho, el 83% de los equipos que practican Lean utilizan tableros Kanban para gestionar visual y activamente la creación de productos, enfatizando la entrega continua en lugar de imponer una carga indebida al equipo de desarrollo. Al igual que Scrum, Kanban es un proceso diseñado para ayudar a los equipos a colaborar de forma más eficaz.
Los tableros Kanban se basan en los siguientes tres principios básicos:
Visualiza lo que vas a hacer hoy (workflow): es muy útil ver todos los proyectos en el contexto de cada uno other
Limitar el trabajo en progreso (WIP): esto ayuda a equilibrar un enfoque basado en procesos para que los equipos no comiencen y envíen demasiado trabajo a la vez
Proceso mejorado: cuando algo está completo Cuando llegue el momento, se pondrá en juego el segundo elemento de mayor prioridad en la lista de tareas pendientes
Kanban promueve la colaboración continua y fomenta el aprendizaje activo y continuo al definir el mejor flujo de trabajo del equipo y las mejoras.