El Ciclo de Vida del Desarrollo del Software es una parte fundamental del desarrollo de software, ya que gracias a este se hace la planificación de lo que se va a hacer en el proyecto, tomando en cuenta los requisitos o requerimientos que de el cliente para este. Para facilitarlo se divide en fases dependiendo del modelo que se escoja, así teniendo una forma más clara del proceso.
Modelos más comunes:
- Modelo de cascada

Este modelo se caracteriza por tener un espacio para cada fase del desarrollo de manera muy definida y delimitada, dificultando los cambios en fases anteriores si es que hay un cambio en los requerimientos ya sea por parte del cliente o por otras cuestiones.
- Modelo en V

Este modelo es una mejor del modelo de cascada, ya que con este se planea con mayor anterioridad las pruebas que se le tienen que hacer al software, así adelantándose a los problemas que podrían surgir, pero tiene desventajas como que no se pueden hacer prototipos por la manera en la que se desarrolla.
- Modelo de prototipos

El modelo de prototipos se caracteriza por hacer prototipos para el usuario constantemente, por lo que el usuario está más involucrado en el proceso y puede decir de una manera más temprana si el proyecto va como quiere o si le sobra o le falta algo, de esta manera haciendo más eficiente el desarrollo. Las desventajas de este modelo es que puede ser muy costoso hacer tantos prototipos así como también es necesario tener mucho contacto con el usuario para poder evaluar el prototipo.
- Modelo en espiral

Este modelo se caracteriza por tener la serie de pasos muy claro, donde una cosa depende de otra así haciendo que el desarrollo del proyecto sea muy específico para este proyecto por lo que no se puede reutilizar en otros. Tiene ventajas como que el desarrollador se involucra desde una etapa muy temprana y que tiene estimaciones más especificas tanto de costos como de horas de trabajo.
- Modelo ágil

Este modelo se refiere a la agilización del proceso por medio del contacto directo e informal con el cliente, por lo que no se tiene que hacer mucha documentación como con los otros modelos, también se hacen pequeños prototipos en cada fase para que el cliente sepa como va quedando, estos prototipos incrementan en cada fase, así terminando con el producto apenas se terminen de ver los requerimientos.
Fuentes
- https://www.roberthalf.com/blog/salaries-and-skills/6-basic-sdlc-methodologies-which-one-is-best
- https://blog.usejournal.com/what-is-software-development-lifecycle-sdlc-523fd09340a6
- https://medium.com/omarelgabrys-blog/software-engineering-software-process-and-software-process-models-part-2-4a9d06213fdc
- https://melsatar.blog/2012/03/15/software-development-life-cycle-models-and-methodologies/