La Metodología de Desarrollo de Software (SDM) es un medio por el cual se crea un programa a través de la generación de código y el uso de diferentes herramientas. Esto básicamente se refiere al proceso en sí y la forma en que se gestiona, para garantizar que el desarrollo se complete a tiempo y dentro de un presupuesto razonable. Hay una serie de formas que puede adoptar la metodología de desarrollo de software, según la naturaleza del programa que se está creando y las herramientas utilizadas. Sin embargo, en general, SDM se rige por la necesidad de garantizar una división de tareas en elementos manejables y un proceso que pasa por numerosas iteraciones en expansión.
Hay muchos marcos diferentes que se pueden utilizar dentro de una metodología de desarrollo de software, que normalmente se emplean para organizar el proceso de creación de un nuevo programa. Se pueden usar varios marcos juntos para crear un solo SDM, y luego se pueden combinar numerosas metodologías en una familia de SDM. El uso de una metodología de desarrollo de software a menudo establece y fomenta las mejores prácticas en la creación de nuevo software para un equipo de desarrolladores. Sin un SDM al que prestar atención durante el desarrollo, el proceso puede volverse caótico fácilmente y generar pérdidas tanto en términos de recursos financieros como de tiempo.
Uno de los tipos más comunes y simples de metodología de desarrollo de software se conoce como modelo de «cascada». Antes de que se pueda utilizar este SDM, se deben establecer objetivos específicos para un proceso en particular, y todo el ciclo de desarrollo debe dividirse en diferentes elementos. Luego se puede abordar un solo elemento y se sigue una serie de pasos, cada uno visualizado como una procesión descendente que crea el concepto de “cascada”. Este tipo de metodología de desarrollo de software ya no se usa en muchas situaciones ya que los métodos más nuevos lo han reemplazado, pero continúa sirviendo como un ejemplo básico de cómo se debe estructurar un SDM.
El modelo de “espiral” se ha convertido en una metodología de desarrollo de software popular, ya que logra capturar dos elementos importantes del proceso en una sola visualización. En general, una espiral es una línea única que comienza en el centro y se mueve hacia afuera en anillos concéntricos que se hacen más grandes pero pasan por la misma forma circular. Esto se utiliza como modelo para el desarrollo de software, ya que cada elemento de un programa comienza pequeño y aumenta de tamaño durante el desarrollo. A medida que esto sucede, también pasa por numerosas fases, como el desarrollo, la evaluación y el análisis, a lo largo de diferentes iteraciones. Todo esto crea un único proceso unificado que se hace exteriormente más grande a medida que avanza a través de pasos repetidos, muy parecido a una espiral.