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:
- ¿Cuál es su opinión sobre Atom (editor de texto)?
- ¿Funcionará el software Bash y CLI en Windows 10, con los mismos principios que OS X con Bash?
- ¿Está TDD en el centro de todas las metodologías de desarrollo ágil?
- Cómo crear un software de algoritmo combinado
- ¿Cuál es la mejor manera para que un profesional de TI migre a los Estados Unidos?
- 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