13
Cuadro comparativo de las metodologías Equipo No. 10 Hernández Galindo Edgar Andrés Pulido García Brenda Amalia Moreno Arellano Luis Adrian Sosa Duran Pedro Instituto Politécnico Nacional UPIICSA

HA2NV51-Eq9-ComparaciónMetodologías

Embed Size (px)

Citation preview

Page 1: HA2NV51-Eq9-ComparaciónMetodologías

Cuadro comparativo de las metodologías Equipo No. 10• Hernández Galindo Edgar Andrés• Pulido García Brenda Amalia• Moreno Arellano Luis Adrian• Sosa Duran Pedro

Instituto Politécnico NacionalUPIICSA

Page 2: HA2NV51-Eq9-ComparaciónMetodologías

Metodología Descripción Tipo de Proyecto

Etapas Características

Cascada Es el modelo para el desarrollo de SW que sigue una secuencia lógica y cada etapa es directamente dependiente de la etapa anterior

• Proyecto de reingeniería

• Proyecto compuestos de requerimientos claros

• Análisis de requerimientos

• Diseño• Implementació

n• Pruebas• Mantenimiento

• Se puede volver a una etapa atrás

• Sus requerimientos son específicos

Espiral Es un modelo de procesos evolutivo el cual se desarrolla en versiones incrementales

Web y App • Planificación• Análisis de

riesgo• Ingeniería• Evaluación por

el cliente

Básicamente consiste en una serie de ciclos que se repiten de forma de espiral, comenzando desde el centro.

Page 3: HA2NV51-Eq9-ComparaciónMetodologías

Metodología

Descripción Tipo de Proyecto

Etapas Características

XP Basada en los métodos ágiles, que evidencia principios tales como el desarrollo incremental, la participación activa del cliente, el interés en las personas .

• Proyecto de reingeniería

• Proyecto compuestos de requerimientos claros

• Fase de planeación

• Fase de diseño• Fase de

codificación• Fase de

pruebas

• Planificación incremental

• Entregas pequeñas• Diseño sencillo• Desarrollo

previamente aprobado

• Limpieza del código o refactorización

• Programación en parejas

• Propiedad colectiva• Integración continua

SCRUM Es un marco de trabajo basado en los métodos ágiles, que tiene como objetivo el control continuo sobre el estado actual del software

• Proyecto de reingeniería

• Proyecto compuestos de requerimientos claros

Equipos de trabajo:• Propietario del

producto• SCRUM

Manager: Equipo SCRUM

• Interesados• Usuarios

• Prioridad los individuos y las interacciones sobre los procesos

• Propone el software funcional

• Se presenta soluciones operables y no solo reportes progresos

Page 4: HA2NV51-Eq9-ComparaciónMetodologías

Metodología Descripción Tipo de Proyecto

Etapas Características

RAD Comprende el desarrollo interactivo, la construcción de prototipos y el uso de utilidades CASE.

• Desarrollo rápido de interfaces gráficas

• Desarrollos integrados completos

• Fase de planificación de requerimientos

• Fase de diseño• Fase de

construcción• Fase corte y

cambio

• Equipos híbridos• Herramientas

especializadas• "Timeboxing"• Prototipos

Iterativos y Evolucionarios.

OOD Planificación de un sistema de objetos que interactúan con el propósito de resolver un problema de software.

• Proyectos de ingeniería

• Planificación• Análisis de

riesgo• Ingeniería• Evaluación por

el cliente

• se crea un conjunto en notación acordada

• modelado de objetos para analizar los requerimientos

Page 5: HA2NV51-Eq9-ComparaciónMetodologías

Metodología Descripción Tipo de Proyecto

Etapas Características

Incremental Es el modelo desarrollo como una forma de reducir la repetición del trabajo en el proceso de desarrollo y dar oportunidad de retrasar la toma de decisiones en los requisitos hasta adquirir experiencia con el sistema.

• Proyecto de reingeniería

• Proyecto compuestos de requerimientos claros

• Análisis• Diseño• Código• Prueba

• Se evitan proyectos largos

• El usuario se involucra mas.

• Dificil de evaluar costo.

• Requiere gestores experimentados.

• Los errores en los requisitos se detectan tarde.

Prototipado Es un modelo que se basa en los prototipos. El prototipo debe ser construido en poco tiempo, usando los programas adecuados y no se debe utilizar muchos recursos.

• Proyecto de reingeniería

• Proyecto compuestos de requerimientos claros

• Plan rápido.• Modelado, diseño

rápido• Construcción del

Prototipo• Desarrollo,

entrega y retroalimentación

• Comunicación• Entrega del

desarrollo final

• Diseño rápido • El diseño

conduce a la construcción de un prototipo,

• Evaluación constante del cliente

• Retroalimentación constante

Page 6: HA2NV51-Eq9-ComparaciónMetodologías

Ventajas y desventajas

Page 7: HA2NV51-Eq9-ComparaciónMetodologías

Cascada

Ventajas Es un modelo lineal y es mas simple al

implementarlo. La cantidad de recursos necesarios para

implementar este modelo es mínimo. La documentación se produce en cada

etapa del desarrollo esto hace que la comprensión del producto diseñar procedimiento más sencillo.

Después de cada etapa importante de la codificación de software, las pruebas se realizan para comprobar el correcto funcionamiento del código.

Desventajas No se puede volver atrás, si la fase de diseño ha

ido mal, las cosas pueden ser muy complicado en la fase de ejecución.

