Twitter

jueves, 22 de agosto de 2013

Desarrollo en Cascada Vs. Desarrollo Iterativo e Incremental.

Para poder entender las diferencias entre ambos procesos de desarrollo de Software primero debemos tener en cuenta un concepto clave, ¿Qué es un proceso? o más específico ¿Qué es un proceso de Software? No es otra cosa que una serie pasos los cuales a su vez tienen actividades que se deben cumplir para poder realizar un software. Los pasos a seguir en algún proceso pueden estar definidos muy específicamente, con roles y responsabilidades de cada miembro del equipo de trabajo.

Desarrollo en Cascada.

En el modelo de desarrollo en cascada el equipo de desarrollo llega a un acuerdo con el cliente para comenzar a desarrollar algún proyecto, una vez que se llega a ese acuerdo el equipo comienza a trabajar hasta que el proyecto queda concluido y entregado, en el modelo cascada no se obtiene retroalimentación por parte del cliente: "Una vez que la piedra es arrojada por la cascada no hay forma de regresar, no se sabe cuanto se tardará la piedra en tocar el agua ni lo alto de la cascada".



El riesgo que existe de un fallo es proporcional a la cantidad de dinero y de tiempo gastado antes de desarrollar el software para el cliente.

Figura 1. Etapas generales del modelo de desarrollo en cascada.

Desarrollo Iterativo e Incremental.

Este modelo de desarrollo es la contraparte del desarrollo en cascada, aquí las citas con el cliente son más frecuentes con el fin de obtener retroalimentación, lo que propone este modelo es ir entregando un proyecto por pequeños módulos, para saber cuantos módulos debemos entregar debemos tener nuestro análisis de requisitos, de esta forma conseguiremos que el cliente tenga múltiples entregas de su proyecto y de esta forma nos brinde retroalimentación, consiguiendo que cada entrega sea más completa que la anterior.

Con este modelo de desarrollo primero decidimos que vamos a hacer y después que vamos a hacer primero, después de cada entrega sabremos que será lo siguiente a desarrollar, esto se debe repetir hasta que el proyecto quede completamente terminado de acuerdo a las condiciones del cliente.

Figura 2. Etapas generales del modelo de desarrollo iterativo e incremental.

Una vez que tenemos una idea de lo que propone cada modelo de desarrollo podríamos ser capaces de contestar algunas preguntas...

¿Porqué crees que existen diferentes modelos de desarrollo de software?
Porque dependiendo de las características que tenga determinado proyecto será el tipo de modelo que debamos utilizar, los desarrolladores se deben acoplar a lo que sea más conveniente para ellos y para el proyecto.

¿Cuál es la principal característica del modelo de desarrollo en cascada?
Una vez que el equipo comienza a trabajar en el desarrollo éste no se detiene por lo tanto el tiempo de desarrollo es relativamente corto.

¿Cuál es la desventaja del modelo de desarrollo en cascada?
No se hacen citas con el cliente, no se obtiene retroalimentación por lo tanto el riesgo de que el sistema falle o no sea lo esperado a la hora de la entrega es alto.

¿Cuál es la principal característica del modelo de desarrollo iterativo e incremental?
La retroalimentación forma parte importante en este modelo porque se reduce el riesgo a un fallo y el sistema se adapta a las necesidades del cliente, con esto se asegura que la entrega sea lo que el cliente realmente necesita.

¿Cuál es la desventaja del modelo de desarrollo iterativo e incremental?
Al tener que entregar avances de los módulos esto puede provocar que el tiempo de desarrollo se aplace ya que si algún módulo no cumple con las especificaciones requeridas se tiene que volver a diseñar.


1 comentario:

  1. Muchas gracias por la información, está excelente!
    Me fue de gran ayuda!

    ResponderEliminar