¿Qué son las Metodologías Ágiles?
Cuando se trata de procesos y principios en el desarrollo de software, podemos pensar en "ágil" como nuestro verdadero norte; el sistema vascular de un equipo altamente eficiente y centrado en el ser humano. Es el término general para todos los demás procesos. Además, los ideales y principios ágiles son los entornos mediante los cuales funciona DevOps y mediante los cuales se unen las metodologías Scrum y Kanban.
La Metodología Ágil está guiada por valores y principios que ciertamente apuntan a producir un producto eficiente y funcional en incrementos cortos, pero más aún enfatizan la importancia de las capacidades humanas, como la adaptabilidad y la comunicación, dentro de un equipo interdependiente.
Breve historia de la metodología ágil
La Metodología Ágil nació como resultado de las fallas del Método Waterfall en combinación con un mercado competitivo y en crecimiento. El método de cascada es un proceso muy lineal de A a B, en el que los analistas de negocios escribirían la estrategia comercial y se la pasarían a los tecnólogos, quienes traducen la jerga comercial en estructuras de datos, interfaces de usuario y varios requisitos no funcionales. Finalmente, esta especificación se entregó a los desarrolladores (la última parada de la cascada), quienes comenzaron la codificación y la integración.
De hecho, una revolución inicial en la industria, el proceso bien intencionado del método de cascada se convirtió en una frustración aislada y prolongada, especialmente cuando Internet cobró vida y las telecomunicaciones trajeron nuevas posibilidades. En 2001, cansados del enfoque de arriba hacia abajo, similar a una máquina en un mercado que cambiaba rápidamente y se movía más rápido de lo que podían, 17 tecnólogos se reunieron en Utah y desarrollaron el Manifiesto Ágil que conocemos hoy.
¿Qué es el Manifiesto Ágil?
El Manifiesto Ágil ha servido como el verdadero norte para docenas de metodologías adaptadas, que cubriremos a continuación. En el manifiesto, los autores desglosan ágil en 4 valores y doce principios clave. A continuación, describimos cada componente.
Cuatro valores principales del manifiesto ágil
- Individuos e interacciones sobre procesos y herramientas
- Software de trabajo sobre documentación completa
- Colaboración con el cliente sobre la negociación del contrato
- Responde al cambio sobre el siguiente plan
Doce principios clave del manifiesto ágil
- La máxima prioridad es satisfacer al cliente a través de la entrega temprana y continua del producto.
- Entregue software que funcione con frecuencia, desde un par de semanas hasta meses, aunque prefiera la escala de tiempo más corta.
- Bienvenido a los requisitos cambiantes, incluso al final del desarrollo
- Colaboración diaria entre equipos
- Proporcione al equipo un entorno de apoyo y confíe en que se autogestionarán para hacer el trabajo.
- Las mejores arquitecturas, requisitos y diseños surgen de equipos autoorganizados.
- La conversación cara a cara es la forma más eficiente de transmitir información (*Esto ha cambiado ahora para incluir videollamadas).
- El software que funciona es la medida principal del progreso
- Los procesos ágiles promueven el desarrollo sostenible a un ritmo constante.
- La atención continua a la excelencia técnica y el buen diseño mejoran la agilidad
- Mantenlo simple.
- El equipo se reúne sobre cómo ajustar y sintonizar para una mayor eficiencia.
Marcos ágiles
Scrum
Scrum es un marco ágil que ayuda a los equipos a colaborar dentro de los roles, reglas y artefactos asignados a lo largo de una serie de cuatro eventos: Sprint Planning , Daily Standup, Iteration Review y Retrospective. Scrum es altamente adaptable por la industria, lo que lo convierte en una de las opciones más populares para los equipos. Su proceso ciertamente está estructurado en roles y cronogramas, pero dentro de cada evento, el equipo, asesorado por un Scrum Master, puede elegir el estilo o proceso de comunicación que funcione para su industria o dinámica. Con el espíritu de mejora continua , una vez que los equipos se sienten cómodos con el marco Scrum, generalmente comienzan a romper las "reglas" y comienzan a hacer cambios para ajustarse a su propio estilo particular.
Kanban
Los equipos pueden recurrir a Kanban si tienen una gran afluencia de solicitudes de órdenes de trabajo que varían en longitud y tamaño. Al igual que Scrum, Kanban es un marco para ayudar a los equipos a trabajar juntos, pero a diferencia de Scrum, su proceso no tiene roles definidos, ofrece la capacidad de cambiar en cualquier momento y fomenta una cadencia de trabajo continua y el lanzamiento de productos. Traído a la vida a través de una combinación del trabajo de Jim Benson y David Anderson, Kanban permite a los equipos "ir con la corriente".
Los objetivos principales de Kanban son ser muy visuales y reducir el trabajo en curso (WIP) al tiempo que fomentan el movimiento continuo. La modalidad central es el tablero kanban, que divide el trabajo en cinco componentes:
- Señales visuales
- columnas
- Límites de trabajo en curso
- Un punto de compromiso
- Un punto de entrega.
El equipo luego determinará la calidad por varias métricas .
Programación extrema (XP)
La programación extrema (XP) es un marco de software ágil que tiene como objetivo proporcionar una vida de mayor calidad para los desarrolladores y un producto de mayor calidad. Como explica Don Wells, XP no está diseñado para equipos grandes; recomienda equipos de 2 a 12 personas para un éxito óptimo. Similar a los valores del Manifiesto Ágil, XP realmente aprovecha la naturaleza humana de los equipos con valores centrales de comunicación, simplicidad, retroalimentación, coraje y respeto, y una serie de "prácticas centrales" que son versátiles para muchos tipos de equipos. dinámica. Por ejemplo, los miembros participan en el juego de planificación, en el que idean varias iteraciones y lanzamientos para dirigir el proceso (similar a la planificación de Sprint en Scrum).