Evolutionary Prototyping VS Throwaway Prototyping

Slides:



Advertisements
Presentaciones similares
EL PROCESO DE DESARROLLO DEL SOFTWARE
Advertisements

Desarrollo en espiral.
DESARROLLANDO EL PLAN DE TRABAJO
MÉTODOS DE ESTIMACIÓN Y GESTIÓN DEL RIESGO
Metodologías ágiles.
CICLO DE VIDA DEL DESARROLLO DE SOFTWARE
Introducción a la gestión de proyectos de software
2. Diseño y Desarrollo del Producto
Metodologías orientadas a objetos
Evolutionary Prototyping VS Throwaway Prototyping
“8 Principios de la Gestión Administrativa”
Introducción a la Ingeniería de Software
Una vez que haya dominado el material de este capítulo, podrá:  Entender los cuatro modelos principales de elaboración de prototipos.  Usar la elaboración.
Ingeniería de Software Dr. Marcello Visconti Departamento de Informática Universidad Técnica Federico Santa María
Capítulo 3 Etapas de un Proyecto de simulación
INGENIERIA DEL SOFTWARE
“Especificación de Requerimientos”
Ciclos de vida ágiles.  Es una metodología ágil que plantea: ◦ Iteraciones cortas ◦ Entregables periódicos ◦ Colaboración con el cliente full time ◦
Ingeniería de Software
Modelo de ciclo de vida en espiral
DISEÑO DE SOFTWARE 1ª. Parte
Unidad 4 Diseño Arquitectónico Basado en la Funcionalidad
CICLO DE VIDA DEL SOFTWARE
Modelo Incremental DESCRIPCION
Ingenieria de software
Administración de la Producción de Sistemas Computacionales
Inspecciones de Software
Concepto de usabilidad
Sistemas Basados en Conocimiento Diego Faúndez Nelson Escobar.
Tema 1: Introducción al análisis y diseño de aplicaciones software
Administración Proyectos Jorge Baracaldo Robin Ochoa.
Modelos de desarrollo de Software
LA INNOVACION TECNOLOGICA COMO SISTEMA
Ingeniería del Software
Sistemas de Información IS95872
Rad-Desarrollo rápido de aplicaciones
¿Cómo nos ayuda GeneXus a mejorar la calidad en el proceso de desarrollo de Software? Ing. Rosario Estévez Ing. Rafael Mon
EL APORTE DE LA INGENIERIA DE SOFTWARE A LAS ORGANIZACIONES
Planificación del ciclo de vida de un producto de software
Sistemas Basados en Conocimiento (Knowledge Based Systems) Lic. Mario G. Oloriz Agosto 2004.
Importancia en la efectividad del:
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
Pruebas y La Vida del Ciclo de Desarrollo del Software
El rol de SQA en PIS.
Diseño de Sistemas Herramientas para el Diseño de Sistemas.
Metodología de Desarrollo Unidad Educativa Bolívar Sebastián Torres 6° 18°
Alexander Aristizabal Ángelo flores herrera
Introducción a las Ingenierías de la Información
Diseño de Sistemas.
Lista de Riesgos Administración de Proyectos de Desarrollo de Software
POR: EDUARDO GIRALDO LEONARDO MARTINEZ
TIPOS DE PRUEBAS DEL SOFTWARE
METODOLOGIAS DE DESARROLLO DE SOFTWARE
GRUPO ANALISIS Y DESARROLLO DE SISTEMAS DE INFORMACION SENA DESARROLLO ITERATIVO E INCREMENTAL INTEGRANTES STEVEN PALOMA ALEJANDRO BERNAL TATIANA.
Modelo Prescriptivos de proceso
MANTENIMIENTO.
1 Introducción a la Arquitectura de Sistema Maximiliano Déboli Director De Desarrollo MVP Azure Lagash
Ciclo de Vida del Software
Fundamentos de Computación
RAPID APPLICATION DEVELOPMENT RAD. Proceso de RAD Involucrar en todos los aspectos al usuario en el desarrollo del sistema Uso continuo y repetitivo de.
Comenzando con las ideas de Barry Boehm y Scott Shultz, James Martin desarrolló el Rapid Application Development durante los años 1980 en IBM y finalmente.
Software de Comunicaciones
Modelo de procesos de software
Integrantes: Mejía Zúñiga Yoselin Taco Apaza Pamela Ychuta Torres John.
UNIDAD III. PSP Objetivo: El alumno identificará el Proceso Personal de Software, para medir su desempeño.
MODELOS DE DESARROLLO Es una descripción de un proceso del software que se presenta desde una perspectiva particular. Por su naturaleza, los modelos.
Sistemas de calidad en el desarrollo de software.
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) IV. IMPLANTACION DE ALGORITMOS.
Desarrollo iterativo e incremental
Transcripción de la presentación:

