Agile vs. Cascada (Parte 2 de 5) ¿Qué es la metodología Agile?

Le damos la bienvenida a la segunda parte de Agile vs Cascada. Nuestra primera parte presenta el modelo en Cascada. En esta parte, describiré la metodología Agile.

Si usted todavía no ha leído la parte 1, la podrá encontrar aquí.

¡Continuemos!

El modelo de desarrollo Agile

La idea básica detrás de cualquier proceso de desarrollo Agile es que es de naturaleza interactiva o cíclica, lo que significa que la implementación del software ocurre de forma incremental. Hay una gran cantidad de enfoques interactivos existentes en la actualidad. Por ejemplo: Scrum, Kanban, RUP, Programación Extrema, Desarrollo Rápido de Aplicaciones etc. Como se mencionó anteriormente, me enfocaré en Scrum ya que es la metodología con mayor popularidad en la actualidad.

Scrum es una forma para que los equipos trabajen juntos para desarrollar un producto. El desarrollo de productos, utilizando Scrum ocurre en pequeñas piezas, cada pieza se construye de piezas creadas previamente. Crear productos pieza por pieza alienta la creatividad y permite que los equipos respondan a los comentarios y cambios, para crear exactamente y solo lo que es necesario.

La siguiente imagen muestra un ejemplo del enfoque Scrum hacia el desarrollo de software.

Ejemplo de scrum

En vez de crear todas las tareas y los horarios por adelantado, todo el tiempo es encajonado en fases llamadas sprints. Cada sprint tiene una duración definida, la que usualmente es de algunas semanas, con una lista de ejecución con entregables, y con cada sprint planificado por adelantado. Los entregables son priorizados por su valor empresarial el cual es determinado por el cliente. Si todo el trabajo planificado para un sprint no puede ser completado, se le vuelve a dar prioridad al trabajo y la información se utiliza para la planificación de los sprints futuros.

En la imagen se ve que el trabajo se toma de una lista ordenada por prioridades, la cual se divide en sprints y luego se desarrolla. Los objetos en la parte superior de la lista están más refinados que los de la parte inferior. Para no perder tiempo y dinero, los objetos de la lista solo deben ser expandidos lo suficiente para realizar las decisiones apropiadas. Para cada objeto en la lista de prioridades, se realiza en el sprint un historial de usuario, una implementación y una prueba.

A medida que el trabajo sea completado durante cada sprint, se revisa y evalúa continuamente por el cliente. Todo el trabajo que ha sido completado debe ser definido como entregable, lo que significa que debe funcionar como se debe y debe haber pasado a través de pruebas. Como resultado, Agile se basa en un alto nivel de participación del cliente durante todo el proyecto ya que este es el que necesita validar la funcionalidad y aceptar que funciona como se debe. El ciclo continúa hasta que el producto haya sido completado y esté listo para ser desplegado o sea considerado como aceptable por la empresa.

Comparando este enfoque con el modelo de desarrollo en Cascada, el valor de la empresa se entrega constantemente en intervalos regulares, mientras que el modelo en Cascada entrega todo el valor empresarial al final del proyecto. Seleccionar el enfoque Scrum puede facilitar el control del proyecto con respecto al costo, retorno de inversión y valor empresarial general. Hace que el proyecto sea mucho más transparente. En un enfoque de Cascada, puede ser extremadamente complejo ver el beneficio total del proyecto, hasta que el desarrollo esté muy cerca de ser completado. ¡Pero esto no es algo necesariamente malo acerca del modelo en Cascada! Se hablará más de eso en las próximas publicaciones.

Este fue el final de la segunda parte. Espero que haya sido comprensible e informativa.

Vuelva y lea la parte 3: Agile vs. Cascada. Costo, funcionalidad y tiempo.

Foto por The Chef!

Artículos Relacionados