Please enable JavaScript.
Coggle requires JavaScript to display documents.
Ciclos de vidas - Coggle Diagram
Ciclos de vidas
Iterativo incremental
Permite que el cliente pueda mejorar los requerimientos, pero no agregarlos. Se divide el proyecto en unidades mas pequeñas con funcionalidades enteras.
-
Busca reducir el riesgo que surge entre las necesidades del usuario y el producto final por malentendidos durante la etapa de requerimientos.
-
-
Los clientes no tienen que esperar hasta que se entregue todo el sistema antes de que puedan obtener valor de el.
Ventajas
- Aprovechamiento de los recursos humanos.
- Facil entendimiento e implementacion
- Si el producto basico es bien recibido, entonces se agrega mas personal (si se requiere) para que participen en el siguiente incremento.
Desventajas
- Poca adaptacion a los cambios
- No se agregan funcinalidades ni cambian las que ya estan terminadas
- Una primera entrega apresurada, puede que no satisfacer el producto fundamental y condicionar el resto del desarrollo
Modelo de la cascada
-
Metodo de desarrollo de software lineal y secuencial en donde se dividen los procesos de desarrollo en fases que se ejecutan una sola vez. Para pasar a la siguiente, se revisa la actual varias veces. Se considera rigido, poco flexible. Se lo utiliza cuando la posibilidad de cambio en los requerimientos es casi nula.
Ventajas
- Define claramente las distintas etapas y su transicion.
- Permite al PM controlar el avance.
- Es corto y económico, permite validar las actividades dentro de una misma etapa.
Desventajas
- Se congelan los requisitos al principio
- Se entrega el producto al final
- Desaprovechamiento de recursos
- Si no cumple las expectativas hay que iniciar de cero
- Imposible retroceder
Evolutivo en espiral
Modelo de ciclo de vida de software que tiene el potencial para hacer un desarrollo rapido de versiones cada vez mas completas, teniendo en cuenta la gestion del riesgo, por medio de entregas evolutivas.
Cada iteracion o vuuelta en la espiral incluye:
- Identificacion y analisis de necesidades especificas
- Creacion de una parte del sistema y evaluacion con el cliente
- Evaluacion y mitifacion de riesgos identificados
Evaluacion con el cliente para verificar si las necesidades iniciales estan satisfechas.
Si las necesidades no se cumplen por completo, se inicia otra vuelta con los mismos objetivos o se ajustan segun los resultados de la evaluacion.
Combina otros ciclos de vidas: cascada, incremental, prototipado evolutivo.
Ventajas
- Tiene en cuenta los riesgos durante todo el desarrollo del proyecto
Desventajas
- Es largo y costoso, mucho mas que el evolutivo
Prototipo/evolutivo
Ofrece al usuario una maqueta (papel o pantalla hueca), un desechable( deja ver al cliente que se tira y se escoge el clico de vida) o un evolutivo de lo que sera el sistema final, ya que el cliente no tiene definido con claridad que es lo que quiere. Permite el desarrollo de versiones cada vez mas completas del software.
Iterativos: los modelos evolutivos son iterativos. Se caracterizan por permitir desarrollar versiones cada vez mas completas del software a traves de ciclos repetitivos.
Utilizacion: Se utiliza cuando el cliente no tiene una idea clara de lo que quiere. Para abordar estas incertidumbres, se crean maquetas o prototipos que pueden ser de tres tipos:
- Maqueta: Se hace solo para mejorar la definicion inicial de los requisitos. No tiene funcionalidad real y, una vez aclarados los requisitos, se elige un ciclo de vida mas adecuado para el desarrollo completo del sistema
Desechable: Contiene algo de funcionalidad basica que permite al cliente ver y probar ciertas caracteristicas del sistema. El prototipo se desecha y se elige un cido de vida adecuado para desarrollar el sistema final.Evolutivo: Es un ciclo de ida en si mismo. Comienza con un prototipo que incluye funcionalidades basicas. Este prototipo se muestra al clientre y de acuerdo con las modificaciones y feedback recibidos, se va evolucionando
- En cada ciclo de proceso evolutivo, se debe desarrollar y entregar una funcionalidad completa del sistema, permitiendo iteraciones con incrementos de valor para el clientre
Este enfoque es muy util cuando es necesario lliberar entregas tempranas del software, ya que permite entregar partes funcionales el sistema en etapas iniciales del desarrollo, mejorando la satisfaccion del cliente y adaptandose rapidamente a sus necesidades y cambios
ventaja
- Epermite agregar funcionalidades y cambiar algunas de las ya hechas
- El cliente ve prontamente una parte del sistema
- Permite que el grupo de desarrollo entienda mejor la funcionalidad y que el cliente exprese mejor sus necesidades
- Aprovecha los recursos humanos
Desventajas
- es largo y costoso
- Hay que controla los cambios para que el sistema no se haga eterno
- Grave riesgo de que se soslaaye la arquictetura