Prototipado
PROTOTIPADO
By Erik Vidal
Índice
• Definición
de prototipo
• Características
de un prototipo
• El
proceso de prototipado
• ¿Cuándo
se prototipa?
• Consideraciones
previas a la construcción de un prototipo
• Problemas
causados y resueltos por el prototipado
• Herramientas
de prototipado
• Evaluación
del prototipo
Un prototipo es un modelo (representación,
demostración o simulación) fácilmente ampliable y modificable de un sistema
planificado, probablemente incluyendo su interfaz y su funcionalidad de
entradas y salidas.
Tipos de
prototipo
Baja Fidelidad vs. Alta Fidelidad
- Baja Fidelidad: conjunto de dibujos (por
ejemplo, una presentación de escenarios) que constituye una maqueta
estática, no computarizado y no operativa de una interfaz de usuario para
un sistema en planificación.
- Alta Fidelidad: conjunto de pantallas que
proporcionan un modelo dinámico, computarizado y operativo de un sistema
en planificación.
Exploratorio vs. Experimental vs. Operacional
- Exploratorio: prototipo no reutilizable
utilizado para clarificar las metas del proyecto, identificar
requerimientos, examinar alternativas de diseño o investigar un sistema
extenso y complejo.
- Experimental: prototipo utilizado para la
validación de especificaciones de sistema
- Operacional: prototipo iterativo que es
progresivamente refinado hasta que se convierte en el sistema final.
Horizontal vs. Vertical
- Horizontal: prototipo que modela muchas
características de un sistema, pero con poco detalle. Dicho detalle
alcanzará una profundidad determinada, va a resultar especialmente útil en
las etapas tempranas de diseño y tiene como objetivo el test del modo de interacción
global, al contemplar funciones comunes que el usuario va a utilizar
frecuentemente.
- Vertical: prototipo que modela pocas
características de un sistema, pero con mucho detalle. Va a resultar
especialmente útil en etapas más avanzadas del diseño y tiene como
objetivo el test de detalles del diseño
- Diagonal: prototipo horizontal hasta un cierto
nivel, a partir del cual se puede considerar vertical
Global vs. Local
- Global: prototipo del sistema completo.
Prototipo horizontal expandido que modela una gran cantidad de
características y cubre un amplio rango de funcionalidades. Va a resultar
muy útil a lo largo de todo el proceso de diseño.
- Local: prototipo de un único componente o característica del sistema de usabilidad crítica. Va a resultar de utilidad en algunas etapas específicas del proceso de diseño.
Dimensiones
de prototipado
Ejecutabilidad: ¿será operativo el prototipo y de
ser así qué significará esto?
- Prototipo Guiado: prototipo lo suficientemente
operativo como para lleva a cabo una revisión o paseo cognitivo
- Prototipo de Animación: prototipo lo
suficientemente operativo como para ser ejecutado por partes en modo de
presentación en un ordenador
- Prototipo del Mago de Oz: prototipo que
permite ser ejecutado en modo de presentación y la participación de un
tercer sujeto que, oculto a la vista del usuario que interactúa, gestiona
la evolución de la presentación en función de las entradas que el usuario
proporciona al sistema
- Prototipo Interactivo: operativo en sentido
estricto, se ejecuta y responde a las entradas que le proporciona el
usuario participante en tiempo real
- Prototipo Funcional: operativo en sentido
estricto, se ejecuta, responde a las entradas que le proporciona el
usuario participante en tiempo real y efectúa alguna de las operaciones que
se le solicitan
Maduración: ¿se mejorará el prototipo por etapas y,
de ser así, se convertirá en el producto final?
Representación: ¿qué nivel de fidelidad alcanzará el prototipo?
Perspectiva: ¿se limitará el prototipo a áreas específicas de funcionalidad?
Características
de un buen prototipo no reutilizable
- Ejecutabilidad: trabaja lo suficientemente
bien con la entrada activa que le procura el usuario para permitir un test
de usabilidad
- Maduración: puede evolucionar, con el
suficiente refinamiento, hasta el producto final
- Representación: tiene el aspecto y las
características de actuación del sistema en planificación
- Perspectiva: como mínimo simula un 20% de las
funciones que los usuarios utilizarán el 80% del tiempo.
El proceso de prototipado
Se pueden presentar diversas situaciones:
- La
realización de las necesidades del usuario precisa de análisis en una
sesión JAD pero deja los requerimientos incompletos.
- Hay
que construir de un prototipo de baja fidelidad para clarificar los
requerimientos iniciales.
- Hay
que iterar (volver a especificar, rediseñar, volver a evaluar) hasta que
el equipo, tanto usuarios como desarrolladores, estén de acuerdo en que la
fidelidad y el nivel de acabado del prototipo en evolución sea lo
suficientemente alto.
- Se
congelan estas especificaciones
- Se finaliza la construcción del producto tal y como se prototipó.
¿Cuándo se prototipa?
Antes de comenzar...
...para mostrar el concepto a la directiva.
Comenzando...
...para reunir los requerimientos iniciales de usuario
Después de empezar...
...para validar la evolución de los requerimientos de usuario.
En las etapas intermedias...
...para validar las especificaciones del sistema
Entre las etapas intermedias y finales...
...para preparar a los usuarios o crear una demostración de marketing
En las etapas finales...
...para explorar soluciones a problemas de diseño o usabilidad
específicos.
Consideraciones previas a la construcción de un
prototipo
- Profundidad
de la funcionalidad requerida en el prototipo
- Elección
de la herramienta de prototipado y consideración de sus limitaciones
- Criterios
de conclusión para el ciclo de iteración
- Composición
del equipo (usuarios, desarrolladores y otros implicados)
- Nivel
de fidelidad requerido en el prototipado
- Longitud
máxima de un ciclo de iteración
- Propósito
del prototipo
- Formas
de manejar los conflictos entre miembros del equipo de diseño y
establecimiento de consenso.
Problemas causados y resueltos por el prototipado
El
prototipado puede albergar una serie de problemas en ciertos aspectos:
- comunicación entre desarrolladores y clientes
- aceptación por el cliente
- lanzamiento de una prueba temprana del
producto
- poca definición en las etapas tempranas del
diseño
- reunión de requerimientos válidos
- incremento de la participación constructiva
del usuario
- gestión de las peticiones de cambios
- invisibilidad del producto
- aseguramiento de la calidad
El
prototipado puede introducir una serie de problemas en ciertas cuestiones:
- decidir cuántas iteraciones son suficientes
- calibrar la progresión sin los hitos
tradicionales
- gestión el conflicto entre desarrolladores y
clientes
- gestión de tiempos para el ciclo de
desarrollo, que es esencialmente abierto
- procesado de las peticiones de cambios de los
usuarios
- inflar las perspectivas del usuario
El manejo de
la situación con determinados problemas
¿Cómo se evita inflar las expectativas durante el
prototipado?
- Introducir las realizaciones esperadas en el prototipo,
aunque ello implique retrasos
- Desarrollar especificaciones realistas
- Distinguir entre los requerimientos primarios
y secundarios
¿Cómo se sabe cuándo se ha obtenido el prototipo?
- Cuando se termina el tiempo o el dinero
(criterio de defecto)
- Cuando el prototipo alcanza los requerimientos
del sistema final
- Cuando el prototipo tiene un propósito
limitado (p.e. reunión de los requerimientos iniciales) y el propósito ha
sido alcanzado
- Cuando, en el prototipado horizontal se
alcanza el nivel de profundidad del sistema
- Cuando desarrolladores y usuarios acuerdan
proseguir con la siguiente etapa.
Herramientas de prototipado
Características
requeridas para una herramienta de prototipado rápido
Aspectos más importantes
- Se debería crear un
prototipo operativo con el que los usuarios pudieran interaccionar.
- Debería ser simple de crear, desarrollar y
modificar
- Debería simular el aspecto y as impresiones
que producirían la interfaz en planificación
Otras cuestiones deseables (más explícitamente
orientado a software)
- Debería permitir la llamada de programas y
procedimientos externos
- Debería permitir la repetición de la
participación de los usuarios
- Debería permitir la reunión y revisión
científica de los datos de la interacción del usuario
- Debería simular las características de
realización esperadas del sistema en planificación
- Debería presentar el aspecto del sistema
objetivo en estado operativo
- Debería generar la mayor parte del código
preciso para la implementación del diseño de la interfaz
- Debería importar componentes de software
reutilizables de diversos tipos
- Debería importar texto, gráficas, sonido
- Debería soportar los estándares industriales y
bibliotecas estándar
- Debería resultar fácil cambiar el orden de las
tareas
- Debería resultar fácil cambiar el orden de las
ventanas
- Debería resultar fácil crear animaciones
simples
- Debería resultar simple modificar las tareas
- Debería resultar simple secuenciar o modificar
la secuencia de ventanas
- Debería proporcionar una transición continua
desde el diseño hasta la implementación
Tipos de
Herramientas de Prototipado
De menor a mayor formalidad
- Papel y lápiz
- Software de dibujo
- Aplicaciones para desarrollar demos
- Software de animación y presentaciones
- Perl + Motif + Tcl/Tk (UNIX)
- Herramientas visuales para RAD, como Visual
Basic, Optima ++ y Borland Delphi
- 4GLs
- Sistemas de gestión de interfaz de usuario
(UIM)
- Lenguajes de especificación ejecutable.
Evaluación del prototipo
Beneficios y
riesgos del prototipado
Ventajas
- Los prototipos son fácilmente modificables y
prescindibles
- El prototipado mejora la relación entre
desarrolladores y usuarios
- Los usuarios obtienen mayor satisfacción con
los sistemas desarrollados por prototipado
- Un prototipo puede proporcionar la prueba conceptual
necesaria para la consolidación en el proceso
- Un prototipo puede servir como herramienta de
marketing
- Un prototipo puede servir como base para
especificaciones operacionales
- La temprana disponibilidad del prototipo puede
ayudar a la directiva a evaluar el progreso
- El prototipo exploratorio permite proceder con
el trabajo productivo a pesar de las posibles dudas iniciales
- Los prototipos son indicador del progreso en
las etapas tempranas del desarrollo
- Los prototipos pueden procurar una pronta preparación
para los usuarios futuros del sistema
- El prototipado puede evitar sorpresas
desagradables al destacar los requerimientos incompletos o inconsistentes
y la falta de funcionalidad.
- El prototipado puede producir resultados con
salida comercial incluso si se exceden las previsiones temporales y de
presupuesto en el proyecto
- El prototipado puede reducir los malos
entendidos entre desarrolladores y clientes
- El prototipado puede reducir los costes de
rediseño si los problemas se detectan pronto, cuando son fáciles de
localizar
- El prototipado puede reducir el tiempo
requerido para el test si los problemas se detectan pronto, cuando son
fáciles de localizar
- El prototipado puede suponer hasta un 43% de
esfuerzo inferior al del desarrollo convencional (Boehm, Gray, Seewaldt,
1984)
- El prototipado puede desembocar en un
sentimiento de propiedad a partes iguales entre desarrolladores y usuarios
- El prototipado resultará en producto que se
ajusta mejor a los requerimientos del usuario
- El prototipado puede resultar en un ahorro
inicial en costes de mantenimiento, porque los usuarios están haciendo un
test de aceptación a lo largo de todo el proceso
- El prototipado puede fortalecer la
especificación de los requerimientos
- Los sistemas generados por prototipado van a
resultar más fáciles de aprender a manejar y usar
- El prototipado horizontal es un gran
complemento del análisis estructurado
- El entorno en el proceso de prototipado está
menos sujeto a intereses creados por lo que se está más abierto al cambio
y a la innovación
- El uso de prototipos anticipa las peticiones
de cambio, resultando más económico su procesado
- Los usuarios entienden mejor los prototipos
que las especificaciones de papel
- El uso del prototipado durante el desarrollo puede reducir la cantidad de código escrito hasta en un 60% (Boehm, Gray, Seewaldt, 1984)
Riesgos
- El prototipado puede estimular un número de
petición de cambios excesivo
- Los prototipos operativos pueden inducir a
pensar a la directiva y a los clientes que el producto final está
prácticamente dispuesto para su salida al mercado
- Las características del prototipo pueden
conducir a interpretaciones erróneas del usuario-cliente
- Los clientes pueden no estar preparados para
proporcionar la información con el nivel y frecuencia requeridos en un
ciclo iterativo
- Los clientes podrían no estar dispuestos a
participar en el ciclo de iteración durante largos períodos de tiempo
- Los desarrolladores pueden encontrar
dificultades en la ultimación de detalles que han resultado de fácil
desarrollo con una herramienta de prototipado
- Debido a las exigencias temporales y de
mercado, las especificaciones del sistema podrían congelarse antes de que el
proceso de prototipado haya alcanzado una etapa definitiva
- Durante el prototipado, la única
especificación de diseño es el propio prototipo, habiendo de admitir
cuantas modificaciones sean necesarias.
- Los prototipos en etapas tempranas han de ser
de baja fidelidad
- Los prototipos de alta fidelidad pueden ser
confundidos con el producto real
- Se corre el riesgo de ignorar importantes
características del sistema (actuación, seguridad, robustez y fiabilidad,
p.e.) durante el desarrollo del prototipo
- Puede resultar imposible implementar funciones
críticas del sistema para la seguridad o la operación
- La directiva puede encontrar problemas en la
planificación de la iteración del prototipado
- Los prototipos pueden albergar
simplificaciones e imprecisiones
- Los prototipos pueden encarecer el producto
- Los prototipos de sistemas complejos pueden
resultar excesivamente complicados
- El proceso de prototipado es un proceso
continuo que no de debe presentar fases bien definidas.
- El proceso de prototipado se puede alargar en exceso
si no se han establecido criterios de conclusión
- El prototipado puede llevar a los diseñadores
a modificar su filosofía de diseño y a la adopción de modelos distintos
- El prototipado puede dar poca opción al test
de requerimientos no funcionales de sistema
- El prototipado se puede estancar si los
miembros del equipo de diseño no disponen de autoridad para la toma de
decisiones
- El prototipado puede generar problemas de
disciplina
- Las especificaciones que surgen durante las
últimas etapas del proceso de prototipado pueden reducir la integridad
estructural del sistema, aún parcialmente diseñado
- El contexto de uso del prototipo puede ser
bien diferente del contexto de uso del sistema final
- No hay garantía de que las posiciones de
desarrolladores y clientes converjan durante el ciclo de iteración
Cuando
funciona el prototipo y cuando no lo hace
El prototipado tendrá probablemente éxito cuando se utilice...
- como un mecanismo para desarrollar un test de
usabilidad temprano
- para comparar alternativas de diseño
- para crear una especificación activa en
constante evolución
- para evaluar las interfaces propuestas
- para explorar los efectos de las peticiones de
cambio
- para mostrar nuevos o inesperados
requerimientos
- para identificar los requerimientos de mercado
- para involucrar a los usuarios en el proceso
de diseño
- para modelar un sistema con una componente
significativa de interfaz de usuario
- para modelar un sistema relativamente grande y
complejo
- para establecer una base común para la buena
comunicación entre desarrolladores y usuarios
- para estimular las aportaciones del cliente
durante la reunión de requerimientos
- dentro de una herramienta de prototipado
rápido
El prototipado fracasará probablemente cuando...
- no se haya establecido un claro criterio de
conclusión del ciclo iterativo de desarrollo
- se permita que las expectativas de los
clientes vayan más allá de los límites de lo razonable
- cuando la funcionalidad de un prototipo
operacional no evolucione hacia la del sistema final
- las opiniones de
desarrolladores y usuarios divergen durante la fase de iteración
- el proyecto es demasiado pequeño para
justificar el prototipado
- el prototipo es inapropiado para el producto objetivo
- se utilice para modelar sistemas que no
presentan interfaz externa
Comentarios
Publicar un comentario
Gracias por tus comentarios..