¿Cuál es la definición de "modelo de desarrollo"?

¿Cuál es la definición de "modelo de desarrollo"?

Por ejemplo: modelo en cascada, modelo iterativo o modelo en espiral.

En este caso, "modelo" es simplemente sinónimo de "metodología" (wikipedia mantiene artículos sobre estos modelos en la sección "metodologías"), o "modelo" es un modelo para la metodología y un metamodelo para el proceso de desarrollo (es decir, un conjunto de principios sobre los cuales se construyen las metodologías). )?

Si el segundo caso es más correcto, ¿hay algunos modelos que no estén relacionados con el ciclo de vida del software? Por ejemplo, ¿podemos nombrar modelo "ágil" y modelo "no ágil"? ¿O "ágil" no es un modelo, es solo una familia de metodologías? Parece que estoy confundido de nuevo :-/

No creo que ninguna de sus condiciones OR sea correcta.

Respuestas (1)

Interesante pregunta, le he dado algo ahora. Creo que haces una suposición equivocada, y es por eso que estás confundido.

Primero, una respuesta muy simple y práctica, pero no del todo correcta: algunos sitios sugieren que el modelo en este sería el mismo que el método (por lo que la primera opción, por ejemplo, http://istqbexamcertification.com/what-are-the-software -modelos de desarrollo , aunque no estoy seguro de cuán confiable es esto). Creo que es una buena solución para la vida diaria, pero si necesita una respuesta más académica, siga leyendo.

Mi respuesta real (creo que esta podría ser la respuesta): Creo que haces una suposición incorrecta. Creo que la mayor parte de su confusión es que clasifica los enfoques de cascada, espiral y ágil en el mismo nivel de abstracción. Creo que si desea ubicarlos en una categoría, la palabra 'enfoque' es más apropiada, ya que estos términos (ágil, cascada, iterativo) no están en el mismo nivel de abstracción. Déjame explicarte por qué:

Ágil es en realidad un término muy amplio, aunque relativamente nuevo en el desarrollo de software, el término existe desde hace bastante tiempo. El "significado del manifiesto ágil" de Agile es un conjunto de valores y principios fundamentales. Por lo tanto, es algo similar a un metamodelo (aunque creo que no es exactamente un metamodelo, pero en general la idea es similar/se agrupa bien). Scrum, XP y otros "cumplen" con los principios del manifiesto ágil (aunque debe tenerse en cuenta que los métodos no se basan realmente en el manifiesto, ya que muchos existían antes del manifiesto). Sin embargo, el manifiesto ágil puede interpretarse como una especie de metamodelo (aunque, en mi opinión, tampoco sigue exactamente esa descripción), mientras que SCRUM, XP son en realidad métodos (!) para lograr la agilidad.

El enfoque en cascada es mucho más concreto que el término ágil. El método de cascada es (aunque hay variaciones) más concreto y más prescriptivo (consulte http://en.wikipedia.org/wiki/Waterfall_model ), lo que hace que el nivel de abstracción del enfoque de cascada sea similar al de SCRUM. Los enfoques SCRUM y Waterfall describen y prescriben cómo deben hacerse las cosas (bueno, el procedimiento). Están en el mismo nivel de abstracción y son métodos de gestión del desarrollo de software (mientras que los términos ágil y tradicional son más abstractos).

Por lo tanto, los enfoques concretos como SCRUM y Waterfall están en el mismo nivel de abstracción, mientras que un término como ágil es un poco más abstracto y, por lo tanto, el término ágil no se ajusta a su definición.

Espero que esto responda a tu pregunta y tenga sentido. Si no, házmelo saber. Quizás pueda decirnos por qué pregunta esto, con un bot más contexto, yo u otros podríamos formular una mejor respuesta. Creo que debería tener en cuenta que métodos como scrum están muy definidos, pero términos como ágil son menos obvios. La definición de términos suele ser parte de un trabajo de investigación.

¡Muchas gracias por tu respuesta! Intentaré articular mi nueva visión de esta pregunta, que tengo después de leer tu respuesta. Desafortunadamente, me llevará algo de tiempo.
De nada. Espero haberte ayudado ;)