Modelos SDLC - Evolución
Un modelo de ciclo de vida de desarrollo de software (SDLC) es un marco que describe las actividades realizadas en cada etapa de un proyecto de desarrollo de software.
En un ciclo de vida de desarrollo de software, las actividades se realizan en cinco fases:
Requirements Gathering- Se recogen los requisitos para desarrollar un software. Estos requisitos estarán en un idioma que sea entendido por el cliente / usuario. Se recomienda la terminología específica del dominio.
Analysis - Los requisitos recopilados se analizan desde el punto de vista de la implementación y las especificaciones del software se escriben para cubrir tanto los requisitos funcionales como los no funcionales.
Design - Esta fase implica llegar a la arquitectura del software y las especificaciones de implementación basadas en la tecnología elegida para el desarrollo.
Construction - En esta fase, se desarrolla el código, se prueba la unidad, se integra, se prueba la integración y se produce la compilación.
Testing- En esta fase se realizan pruebas funcionales del software construido. Esto también incluye la prueba de requisitos no funcionales.
Hay dos enfoques para realizar estas actividades:
Prescriptive - Los modelos SDLC que le proporcionarán formas de realizar las actividades de una manera prescrita según lo definido por el marco.
Adaptive- Los modelos SDLC que le darán flexibilidad en la realización de las actividades, con ciertas reglas que deben seguirse. Los métodos ágiles siguen en su mayoría este enfoque, y cada uno tiene sus reglas. Sin embargo, seguir un enfoque adaptativo o ágil no significa que el software se desarrolle sin seguir ninguna disciplina. Esto conduciría a un caos.
Debe comprender que no podemos decir que un modelo SDLC específico sea bueno o malo. Cada uno de ellos tiene sus propias fortalezas y debilidades y, por lo tanto, son adecuados en ciertos contextos.
Cuando elige un modelo SDLC para su proyecto, debe comprender:
- El contexto de su organización
- Su contexto tecnológico
- Composición de tu equipo
- Su contexto de cliente
Por ejemplo, si el desarrollo de software es predecible, puede utilizar un enfoque prescriptivo. Por otro lado, si el desarrollo de software es impredecible, es decir, los requisitos no se conocen por completo, o el equipo de desarrollo no tiene una exposición previa al dominio o tecnología actual, etc., entonces el enfoque adaptativo es la mejor opción.
En las siguientes secciones, comprenderá los modelos SDLC más frecuentes que se desarrollan durante la ejecución de proyectos de desarrollo de software en la industria. También conocerás las fortalezas y debilidades de cada uno de ellos y en qué contextos son adecuados.