Sucede que el cliente no es muy claro de lo que exactamente quiere de el software. Cualquier cambio que se menciona en el medio puede causar mucha confusión.

Los pequeños cambios o errores que surgen en el software completo puede causar mucho problema. 

Es difícil en condiciones de mencionar si lo que se ha diseñado es exactamente lo que había pedido

Page 8: HA2NV51-Eq9-ComparaciónMetodologías

Espiral

Ventajas El desarrollo repetida o continua ayuda

en la gestión de riesgos. Este enfoque continuo y constante

minimiza los riesgos o fallos asociados con el cambio en el sistema.

La adaptabilidad en el diseño a cualquier número de cambios, que pueden ocurrir durante cualquier fase del proyecto.

Estimación de costos es mas fácil La experiencia del cliente en el nuevo

sistema crece.

Desventajas funciona mejor para los grandes proyectos

solamente, las necesidades de cualificación en la

evaluación de una amplia incertidumbres o riesgos asociados con el proyecto y su reducción.

Trabajar en un protocolo, que debe ser seguido estrictamente para su buen funcionamiento lo cual es difícil.

La evaluación de los riesgos involucrados en el proyecto pueden disparar el costo.

Page 9: HA2NV51-Eq9-ComparaciónMetodologías

XP

Ventajas Hace bastante énfasis en la gestión del

recurso humano. Se adapta al desarrollo de sistemas

pequeños y grandes Optimiza el tiempo de desarrollo Permite realizar el desarrollo del sistema

en parejas para complementar los conocimientos

El código es sencillo y entendible, además de la poca documentación a elaborar para el desarrollo del sistema.

Desventajas No se tiene la definición del costo y el tiempo de

desarrollo El sistema va creciendo después de cada

entrega al cliente y nadie puede decir que el cliente no querrá una función más

Se necesita de la presencia constante del usuario, lo cual en la realidad es muy difícil de lograr. 

Page 10: HA2NV51-Eq9-ComparaciónMetodologías

SCRUM

Ventajas El cliente puede comenzar a utilizar el

producto rápidamente. El cliente puede decidir los nuevos

objetivos a realizar. Se agila el proceso, porque se divide el

problema en pequeñas tareas. Menos probabilidad de que se den

sorpresas o desarrollos inesperados porque el cliente va viendo poco a poco lo que se está desarrollando.

Desventajas Alto nivel de stress de los miembros del equipo,

el desgaste puede ser excesivo y estresante lo que puede disminuir el rendimiento.

La necesidad de contar con equipos multidisciplinarios puede ser un problema, porque cada integrante del equipo debe estar en capacidad de resolver cualquier tarea y no siempre se cuenta con este perfil en la empresa.

El equipo puede estar tentado de tomar el camino más corto para cumplir con un sprint, que no necesariamente puede ser el de mejor calidad en el desarrollo del producto.

Page 11: HA2NV51-Eq9-ComparaciónMetodologías

RAD

Ventajas Los requerimientos cambiantes pueden ser

acomodados. El progreso puede ser medido. El tiempo de iteración puede ser corto con el

uso de las herramientas RAD. La productividad se logra con un menor número

de personas en corto tiempo. Se reduce el Tiempo de desarrollo. Aumenta la probabilidad de reutilización de los

componentes. Se producen rápidos exámenes iniciales. Alienta comentarios de los clientes. Integración desde el principio resuelve muchos

de los problemas de integración.

Desventajas La dependencia de los miembros del equipo técnico para la

identificación de los requerimientos del negocio. Requiere de desarrolladores / diseñadores altamente

cualificados Alta dependencia de las habilidades de modelado. No aplicable a los proyectos más económicos cuando el

coste modelado y generación de código automático es muy alta..

Es más la complejidad de la gestión Adecuado para sistemas que son componentes basadas y

escalables. Requiere la participación del usuario a lo largo del ciclo de

vida. Adecuado para proyecto que requiere tiempos de desarrollo

más cortos.

Page 12: HA2NV51-Eq9-ComparaciónMetodologías

Incremental

Ventajas Se evitan proyectos largos y se entrega

"algo de valor" a los usuarios con cierta frecuencia.

El usuario se involucra mas. Difícil de evaluar el costo total. Difícil de aplicar a los sistemas

transaccionales que tienden a ser integrados y a operar como un todo.

Requiere gestores experimentados. Los errores en los requisitos se detectan

tarde. El resultado puede ser positivo.

Desventajas Con un paradigma incremental se reduce el

tiempo de desarrollo inicial, ya que se implementa la funcionalidad parcial.

También provee un impacto ventajoso frente al cliente, que es la entrega temprana de partes operativas del software.

El modelo proporciona todas las ventajas del modelo en Cascada realimentado, reduciendo sus desventajas sólo al ámbito de cada incremento.

Resulta más sencillo acomodar cambios al acotar el tamaño de los incrementos.

Page 13: HA2NV51-Eq9-ComparaciónMetodologías

Prototipado

Ventajas No modifica el flujo del ciclo de vida Reduce el riesgo de construir productos

que no satisfagan las necesidades de los usuarios

Reduce costo y aumenta la probabilidad de éxito

Exige disponer de las herramientas adecuadas

Este modelo es útil cuando el cliente conoce los objetivos generales para el software

Desventajas Debe ser un sistema con el que se pueda

experimentar Debe ser comparativamente barato(menor que

el 10%) Debe desarrollarse rápidamente Énfasis en la interfaz de usuario Equipo de desarrollo reducido Herramientas y lenguajes adecuadas Difícil adaptación al sistema final