Cuadro comparativo de los modelos y metodologías de desarrollo de software


Métodos y metodologías en el desarrollo de software.
Nombre.
Cascada
Espiral
Extreme Programming
Metodologías Ágiles
Descripción.
Básicamente, el estilo del modelo en cascada, es que no podrás avanzar a  la siguiente fase, si la anterior no se encuentra totalmente terminada, pues no tiene porque haber vuelta atrás.
Encontramos por fuera cuatro fases bien organizadas, las cuáles siempre deben llevar ese orden que se estipula desde el principio. Una determinación de objetivos, un análisis de riesgos, el desarrollo y las pruebas, junto con la planificación, la cual dependerá de los resultados de la iteración para saber como se actuará en la siguiente vuelta al espiral.
Esta metodología es posiblemente la más destacada de las metodologías ágiles y esto se debe a su gran capacidad de adaptación ante cualquier tipo de imprevisto que surja. Pues la idea no es mantener ciertos requisitos desde que se está elaborando el proyecto, sino que durante el proceso, estos vayan cambiando o vayan evolucionando gradualmente sin complicaciones. Básicamente los creadores de esta metodología XP, consideran que es mejor adaptarte en el proceso a los requisitos que vayan apareciendo, que iniciar con requisitos y desarrollar un proyecto en base a eso.
Las metodologías ágiles como su nombre lo indica es que pretenden reducir y optimizar el tiempo empleado en el desarrollo del sistema.
Algunos ejemplos de estas metodologías son: Scrum, Kamban,XP.
Etapas.
1.       Análisis de requisitos.
2.       Diseño del sistema.
3.       Diseño del programa.
4.       Codificación.
5.       Ejecución de pruebas.
6.       Verificación.
7.       Mantenimiento.
1.       Determinar objetivo.
2.       Análisis de riesgo.
3.       Desarrollar, validar y probar.
4.       Planificación.
1.       Tipo de desarrollo iterativo e incremental.
2.       Pruebas unitarias.
3.        Trabajo en equipo.
4.       Alguien del equipo deberá trabajar como cliente.
5.       Corrección de errores.
6.       Reestructuración del código.
7.       El código es de todos.
8.       Código simple es la clave.
Al ser un conjunto de metodologías es primordial identificar que metodología emplear para así poder desglosar
Roles.
Especificación, desarrollo, validación y evolución.  En todo ello interviene el analista, diseñador y el jefe del proyecto así como también el grupo de desarrolladores.
toda la atención está enfocada hacia el análisis de riesgos, pues el objetivo primario será reducir los riesgos.  Los roles principales recaen en el analista, desarrolladores, el diseñador y el jefe del proyecto.
·         Programador.
·         Tester.
·         Tracker.
·         Entrenador.
·         Consultor.
·         Gestor.
 
·         Programador.
·         Tester.
·         Tracker.
·         Entrenador.
·         Consultor.
·         Gestor.
 
Ventajas.
·         Permite llevar una documentación detallada a cada paso que se realiza desde el análisis y definición de los requerimientos hasta el buen funcionamiento y mantenimiento del programa desarrollado.
·         Permite identificar elementos abstractos que son fundamentales para el software y sus relaciones.
·         Permite desarrollar una correcta implementación inicial la cual puede irse refinando hasta obtener un sistema adecuado.
·         Reduce riesgos en el proyecto.
·         Incorpora modelos de calidad.
·         Da lugar a una programación sumamente organizada.
·         Ocasiona eficiencias en el proceso de planificación y pruebas.
·          Cuenta con una tasa de errores muy pequeña.
·         Propicia la satisfacción del programador.
·         Permite ahorrar mucho tiempo y dinero.
·         Facilita los cambios.
·         Fomenta la comunicación entre los clientes y los desarrolladores.
·         Los modelos de desarrollo suelen ser muy flexibles.
·         El proyecto se divide en pequeñas tareas desarrolladas por grupos independientes que trabajan simultáneamente e interaccionan entre ellos.
·         Es especialmente útil cuando el objetivo del proyecto no está claramente definido
Desventajas.
·         Al ser una metodología antigua consta de mucha documentación y esto hace que resulte tediosa.
·         Requiere de frecuentes pruebas y reuniones lo cual implica tiempo extra y que muchas veces hace que el proyecto se detenga en ciertos momentos.
·         Este modelo resulta muy costoso.
·         Genera mucho tiempo en el desarrollo del sistema.
·         Requiere alta experiencia en cuando a la identificación de riesgos en el sistema.
·         Es recomendable emplearla solo en proyectos a corto plazo.
·         En caso de fallar, las comisiones son muy altas.
·          Requiere de un rígido ajuste a los principios de XP.
·         Puede no siempre ser más fácil que el desarrollo tradicional.
·         Muestra una estructura muy débil.
·         la comunicación, la implicación personal y la colaboración se necesitan para garantizar el éxito del proyecto.
·         Son mucho más dependientes de la presencia de las mismas personas desde el principio hasta el final del proyecto.
Número de integrantes de los equipos.
No tiene límite pero se recomienda utilizarse solo en proyectos pequeños ya que resulta más ágil en ello.
No tiene límite pero el equipo debe contar con experiencia que permita reducir los riesgos del sistema.
Los necesarios de acuerdo a los roles y necesidades del proyecto.
Los necesarios de acuerdo a los roles y necesidades del proyecto.
¿En la construcción de qué tipo de aplicaciones se usa?
Aplicaciones de ámbito académico así como también en la industria de software.
Muy apto en el diseño de Sistemas operativos, Navegadores y controladores aeronáuticos.  
Industria financiera. El desarrollo rápido de software lo suficientemente flexible como para adaptarse a los continuos cambios de la industria sería vital.
De todo tipo ya que estas son flexibles y se adaptan más a las necesidades actuales.
Nombre de la empresa que la emplea.
En conjunto muchas empresas utilizan esta metodología por lo cual es difícil identificar una en concreto.
Google
BBVA
Toyota
País que emplea dicha metodología.
EUA, Alemania, México, etc.
EUA, Alemania, México, etc
EUA, Alemania, México, etc
La mayoría de países con un elevado conocimiento en sistemas es decir un correcto desarrollo tecnologico.


Referencias:


J.C. Cendejas. (S.F.). Modelos y metodologías para el desarrollo de software. Recuperado el: 06/03/18 de http://www.eumed.net/tesis-doctorales/2014/jlcv/software.htm



ITM.( Jun 27, 2016). Ventajas e inconvenientes de metodologías Ágil y Predictiva. Recuperado el:  06/03/18 de http://www.itmplatform.com/es/blog/ventajas-e-inconvenientes-de-metodologias-agil-y-predictiva/

J. Encarnacion. (sábado, 16 de junio de 2012). Ejemplos de Modelos de Desarrollo del Software. Recuperado el  06/03/18 de http://jhondavid1992.blogspot.mx/2012/06/ejemplos-de-modelos-de-desarrollo-del.html
 

Comentarios

Entradas populares