¿Cuáles son los pros y los contras de SDLC?

Un ciclo de vida de desarrollo de software (SDLC) es normalmente un conjunto de etapas secuenciales como:

  • Definición de requisitos
  • Diseño
  • Desarrollo
  • Prueba
  • Lanzamiento a producción

Los pros de este enfoque son:

  • Es algo predecible : con un nivel suficiente de definición y planificación de requisitos detallados, se puede estimar el tiempo y el costo para completar un proyecto, aunque la precisión de la estimación depende totalmente de la certeza y la estabilidad de los requisitos y la capacidad del equipo para estimar el nivel de esfuerzo requerido.
  • Es algo repetible : si funciona en un proyecto, existe una posibilidad razonable de que el mismo proceso funcione más o menos de la misma manera en otro proyecto similar.
  • Requiere menos sofisticación y capacitación : por lo general, es un proceso bien conocido que no requiere demasiada sofisticación para implementar y proporciona una “hoja de ruta” bien definida para que varias organizaciones funcionales se involucren en el proyecto en el momento apropiado .

Los principales inconvenientes son:

  • Largos bucles de retroalimentación : puede llevar mucho tiempo descubrir problemas debido a la naturaleza secuencial de las fases del proyecto. Los resultados pueden ser desastrosos porque puede requerir una gran cantidad de trabajo para retroceder y reelaborar el diseño para corregir problemas.
  • Voluminoso y burocrático : muchos procesos SDLC tradicionales son muy engorrosos y burocráticos porque generalmente dependen de puertas de fase para aprobar los resultados al final de cada fase antes de que pueda pasar a la siguiente fase. También dependen en gran medida de la documentación para demostrar que el trabajo de esa fase se ha completado.
  • No muy adaptable : el mayor problema con los procesos SDLC tradicionales es que no son muy adaptables a entornos inciertos. Se supone que los requisitos para el proyecto se pueden definir con precisión en detalle por adelantado antes del inicio del proyecto y los cambios se controlan a medida que el proyecto está en progreso. Eso puede crear un enfoque muy inflexible que no funciona bien en entornos con altos niveles de incertidumbre.
  • Integración débil de funciones cruzadas : el proceso generalmente está diseñado en torno a grupos funcionales que entran y salen del proyecto según sea necesario, en lugar de dedicarse al equipo de desarrollo durante la duración del proyecto, lo que conduce a una integración débil de funciones cruzadas
  • Mala calidad : el énfasis en un SDLC tradicional está en encontrar defectos después de que se haya completado el esfuerzo de desarrollo y la función de control de calidad generalmente esté separada e independiente de la función de desarrollo. En un entorno ágil, la calidad es una parte integral del esfuerzo de desarrollo y se integra en el producto a medida que se produce.

Chuck Cobb
Autor de “La guía del administrador de proyectos para dominar Agile”
Echa un vistazo: Academia de gestión de proyectos ágil

Como la mayoría de las actividades orientadas a procesos, el ciclo de vida de desarrollo de software es algo que, como atributo del trabajo, gana valor cuanto mayor sea el proyecto al que se aplica. Si usted, solo o con otras dos o tres personas están trabajando juntos en el desarrollo de software, entonces si tienen una buena comunicación entre ustedes, intentar seguir el SDLC o cualquier otro tipo de enfoque sistemático explicado probablemente no agregará mucho valor ( Si alguna). Por otro lado, si tiene un proyecto que requiere más de dos docenas de personas, utilizar procesos para garantizar la uniformidad de diseño, desarrollo, integración, prueba, etc. se vuelve muy valioso. Esto se debe a que la gran cantidad de personas simplemente no puede comunicarse de manera efectiva y constante de una manera que permita una alta productividad simultáneamente. Además, la gran cantidad de personas generalmente significa que tendrá personas que en demasiados casos no avanzarán de una manera que se refuerce mutuamente, lo que requerirá un nuevo trabajo (y malos sentimientos). En pocas palabras, SDLC es bueno para proyectos más grandes, no tanto para proyectos más pequeños y el tamaño del proyecto donde vale la pena depende de las personas que trabajan en el proyecto.