Prototipado

PROTOTIPADO

Índice

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

No hay comentarios:

Publicar un comentario