PROTOTIPADO
Í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
Definición de 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.
Características de un prototipo
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 computerizada 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, computerizado 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 cuando 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