El proceso de desarrollo de un nuevo producto de software también se conoce como SDLC -ciclo de vida del desarrollo de software- (siglas en inglés de software development life cycle) y puede considerarse una subcategoría del ciclo de vida de desarrollo de sistemas. Existen varios modelos de SDLCs y se pueden estandarizar bajo la ISO/IEC 12207, la cual enumera todas la tareas que deben formar parte del desarrollo y mantenimiento de software.
Fases del ciclo de vida del desarrollo de software
a) La fase de planificación y análisis
El proceso del desarrollo de software comienza con una fase inicial de planificación, que incluye un análisis de requisitos. Los clientes pueden tener una idea general del tipo de producto que necesitan, pero esta información no nos aporta nada de cómo debe ser la aplicación en realidad. Por ello, los profesionales del software se fijan en los requisitos que piden los clientes para estudiar qué requisitos están incompletos, cuáles son ambiguos y cuáles son simplemente contradictorios. Para prevenir que los requisitos que sean incorrectos, es útil hacer demostraciones prácticas de cómo funcionaría la aplicación con frecuencia. La siguiente fase sería fijar el alcance del proyecto de desarrollo y ponerlo por escrito en un documento de forma clara y concisa.
b) Fases de implementación, pruebas y documentación del código
Tras lo expuesto arriba, vendrían las fases de implementación, pruebas y documentación. La implementación consiste en el desarrollo y programación del código. Esto lo hacen los ingenieros del software. La prueba o testeo del software es una parte fundamental en el proceso de desarrollo del software, porque asegura que los errores sean detectados en fases muy tempranas y sobre todo que puedan ser corregidos lo antes posible. La documentación interna del diseño del software se realiza durante todo el proceso de programación del código de la aplicación. Esto ayudará mucho a mantener y mejorar el programa en el futuro. El desarrollo de una interfaz de programación de la aplicación o una API también puede formar parte del proceso de documentación. El equipo de desarrollo elige el proceso de ingeniería del software y sus fases. También acordarán cuanta documentación interna se necesita.
c) Fases de despliegue y mantenimiento del software
Las siguientes fases son la de despliegue y mantenimiento. Despliegue implica instalación, personalización, testeo y en ocasiones un periodo de evaluación del rendimiento del mismo. Estas fases solo se dan cuando el software ya ha sido testado internamente de manera exhaustiva y esté ya disponible en el mercado. A mayores, es recomendable incluir formación y soporte, porque el software es efectivo cuando se usa de forma apropiada. El mantenimiento y mejora de los productos de software es crucial para poder corregir defectos que vayan surgiendo o para poder atender a los requisitos del software. Esto podría tomar siglos, ya que en ocasiones hay que volver a empezar a diseñar y programar el software desde cero.
Relacionado: Ciclo de vida Software.