¿Qué es el enfoque iterativo ágil y dónde se usa?

Publicado: 2018-06-22

Para mantenerse al día con la demanda del mercado, los escenarios de rápida evolución del negocio digital han ejercido una presión creciente sobre los CIO para que ofrezcan un desarrollo de software igualmente rápido.

Según Gartner, un número creciente de organizaciones de TI están optando por el desarrollo Agile para agilizar la gestión de proyectos e ilustrar el valor empresarial.

El 12º informe anual sobre el estado de Agile encontró que una de las cinco principales razones informadas para adoptar metodologías ágiles fue la entrega acelerada de software , que aumentó al 75 % en 2018. Mientras que la planificación iterativa, con un aumento del 88 %, fue la segunda metodología ágil más empleada. Técnica en 2018.

¿Qué es el desarrollo iterativo ágil?

Los métodos ágiles de desarrollo de software se describen más comúnmente como desarrollo iterativo e incremental. La estrategia iterativa es la piedra angular de las prácticas ágiles, las más destacadas son SCRUM, DSDM y FDD. La idea general es dividir el desarrollo del software en secuencias de ciclos repetidos (iteraciones). A cada iteración se le asigna un período de tiempo fijo conocido como timebox. Una sola caja de tiempo suele durar de 2 a 4 semanas.

El modelo iterativo ágil quizás sea mejor explicado por Craig Larman en su libro Desarrollo ágil e iterativo: una guía para gerentes . Larman explica que el modelo funciona en una Rueda ADTC (Análisis, Diseño, Código, Prueba). Es decir que cada ciclo de iteración incorpora el Análisis del plan, el Diseño, su Código ya la vez el Test. La rueda ADTC se conoce más técnicamente como el ciclo PDCA (Plan, Design, Check, Adjust). El equipo Agile implementa el ciclo PDCA en cada iteración por separado de la siguiente manera:

P (Plan) – Planificación de la iteración

En este evento, el equipo colabora para discutir los objetivos de la próxima iteración. También resume el trabajo realizado y determina el trabajo pendiente del equipo necesario para la próxima iteración.

D (Diseño) – Ejecución de la iteración

Este es el paso 'hacer' donde se lleva a cabo el desarrollo del software, su diseño y codificación. Si se trata de una segunda o tercera iteración, también se realizan pruebas de funcionalidad. El equipo recopila historias de usuarios y se prepara para el siguiente paso, que es la revisión de la iteración.

C (Comprobar) – Revisión de la iteración

También conocido como el paso de 'comprobación', la revisión de iteraciones se lleva a cabo con el propietario del producto. El equipo muestra el entregable probado al Propietario del producto, quien luego revisa el trabajo completado y determina si se han cumplido todos los criterios.

A (Ajustar) – Retrospectiva de la iteración

En este evento, el equipo evalúa todo el proceso de la iteración desde el primer paso. Esencialmente, funciona en cualquier mejora que se haya recopilado en iteraciones anteriores. Se identifican nuevos problemas junto con sus causas. Antes de que el equipo comience de nuevo el próximo ciclo, la acumulación del equipo se refina para futuras referencias.

Las iteraciones se repiten para optimizaciones e improvisaciones y las lecciones aprendidas de los ciclos anteriores se aplican en el próximo ciclo. Hasta que un software totalmente funcional esté listo para salir al mercado.

Beneficios del desarrollo iterativo ágil

La gestión ágil de proyectos se creó como una alternativa más flexible al enfoque Waterfall, que de otro modo sería tradicionalmente rígido.

El método Waterfall es un enfoque lineal que avanza secuencialmente de una fase a la siguiente, sin permitir que el desarrollo regrese al paso anterior. No hace falta decir que el método Waterfall causa repercusiones inminentes, que incluyen, entre otros, mayores costos de desarrollo, entrega prolongada de software y entrada de recursos adicionales.

Sudhakar Gorti, CIO de Environmental Data Resources está de acuerdo: " Uno de los principales beneficios de Agile sobre Waterfall es que ve un entregable de forma iterativa y el propietario del producto puede decidir realizar cambios en la cartera de pedidos del producto".

