Transformación del Desarrollo de Software: Claves del Enfoque Ágil

Enviado por Chuletator online y clasificado en Diseño e Ingeniería

Escrito el en español con un tamaño de 3,24 KB

Desarrollo ágil de software

La forma tradicional de desarrollar software se basa en procesos predefinidos con documentación muy precisa y una detallada planificación inicial que debe seguirse estrictamente. Esta forma de trabajar surgió naturalmente hace unos cincuenta años como una adaptación del manejo de proyectos de ingeniería, que era lo más parecido a desarrollar programas que se conocía en ese momento, y funcionó razonablemente bien en un comienzo.

Hoy en día, esta forma de desarrollar software genera muy serios problemas, debido a que al comienzo del proyecto, que es cuando menos se conocen las características del problema a resolver, se toman las decisiones de mayor relevancia en el resto del proyecto. Suele ocurrir que los proyectos desarrollados siguiendo el método tradicional no cumplen sus objetivos, no se terminan a tiempo y resultan mucho más caros que lo presupuestado. Como propuesta de solución a estos problemas, han surgido una serie de métodos ágiles de desarrollo de software y manejo de proyectos en general.

Características del Desarrollo Ágil

En los proyectos con desarrollo ágil se busca que todos los esfuerzos se empleen en la creación del mejor software que satisfaga las necesidades del cliente. Esto significa que todos los que forman parte del equipo de trabajo se concentran únicamente en tareas y procesos que agregan valor al cliente del producto que se está creando, mejorando o implementando. Adicionalmente, los usuarios o clientes reciben periódicamente prototipos o versiones en funcionamiento del producto a medida que se va construyendo, lo cual les permite evaluar el trabajo realizado, advertir sobre problemas que se detecten y sugerir mejoras o funcionalidades valiosas que no se habían considerado originalmente.

La distinción entre las tareas relevantes y las que no agregan valor se consigue a través de la creación de contextos con alto nivel de empowerment y feedback.

El empowerment consiste en otorgar autonomía para tomar decisiones al equipo de desarrollo. Los desarrolladores suelen trabajar mucho en equipo y también por parejas, revisando juntos el código y resolviendo problemas en lugar de tratar de cubrirlos, lo que repercute en un producto de mejor calidad, mejor documentado y simple de mantener.

El feedback constante y presente en varios niveles permite el desarrollo incremental y el crecimiento adaptativo de la programación, así también como una mejora constante en la forma de trabajo de los equipos, lo que permite detectar problemas y resolverlos antes de que desaten crisis que afecten la calidad o el tiempo y costo del desarrollo. Periódicamente, el cliente evalúa el estado real del software que se está creando, lo que asegura que lo entregado al final del proyecto coincidirá con lo esperado. Esto se consigue a través de un desarrollo incremental: el producto puede probarse desde las primeras semanas y meses del proyecto, al menos en cuanto a su funcionalidad más básica, que luego va creciendo y mejorando.

Entradas relacionadas: