Evolutionary Prototyping VS Throwaway Prototyping 1 Ingeniera
de Software I
Diapositiva 2
Evolutionary Prototyping VS Throwaway Prototyping Evolutionary
PrototypingThrowaway Prototyping Qu es?Es un ciclo de vida en el
cual el sistema es desarrollado incrementalmente ya que va
modificndose en base a la respuesta del cliente o del usuario final
Es un ciclo de vida en el cual el cdigo es desarrollado para
explorar factores crticos del xito del sistema y luego es tirado
Magnitud del Proyecto Se recomienda utilizarlo en proyectos pequeos
Se recomienda utilizarlo en Proyectos grandes Desarrollador Con
mucha experiencia Interaccin continua con el cliente Inexperto 2
Ingeniera de Software I
Diapositiva 3
Evolutionary Prototyping VS Throwaway Prototyping Evolutionary
PrototypingThrowaway 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 interactan
constantemente con el usuario. Se puede usar en: 1.Interfaz de
Usuario 2.Formato de Reportes 3.Formato de Grficos 4.Organizacin de
base de datos 5.Performance de base de datos 6.Exactitud e
implantacin de clculos complejos 7.Desarrollar partes criticas en
el momento 8.Performance del sistema Desarrolladores sin
experiencia 3 Ingeniera de Software I
Diapositiva 4
Evolutionary Prototyping VS Throwaway Prototyping Evolutionary
PrototypingThrowaway Prototyping Efectos Progreso visible para
todos El temprano feedback determina una mayor probabilidad de que
el sistema final ser aceptable Disminucin general de lneas de cdigo
Baja tasa de defectos 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 Interaccin con otras Practicas Combinado
con otras prcticas 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. 4 Ingeniera de Software I
Diapositiva 5
Evolutionary Prototyping VS Throwaway Prototyping Evolutionary
PrototypingThrowaway Prototyping Ventajas Reduccin de calendario Le
provee al usuario final o al cliente constante visibilidad, signos
de avance y da la impresin de rpido 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 rpidamente.
Velocidad de desarrollo Se puede usar en cualquier etapa del
proyecto Reduce potencialmente los riesgos 5 Ingeniera de Software
I
Diapositiva 6
Evolutionary Prototyping VS Throwaway Prototyping Evolutionary
PrototypingThrowaway Prototyping Eficacia Reduccin del calendario
Visibilidad de progreso Efecto sobre el riesgo de calendario
Reduccin del calendario Visibilidad de progreso Efecto sobre el
riesgo de calendario Major Risks Calendario Irreal Falsas
expectativas Falsas expectativas de performance Diseo Pobre
Mantenibilidad Pobre Conservar el prototipo Ineficiente uso del
tiempo para prototipar Calendario irreal y falsas expectativas
RiesgosCalendario irreal y falsas expectativas Poco control de
proyecto Feedback pobre por parte del usuario final o cliente Pobre
performance Expectativas de Performance irreales, debido que el
prototipo posee Quedarse con el prototipo Uso ineficiente del
tiempo de prototipado Calendario irreal y falsas expectativas 6
Ingeniera de Software I
Diapositiva 7
Evolutionary Prototyping VS Throwaway Prototyping Evolutionary
PrototypingThrowaway Prototyping Riesgosmayor performance que el
producto final. Diseo pobre: el producto final puede no tener los
parches del prototipo, no tener en cuenta el feedback de los
usuarios finales o clientes, enfocarse solo en la interface, usar
un lenguaje de prototipado que no lo contemple Pobre
mantenibilidad: desarrollo descuidado Incremento de funcionalidades
Uso ineficiente del tiempo de prototipado: al ser un proceso
explorativo e iterativo debe manejarse cuidadosamente. 7 Ingeniera
de Software I
Diapositiva 8
Evolutionary Prototyping VS Throwaway Prototyping Evolutionary
PrototypingThrowaway Prototyping Claves para el xito Seleccionarlo
al inicio del proyecto Limitar la interaccin entre el prototipo y
el usuario final o cliente. Manejar explcitamente las expectativas
del usuario final o cliente Usar desarrolladores con experiencia
Usar checklist de diseo en cada etapa Usar chacklist de codigo en
cada etapa Considerar temprano la performance Elegir un lenguaje de
prototipado basado en que tan rpido te permitir crear el cdigo que
vas a tirar. Asegurarse de que tanto el manager como el staff
tcnico se comprometan a tirar el prototipo Enfocarse en reas o
modules pobremente entendidos Tratar las actividades como
experimentos y monitorearlas y controlarlas 8 Ingeniera de Software
I