Evolutionary Prototyping VS Throwaway Prototyping Qué es? Es un ciclo de vida en el cual el sistema es desarrollado incrementalmente ya que va modificándose en base a la respuesta del cliente o del usuario final Es un ciclo de vida en el cual el código es desarrollado para explorar factores críticos del éxito del sistema y luego es tirado. (Utiliza lenguajes de programación o practicas de desarrollo y puede acelerar mucho los proyectos.) Magnitud del Proyecto Se recomienda utilizarlo en proyectos pequeños Se recomienda utilizarlo en Proyectos grandes Desarrollador Con mucha experiencia Interacción continua con el cliente Inexperto

Evolutionary Prototyping VS Throwaway Prototyping Uso Primero se desarrollan partes del sistema que luego se integran al resto del sistema El prototipo termina siendo el software final. Al principio no siempre se sabe que es lo que se va a construir. Se comienza con las partes mas riesgosas o visibles (interfaz de usuario) Se desarrolla y luego se refina tantas veces como sea necesario en base al feedback del cliente o usuario final. Los desarrolladores del sistema interactúan constantemente con el usuario. Se puede usar en: Interfaz de Usuario Formato de Reportes Formato de Gráficos Organización de base de datos Performance de base de datos Exactitud e implantación de cálculos complejos Desarrollar partes criticas en el momento Performance del sistema Desarrolladores sin experiencia

Evolutionary Prototyping VS Throwaway Prototyping Efectos Progreso visible para todos El temprano feedback determina una mayor probabilidad de que el sistema final será aceptable Disminución general de líneas de código (por tener mejor diseño y más reuso) Baja tasa de defectos.( gracias a que tiene muy buena definición de requerimientos) Menor curva de esfuerzo Reduce el riesgo del proyecto Mejora la mantenibilidad Provee resistencia a los requerimientos progresivos Provee la posibilidad de entrenar programadores inexpertos Interacción con otras Practicas Combinado con otras prácticas es un efectivo removedor de defectos que genera bajo costo, eficiencia y corto calendario. Se puede utilizar en muchas clases de proyectos sin tener en cuenta que otras practicas son usadas en él.

Evolutionary Prototyping VS Throwaway Prototyping Ventajas Reducción de calendario Le provee al usuario final o al cliente constante visibilidad, signos de avance y da la impresión de rápido desarrollo. Puede combinarse con User-Interface Prototypaing and Throwaway Prototypaing Sirve como base para Evoluptionary Delivery Disminuyó el esfuerzo de desarrollo de un 45% a un 80% Otorga beneficios rapidamente. Velocidad de desarrollo Se puede usar en cualquier etapa del proyecto (para clarificar requerimientos, decidir la arquitectura o el diseño, entre otras) Reduce potencialmente los riesgos

Evolutionary Prototyping VS Throwaway Prototyping Eficacia Reducción del calendario Visibilidad de progreso Efecto sobre el riesgo de calendario Major Risks Calendario Irreal Falsas expectativas Falsas expectativas de performance Diseño Pobre Mantenibilidad Pobre Conservar el prototipo Ineficiente uso del tiempo para prototipar Calendario irreal y falsas expectativas Riesgos Quedarse con el prototipo (no es lo suficientemente robusto como para ponerlo en producción ya que tiene pobre diseño, mantenibilidad y performance)

Evolutionary Prototyping VS Throwaway Prototyping Riesgos Uso ineficiente del tiempo de prototipado( lleva un tiempo de exploración) Calendario irreal y falsas expectativas ( tanto por parte de los usuarios, los managers o los comerciales al ver el rápido progreso del prototipo a veces asumen que el preoducto puede ser rapidamente desarrollado)

Evolutionary Prototyping VS Throwaway Prototyping Claves para el éxito Seleccionarlo al inicio del proyecto Limitar la interacción entre el prototipo y el usuario final o cliente. Manejar explícitamente las expectativas del usuario final o cliente( que tengan que ver con el calendario, presupuesto y/o performance) Usar desarrolladores con experiencia Usar checklist de diseño en cada etapa (para asegurar la calidad del sistema) Usar chacklist de codigo en cada etapa (para asegurar la mantenibilidad del mismo) Considerar temprano la performance Elegir un lenguaje de prototipado basado en que tan rápido te permitirá crear el código que vas a tirar. Asegurarse de que tanto el manager como el staff técnico se comprometan a tirar el prototipo Enfocarse en áreas o modules pobremente entendidos Tratar las actividades como experimentos y monitorearlas y controlarlas