Participación del cliente : el desarrollo iterativo ágil fomenta la contribución del usuario. Después de cada ciclo iterativo, se obtienen los comentarios de los clientes y, a continuación, el producto se somete a los cambios necesarios en función de esos comentarios. Este aspecto aporta adaptabilidad al marco del proyecto.

Favorece la evolución : la planificación en el proceso de desarrollo Agile Iterative es una hazaña continua, que deja espacio para la evolución de ideas, en lugar de una planificación extensa que solo precede a la ejecución y las pruebas en Waterfall.

Evaluación de riesgos : la iteración ágil permite la identificación y mitigación de riesgos al principio del desarrollo para evitar obstáculos más adelante en la línea de tiempo.

Entrega rápida : el trabajo se divide en ciclos pequeños, lo que permite a los miembros del equipo dedicar su atención y entregar a tiempo. Además, las pruebas se realizan simultáneamente en la codificación y el diseño en cada iteración, lo que reduce en gran medida el tiempo necesario para lograr la finalización.

¿Dónde se emplea el enfoque iterativo ágil?

El enfoque iterativo ágil es más adecuado para proyectos o negocios que forman parte de un alcance en constante evolución. Proyectos que no tienen un conjunto definido de requisitos previstos para un conjunto definido de tiempo. Para tales casos, el enfoque iterativo ágil ayuda a minimizar el costo y los recursos necesarios cada vez que ocurre un cambio imprevisto.

nTask fue creado utilizando la metodología Scrum. Scrum permite el trabajo en equipo independiente utilizando la rueda ADCT, para lo cual varios equipos de nTask trabajaron en colaboración en sprints (iteraciones) de dos semanas.

Dado que el alcance de nTask está en constante evolución y las adiciones se realizan semanalmente, el enfoque iterativo permite al equipo de desarrollo de nTask alternar entre optimizaciones.

Brad Murphy, director ejecutivo de la consultora Agile Gear Stream, cree que el enfoque iterativo ágil ahora es ampliamente útil en otras zonas además del desarrollo de software.

Explica cómo el marketing digital puede beneficiarse del enfoque iterativo mediante el uso del elemento de entrega frecuente para recopilar comentarios de los clientes. Los comentarios solicitados rápidamente pueden ayudar directamente a mejorar las iteraciones posteriores para atraer un mayor tráfico.

Según las investigaciones del Deloitte Center for Government Insights, el 80 % de los principales proyectos federales de TI se calificaron a sí mismos como "Iterativos ágiles" en 2017. Una de las razones de este aumento se explica fácilmente por la reducción del tiempo necesario para completar un proyecto en armonía. con el costo total del proyecto.

Otro informe de Deloitte en 2015 revela que bancos como Barclays también han comenzado a utilizar enfoques iterativos como Scrum en más del 20 % de sus auditorías internas. Barclays admitió beneficiarse de SCRUM en áreas como la gestión de riesgos y la planificación.

El enfoque iterativo ágil no se limita solo a las organizaciones de TI y las empresas financieras. Walmart utiliza el enfoque iterativo ágil para las auditorías internas. Uno de sus muchos éxitos posteriores a la inducción ágil incluyó el ahorro de tiempo en comparación con el enfoque de auditoría tradicional.

Ricky Barr, director gerente de Auditoría Interna de United Airlines, resume su experiencia de emplear la Auditoría Interna Ágil de Deloitte como “un tiempo de ciclo de auditoría más rápido a través de iteraciones con intervalos de tiempo”.

Hasta hace 8 años, muchas corporaciones, como la gran mayoría de los clientes de Gartner, todavía usaban métodos Waterfall tradicionales para el desarrollo de aplicaciones.

Pero con los beneficios demostrables de Agile a lo largo de los años, que van desde un mayor valor comercial hasta un fuerte impacto organizacional, la comunidad Agile se ha expandido desde nuevas empresas hasta marcas globales como IBM y Cisco.