blog de OBS Business School

Fases de desarrollo de software: los polos opuestos en proyectos de IT

Blog |

Las fases de desarrollo de software y su enfoque variarán en gran medida dependiendo de si el proyecto se aborda desde una perspectiva ágil o si se lleva a cabo en base a los principios tradicionales, como puede ser el modelo en cascada. Mientras que una metodología se centra en la adaptación, otra se basa en el enfoque predictivo. Las diferencias son notables, no sólo para la gestión, sino para la labor de los equipos de desarrollo.

Fases de desarrollo de software: entre la incertidumbre y la rigidez

Cada forma de afrontar las fases de desarrollo de software tiene sus propias ventajas, pero también sus inconvenientes. Al ser los enfoques ágil y en cascada tan distintos, casi opuestos; con la elección del modelo de desarrollo se estarán eliminando muchas desventajas, aunque se abre la puerta a nuevos problemas.

Si la incertidumbre es lo que quieren minimizar quienes apuestan por la gestión en cascada para las fases de desarrollo software, en el caso de los Project Managers que se deciden por el enfoque ágil es prioritario eliminar la rigidez y ganar en flexibilidad.

Ebook GRATIS: Herramientas informáticas

Los equipos que trabajan siguiendo un modelo tradicional en cascada avanzan a través de las diferentes fases de desarrollo software:

  • En base a una planificación detallada.
  • Con un pronóstico completo de las tareas exactas a realizar.
  • Conociendo las características de todos los entregables programados para los próximos meses.

Su éxito depende del análisis de necesidades y la planificación realizadas al inicio del ciclo. Cualquier cambio que se quiera incorporar posteriormente, debe pasar por un estricto control determinado por el margen que den la gestión del cambio y el establecimiento de prioridades.

A diferencia del nivel de estructuración de las fases de desarrollo software del método en cascada, el enfoque ágil es mucho más adaptativo, no hay una planificación detallada y, debido a ello, la incertidumbre aumenta al no haber claridad sobre las tareas futuras, ya que sólo se conocen las características que se deben trabajar durante el desarrollo.

Las etapas de desarrollo ágil están marcadas por:

  • La función de desarrollo cobra mayor importancia que en otras perspectivas.
  • El equipo se adapta a los requerimientos de los productos, que cambian de forma dinámica.
  • El producto se prueba con mucha frecuencia, a través de iteraciones que minimizan el riesgo de fallos importantes en el futuro.
  • La interacción con el cliente y el mantenimiento de una comunicación abierta son imprescindibles para el éxito.

Mientras que el ciclo de vida del desarrollo software tradicional podría estructurarse en torno a diferentes etapas, comenzando invariablemente por la planificación y siguiendo, por ejemplo, por el análisis, diseño, desarrollo, pruebas, lanzamiento y mantenimiento; las fases de desarrollo de software ágil no son fácilmente identificables. Podría incluso decirse que no existen etapas ya que, en lugar de ello, cada característica se toma de principio a fin dentro de una iteración, para poder hacer una entrega al finalizarla.

En cada uno de estos cortos periodos de tiempo que constituyen cada iteración, el equipo trabaja de forma flexible, adaptándose fácilmente a los cambios mientras se trabaja desde el análisis, al diseño, el desarrollo y el test, y así sucesivamente hasta lograr dar con la solución exacta que el cliente necesitaba. Un producto software hecho a la medida, de gran calidad, y en condiciones de minimización del riesgo y los fallos.

Ebook GRATIS: Herramientas informáticas