memoria ihc

28
UNIVERSIDAD DE SANTIAGO DE CHILE FACULTAD DE INGENIERÍA DEPARTAMENTO DE INGENIERÍA INFORMÁTICA FUNDAMENTOS DE INGENIERÍA DE SOFTWARE LA USABILIDAD DEL SOFTWARE Profesor: Héctor Antillanca Espina. Autor: Paola Sandoval Ibarra. Fecha: 16/11/2005

Upload: alonso-gonzalez

Post on 05-Dec-2015

241 views

Category:

Documents


0 download

DESCRIPTION

memoria interaccion humano computador

TRANSCRIPT

UNIVERSIDAD DE SANTIAGO DE CHILE

FACULTAD DE INGENIERÍA

DEPARTAMENTO DE INGENIERÍA INFORMÁTICA

FUNDAMENTOS DE INGENIERÍA DE SOFTWARE

LA USABILIDAD DEL SOFTWARE

Profesor: Héctor Antillanca Espina.

Autor: Paola Sandoval Ibarra.

Fecha: 16/11/2005

1 USABILIDAD

A continuación se presenta el desarrollo de una investigación bibliográfica que

incluye los conceptos teóricos y prácticos relacionados con la usabilidad. Por

ejemplo: su definición, los métodos existentes para llevar la usabilidad al ciclo

de desarrollo de software, etc.

1.1 DEFINICIÓN DE USABILIDAD

La usabilidad es un concepto que nació a mediados de los ochenta (Good et al.,

1986) y tiene que ver con la comunicación que existe entre los usuarios con la interfaz de

un determinado sistema. Esta relación comprende una variedad de elementos que incluyen

desde la interfaz gráfica hasta la documentación, que en conjunto conforman una

interacción amigable y útil para el usuario.

La Organización Internacional de Estándares (ISO) propone la siguiente definición

de usabilidad: “es la medida en la cual un producto puede ser usado por usuarios

específicos para conseguir objetivos específicos con efectividad, eficiencia y satisfacción

en un contexto de uso especificado” (ISO, 1998).

Hay varias dimensiones de usabilidad en un sistema que pueden ser medidas o

cuantificadas. Esto permite evaluar la presencia de elementos suficientes que conformen

una interfaz usable. Se han definido cinco atributos básicos de usabilidad que se pueden

evaluar (Ferré et al., 2001):

1. Aprendizaje: Grado de facilidad con que el usuario puede aprender la principal

funcionalidad del sistema. La estimación de este parámetro se logra midiendo el

tiempo necesario que le toma al usuario usar el sistema hasta lograr una tarea

específica.

2. Eficiencia: Número de tareas por unidad de tiempo que el usuario puede realizar

usando el sistema. Mientras más tareas se logren en un corto tiempo mejor es la

usabilidad con respecto a este atributo.

3. Retención del usuario a través del tiempo: Refleja qué tan bien los usuarios

recuerdan cómo trabaja el sistema después de un período de ausencia. Es un atributo

especialmente crítico, porque está enfocado a aquellos usuarios que dejan de usar el

sistema por un tiempo, la clave está que al volver a utilizarlo no es necesario volver

a entrenar a los usuarios nuevamente.

4. Tasa de error: Número de errores que el usuario comete mientras realiza una tarea

específica. Lo ideal es que se obtengan bajos valores para este parámetro, ya que de

lo contrario disminuye la eficiencia del sistema y la satisfacción del propio usuario.

5. Satisfacción: Es una impresión subjetiva del usuario sobre el sistema.

El nivel adecuado de usabilidad de un producto depende de la funcionalidad que el

sistema le va a brindar al usuario, este nivel se presenta en cada uno de los atributos ya

mencionados. Por ejemplo: existen sistemas en donde el aprendizaje es muy necesario pues

los usuarios poseen poco entrenamiento o contacto con el sistema. Por otro lado, algunos

sistemas necesitan resaltar la eficiencia para que el usuario pueda realizar sus actividades

con cierta flexibilidad y rapidez. Sin embargo, esta distinción no siempre es la más

adecuada ya que la calidad de la usabilidad en un cierto producto no se mide observando

los niveles de sus atributos en forma general, es ideal que cada atributo logre un nivel

considerablemente alto en forma individual.

Lo que se busca con la usabilidad, utilizando estos conceptos, se encuentra

centrándose en cuatro puntos fundamentales (Floría, 2000a):

1. Aproximarse al usuario: El desarrollo de productos usables implica de alguna

manera entender y conocer a los usuarios, porque gracias a su ayuda en el proceso

de diseño y desarrollo se obtiene un producto de acuerdo a las características de

cada persona que utilizará el sistema en el futuro.

2. Conocimiento del contexto de uso: Al igual que el punto anterior, acercarse al

usuario implica conocer sus características en su ambiente social y laboral. De esa

forma, los desarrolladores pueden formarse una visión global del contexto del uso

del sistema, pues conocen las distintas tareas y actividades de los usuarios en el

desenvolvimiento de su trabajo.

3. Satisfacción de las necesidades del usuario: Mientras un usuario sienta que las

tareas son completadas con éxito y eficiencia sin muchas complicaciones, éste se

sentirá más satisfecho con su trabajo y probablemente aumentará su producción y

calidad.

4. Usuarios evaluadores: Es determinante asumir que son los usuarios, y no tan sólo

los diseñadores y desarrolladores, quienes evaluarán la calidad de uso del sistema.

Son ellos los que ocuparán el sistema en el futuro.

1.2 INGENIERÍA DE USABILIDAD

La introducción de los principios de la ingeniería de la usabilidad en el proceso de

desarrollo de software se ha convertido en el método de diseño centrado en el usuario más

importante en términos no sólo de crear mejores interfaces, sino que le permite a los

desarrolladores de proyectos informáticos interactuar con los futuros usuarios en

prácticamente cada etapa de la creación de éste.

Estos principios fueron sugeridos por profesionales de las empresas IBM, Digital

Equipment Corporation (Whiteside et al., 1988) y Bellcore (Nielsen, 1992a), que

comprendieron la importancia sustancial que tienen los usuarios en el proceso de creación

de un determinado sistema.

De hecho, Whiteside y sus colegas propusieron una lista de criterios para determinar

la medición de los atributos de usabilidad. Estas Métricas de usabilidad pueden ser

utilizadas para determinar ciertos métodos de medición de los atributos de usabilidad, y de

esa forma conocer si existen bajos o altos niveles en cada uno de ellos. Una lista de estos

criterios es la siguiente (Whiteside et al., 1988):

1. Tiempo para completar una tarea.

2. Porcentaje de tarea completada.

3. Porcentaje de tarea completada por unidad de tiempo.

4. Proporción de éxitos con respecto a las fallas.

5. Tiempo perdido en errores.

6. Porcentaje o número de errores.

7. Porcentaje o número de errores de competidores mejores que el usuario.

8. Número de comandos usados.

9. Frecuencia de uso de ayuda y documentación.

10. Porcentaje de comentarios favorables o desfavorables de los usuarios.

11. Número de ejecuciones exitosas o fallidas.

12. Número de repeticiones de comandos fallidos.

13. Número de veces que la interfaz distrae al usuario.

14. Número de buenas y malas propiedades re-llamadas por los usuarios.

15. Números de comandos disponibles no invocados.

16. Número de comportamientos regresivos.

17. Número de usuarios prefiriendo un sistema determinado.

18. Número de veces que el usuario necesita trabajar alrededor de un problema.

19. Número de veces que el usuario es interrumpido en una actividad.

20. Número de veces que el usuario pierde el control del sistema.

21. Número de veces que el usuario expresa frustración o satisfacción.

La importancia de estas métricas ha sido considerada también por la ISO. Se ha

clasificado su contribución a través de tres categorías de usabilidad (efectividad, eficiencia

y satisfacción). La TABLA 1.1 muestra ejemplos de esta situación además de una

modificación de las Métricas de usabilidad (Dix et al., 1993):

TABLA 1.1 Ejemplos de métricas de usabilidad propuestas por la ISO (ISO, 1998)

Objetivo de

usabilidad

Medidas de

Efectividad

Medidas de Eficiencia Medidas de Satisfacción

Conveniente para

la tarea

Porcentaje de

objetivos alcanzados

Tiempo para completar

una tarea

Escala para la

satisfacción

Apropiada para

usuarios

entrenados

Número de

propiedades poderosas

usadas

Eficiencia relativa

comparada con un

usuario experto

Escala para la

satisfacción con

propiedades poderosas

Aprendizaje Porcentaje de

funciones aprendidas

Tiempo para aprender

criterios

Escala para la facilidad

de aprender

Tolerancia de error Porcentaje de errores

exitosamente

corregidos

Tiempo perdido en

errores corregidos

Escala para el manejo de

errores

Modificaciones como las mostradas en la TABLA 1.1 son sólo una muestra de la

evolución que han sufrido muchos de los principios de la Ingeniería de Usabilidad. La

explicación de este fenómeno radica en la continua evolución de las tecnologías de

información. Por ejemplo: la aparición de los sistemas colaborativos incluye características

completamente diferentes con respecto a aquellos sistemas que existían a principios de los

noventa. Puede creerse entonces, que los conceptos teóricos de la usabilidad seguirán

adecuándose a los cambios del medio, pero sus bases siempre influirán en la creación de

nuevos paradigmas.

1.3 IMPORTANCIA DE LA USABILIDAD

Este es un tema especialmente delicado, ya que depende de los argumentos que se

presenten la posibilidad de convencer al lector de la importancia que tiene considerar la

usabilidad en los proyectos personales u organizacionales.

La usabilidad de un sistema no sólo se relaciona con la interfaz de éste, también se

relaciona íntimamente con toda la estructura del software y con el significado principal por

el cual éste es creado. Sin embargo, aunque los especialistas en el tema han gastado mucho

de su tiempo y esfuerzo por convencer tanto a desarrolladores clásicos de sistemas como a

los administradores de empresas, aún existen fuertes barreras que impiden su inclusión en

las actividades propias de estos equipos de trabajo. Las principales justificaciones se

refieren a aspectos económicos y de tiempo.

En el aspecto económico existen numerosos estudios que entregan estadísticas que

demuestran el enorme beneficio económico si es que se incluye la usabilidad en el ciclo de

vida del software. Brad Myers, un especialista de la Universidad de Carnegie Mellon,

afirma que la relación entre el beneficio obtenido y el costo de desarrollar una interfaz útil

puede ser de 5.000 a 1. Además en sus estudios incluye modelos matemáticos que estiman

un ahorro de 39.000 dólares para proyectos pequeños, 613.000 dólares para proyectos

medianos, y unos 8.200.000 dólares para un mega proyecto (Myers, 1994). Debe tomarse

en cuenta también las pérdidas económicas resultantes del fracaso de muchos de los

productos puestos en circulación y que han visto disminuidas sus ventas, o incluso graves

errores de utilización porque los usuarios no han sabido usar las principales funcionalidades

del sistema. De hecho, se ha estimado que el 80% de los costos del ciclo de vida del

software ocurre cuando el sistema ya se ha distribuido en el mercado, el 80% de este costo

se debe a requisitos no cumplidos y el 20% restante es debido a errores de implementación

(Myers et al., 1992).

Como parte de un sistema interactivo, la interfaz es parte importante de este análisis,

y esta consideración se justifica por las siguientes razones (Myers et al., 1992):

La interfaz de usuario es aproximadamente el 60% de líneas de código del total de

un sistema interactivo.

Una interfaz posee un mínimo de 29% del presupuesto total del desarrollo de un

sistema interactivo.

Muchas de estas estadísticas pueden obtenerse utilizando los modelos creados por

Jakob Nielsen para los Laboratorios Bellcore, que incluye un modelo para calcular los

costos, los beneficios y hasta el número de usuarios óptimo en el proceso de usabilidad

(Nielsen, 1993).

Aunque estos fundamentos parezcan ser suficientes para creer que la usabilidad es

una buena decisión, aún existe un problema que se presenta en todos los proyectos que

aceptan esta alternativa de diseño. El problema se refiere a la extensión del tiempo que se

toma para completar el trabajo, esto debido a que es necesario realizar varias iteraciones en

cada etapa del desarrollo del software para lograr los niveles de usabilidad apropiados. Este

retraso en la finalización de los proyectos no sólo aumenta su costo sino que impide que

muchos de ellos no sean aprobados si de antemano se sabe que se demorarán demasiado en

terminar.

Los siguientes son los beneficios que pueden obtenerse al incluir la usabilidad en el

desarrollo de proyectos de software (Sanz et al., 1996):

Beneficios para el equipo de desarrollo

1. Reducción de los costos de desarrollo y de control de calidad, y una salida más

rápida al mercado: Cuando los niveles de usabilidad son bajos en cualquiera de las

etapas de desarrollo de software (diseño, desarrollo y prueba) más son los recursos

en dinero y tiempo que se pierden, pues deben realizarse modificaciones y re-

conceptualizaciones de muchas de las funciones y requisitos ya concretados. A su

vez, cuando la usabilidad esta presente en los productos, éstos no deben pasar por

una etapa de evaluación muy extensa para que sean aprobados para su distribución.

2. Reducción del costo en ventas y ciclos de venta más cortos: Un producto usable

puede ser más fácil de vender, pues el cliente no tiene miedo a los temas de

instalación, aprendizaje y documentación. Además los propios vendedores ahorran

más de su tiempo de atención al cliente, pues es menos lo que tienen que explicarle

a los usuarios.

3. Aumento en las ventas del producto: Al sentir satisfacción por parte del usuario

hacia un producto determinado, comparten esta subjetividad con otros lo que hace

aumentar la curiosidad e interés por ellos.

4. Reducción de los costos de soporte al usuario: Como se mencionó, si el usuario no

tiene mayores problemas al utilizar el sistema menos consultas le harán a los

distribuidores y proveedores.

Beneficios para los usuarios

1. Reducción del tiempo de realización de las tareas del usuario: Cuando al usuario le

toma poco tiempo aprender las funciones del sistema y los niveles de eficiencia son

altos las tareas se concretan mucho más rápido.

2. Reducción de la tasa de errores: Cuánto más el usuario conozca el sistema y sus

funciones gracias a la usabilidad, los errores cometidos por éste son menores.

3. Aumento de la satisfacción del usuario: Aunque es un atributo subjetivo la

satisfacción provocada por la utilización de un sistema usable aumenta el

rendimiento de trabajo de los usuarios.

4. Reducción del costo de mantenimiento: Al ser un producto fácil de instalar,

mantener y consultar interactivamente necesita menos mantenimiento que aquellos

que no los son.

5. Reducción del costo de entrenamiento y re-entrenamiento: Una vez que el tiempo

de aprendizaje disminuye también disminuyen los costos involucrados en el

entrenamiento. A su vez, la retención del usuario a través del tiempo (atributo de

usabilidad) permite que el proceso de re-entrenamiento sea más corto y barato.

Al finalizar esta sección el lector podrá darse cuenta que la usabilidad puede

convertirse en una verdadera alternativa de éxito para el desarrollo de proyectos

informáticos. El grado de introducción en las actividades de diseño y desarrollo dependerá

de los intereses de cada uno, sólo hay que documentarse e informarse muy bien.

1.4 PROBLEMAS CON LA INGENIERÍA DE USABILIDAD

Aunque parezca trivial todas las cosas poseen un lado negativo, y la Ingeniería de

Usabilidad no se escapa a esta situación. Los principales problemas provienen de la poca

información de la que disponen quienes quieren poner en práctica este método, además del

poco entrenamiento sobre la materia en los equipos de diseñadores y desarrolladores. Esto

se presenta principalmente porque ellos están acostumbrados a un método de trabajo

completamente distinto y que se podría llamar tradicional. Sin embargo, con la inclusión de

esta metodología en los centros de estudios, tanto universitarios como técnicos, está

cambiando radicalmente la situación para los futuros profesionales, sin desestimar también

que muchas empresas perfeccionan a su propio personal.

Existen problemas relacionados con la imposibilidad de usar las métricas de

usabilidad en la etapa de diseño de un determinado sistema, esto porque los diseñadores no

poseen la información necesaria para medir estos parámetros. Cuando el diseñador conoce

aquellas acciones y situaciones que pueden ser posibles de acuerdo a las actividades de los

usuarios, la medición de estas métricas es posible. Estos inconvenientes se presentan en las

primeras etapas de creación de un producto. Esta situación es muy delicada, pues de no

tomar en cuenta la usabilidad desde un principio provoca graves consecuencias en el futuro.

Los costos involucrados en la aparición de deficiencias de usabilidad cuando el producto

está en plena etapa de desarrollo o implementación son enormes, porque ello implica tener

que modificar y corregir errores que provienen de la etapa de diseño, lo que no siempre es

posible corregir de manera tan simple. Estos errores retrasan el fin del proyecto y aumenta

su costo, lo que podría evitarse si se toman las debidas precauciones en la etapa de diseño.

Sin embargo, existen otros métodos (aparte de las métricas de usabilidad) que pueden ser

utilizados para introducir la usabilidad en la etapa de diseño sin tener tantos riesgos en el

futuro, estos serán expuestos en la sección 1.5 de este capítulo.

Otro problema muy común es la tendencia de confundir el dedicarse a la

satisfacción de especificaciones de usabilidad y no de la propia usabilidad. Esto significa

que muchos de los desarrolladores están avocados a cumplir con una lista de

requerimientos de usabilidad que quizás han obtenido de otros proyectos o empresas

relacionadas, pero se olvidan del verdadero sentido del método. Esto es crear un sistema

que sea usable para el tipo de usuario al que está dirigido el sistema, no siempre aquellas

características de usabilidad que fueron exitosas en otros sistemas pueden serlo en el que se

está desarrollando. Este reciclaje de información conlleva un profundo análisis que debe

realizarse antes de aventurarse en el proceso.

1.5 EL PROCESO DE INGENIERÍA DE USABILIDAD

El método de Ingeniería de Usabilidad es un proceso que se basa en tres actividades

fundamentales: análisis, diseño y evaluación. Cada una de estas etapas puede ser

introducida en el ciclo de desarrollo del software tal como si fuera parte de él, pero sus

objetivos son muy diferentes.

En la etapa de diseño se busca conocer a los futuros usuarios y sus actividades

concurrentes, para que en la etapa siguiente se logre construir un diseño conceptual o físico

de la interfaz de usuario de acuerdo a la información obtenida. La evaluación de usabilidad,

por su parte, cumple la importante tarea de verificar si al final de cada etapa los elementos

de usabilidad son los más adecuados para que se logre un producto usable. De hecho, la

evaluación es la que determina si una etapa concluye o si se deben corregir los errores de la

etapa anterior para proseguir con el proceso.

Desestimar la evaluación de usabilidad en las primeras etapas de desarrollo de

software ocasiona graves consecuencias, pues muchos de los errores ya no pueden ser

corregidos cuando se está en etapas finales. Sin embargo, evaluar la usabilidad de sistemas

ya terminados puede ayudar a demostrar que muchos de ellos son construidos con una

deficiente interfaz de usuario, y a reafirmar la importancia de aplicar los métodos de

evaluación en el proceso de Ingeniería de Usabilidad.

Las siguientes secciones detallan cada una de las etapas del Proceso de Ingeniería de

Usabilidad.

1.5.1 Fase de análisis de usabilidad

Tal como en el ciclo de desarrollo de software el primer paso, antes de comenzar a

diseñar o implementar el sistema, es un estudio cuidadoso de los requisitos de éste. En el

caso de la Ingeniería de Usabilidad, este paso tiene que ver con el conocimiento de los

objetivos y actividades que realizarán los usuarios en el sistema. Es por eso que existen,

para esta etapa, ciertos métodos que ayudan a alcanzar estos propósitos, éstos incluyen un

acercamiento necesario con los usuarios. De hecho, en esta etapa la interacción con los

usuarios es fundamental y la manera más simple de lograrlo es visitándolos en su lugar de

trabajo.

Dentro de esta fase se pueden distinguir dos procesos fundamentales: Análisis del

usuario y Análisis de las tareas del usuario.

1.5.1.1 Análisis del usuario

Para conocer al usuario es necesario acercarse a ellos, las visitas al lugar habitual

donde realizan sus tareas son una estrategia fundamental que incluye una variedad de

formas de obtener información. Esta información incluye las características personales,

sociales y laborales de los involucrados. Hay que recordar que cada uno posee distintas

características y actividades, por ejemplo: dentro de un grupo potencial de usuarios puede

existir desde un analista hasta un simple digitador, por tanto su forma de usar el sistema

será diferente. Los siguientes métodos ilustran la forma de obtener esta información:

1. Visitas al lugar de trabajo: La observación en esta actividad es fundamental, pues

los desarrolladores estando en el medio ambiente de trabajo de los usuarios deben

ser capaces de distinguir las actividades fundamentales de cada uno, ya sea usando

un sistema manual o automático. Para lograr este objetivo se realizan entrevistas o

cuestionarios de tal forma de obtener la información suficiente para proseguir con

las siguientes etapas del proceso de usabilidad.

2. Focus Group: Se organizan discusiones con un grupo de usuarios seleccionados,

para obtener el punto de vista individual y grupal frente a determinadas preguntas y

supuestos que los desarrolladores proponen, y que ayudan a determinar los

requisitos de usabilidad del sistema.

3. Examen: Cuando la aproximación hacia los usuarios no es posible, una forma

práctica de obtener información es a través de un Examen, en el cual la calidad del

contenido dependerá de la forma en que se realicen las preguntas. Por tanto, es un

mecanismo riesgoso si es que el examinador no domina el problema haciendo

preguntas que no servirán para el propósito impuesto.

4. Datos Derivados: Son aquellos documentos usados para la comunicación entre

clientes y desarrolladores como: reportes de progreso o cartas de clientes. Sin

embargo, obtener datos por este medio es muy complicado porque muchas veces el

contenido de este material sólo contiene reclamos o información difícil de

interpretar. Aunque existen técnicas asociadas a la antropología cultural, como el

Análisis del discurso (Stubbs, 1987), que pueden ser usadas para obtener esta

información.

1.5.1.2 Análisis de las tareas del usuario

La observación en esta etapa también es fundamental, y al igual que en la etapa

anterior el principal método usado, para conocer las tareas recurrentes de los usuarios, es ir

al lugar mismo donde ellos las realizan.

Identificar las actividades significativas de los usuarios es crucial para conducir y

probar el diseño de la interfaz de usuario. Las tareas deben ser priorizadas y clasificadas

según frecuencia de tal forma de obtener un grupo reducido de ellas, el objetivo de esto es

asegurarse que se considerarán las funcionalidades principales del sistema.

Para conseguir que este proceso sea estructurado se pueden utilizar los Casos de uso,

para modelar cada tarea. El análisis finaliza con la evaluación de las tareas descubiertas por

los desarrolladores de forma práctica, pues se usa un lenguaje común para describir los

Casos de uso.

Una vez evaluadas y aprobadas las tareas se subdividen en sub-tareas más pequeñas y

en acciones particulares con el fin de obtener las especificaciones de usabilidad apropiadas.

1.5.2 Fase diseño de usabilidad

En la fase de diseño no sólo importa la creatividad para lograr una interfaz de usuario

agradable para la vista, también ésta debe coordinarse con la información obtenida en la

Fase de Análisis. El objetivo de esta etapa es conseguir un diseño consistente con las

funcionalidades que debe proporcionar el sistema, y que la interfaz cumpla con los

principios de usabilidad. Para lograr esto, existen dos etapas referidas a la construcción de

prototipos de la interfaz:

1.5.2.1 Diseño Conceptual

Usando como base el Análisis de tareas y de usuario de la fase anterior, se

construyen prototipos en papel para describir de una forma temprana el comportamiento de

la interfaz de usuario. Estos prototipos pueden ser dibujados en papel, y la calidad del

diseño dependerá de la experiencia y capacidad creativa de quienes los realicen.

El Diseño Conceptual termina con la evaluación de los prototipos creados,

comprobando la efectividad de ellos para cumplir las tareas de los usuarios ya registradas.

Esta actividad puede realizarse usando cualquiera de los métodos de evaluación de

usabilidad que se describirán más adelante en este capítulo.

1.5.2.2 Diseño Visual

Los prototipos aquí son mucho más detallados y completos que los diseñados

conceptualmente, pues son una entrada fundamental para comenzar a construir la interfaz

del sistema. Este tipo de prototipo incluye el despliegue de ventanas, menús, iconos y hasta

los colores y fuentes del texto. Por tanto, el resultado final de esta etapa es un prototipo que

puede ser probado y que contiene más del 80% de la especificación de la apariencia que

deberá tener la interfaz definitiva. Al igual que el Diseño Conceptual, este diseño puede ser

evaluado con los métodos de evaluación de usabilidad.

El uso de prototipos en esta etapa es fundamental, pues hay que dejar definido todos

los requisitos del sistema antes de comenzar con su construcción. Para determinar estos

objetivos es necesario que los usuarios y el desarrollador tengan un modelo previo, lo más

aproximado a la interfaz definitiva del sistema, para comparar los requisitos propuestos.

Las siguientes son algunas de las técnicas para lograr que los usuarios participen del

desarrollo de prototipos junto con el diseñador:

1. Prototipos en papel (Paper Mock Ups): Una vez dibujados o impresos en papel el

conjunto de ventanas y menúes correspondientes a la interfaz, el diseñador actúa

como el sistema cambiando de una hoja a otra como si las acciones de los usuarios

las provocaran.

2. Mago de Oz: El usuario interactúa con un prototipo funcional del sistema frente a un

computador creyendo que esta usando el software. Cuando en realidad, es con el

desarrollador, quien está ubicado en otro computador conectado en red con el del

usuario, el que está respondiendo las acciones hechas por el usuario.

3. Escenarios, Fotos y Panel histórico (Storyboard): Es un conjunto de tres

actividades. Los escenarios muestran una narración ficticia de la interacción de los

usuarios con el sistema realizando una tarea en particular. Las fotos son imágenes

visuales que describen lo que contiene un escenario. Y, un panel histórico es la

secuencia de fotos que describen una situación en particular causada en el sistema.

1.5.3 Fase de evaluación de usabilidad

Es la actividad central dentro del proceso de usabilidad, pues su resultado puede

determinar si el nivel de usabilidad y el diseño del sistema funciona como debe ser. Es por

estas razones que se utiliza al final de cada etapa del proceso de usabilidad, si los resultados

son satisfactorios entonces puede pasarse a la siguiente etapa sino debe volver a revisarse.

La FIGURA 1.1 muestra este proceso gráficamente:

FIGURA 1.1 Proceso de Usabilidad

Existen varios métodos de evaluación, tres de los más reconocidos se describen en las

subsecciones siguientes:

1.5.3.1 Prueba de Usabilidad

Es una evaluación que se realiza con un grupo de usuarios reales dentro de un

laboratorio registrando los resultados para análisis posteriores. Estos registros pueden ser

obtenidos usando cámaras de vídeo o grabadoras de audio.

El proceso comienza con la elección de un grupo de usuarios representativos. La

cantidad de usuarios puede ser crucial en este proceso, pues si se escogen muy pocos quizás

no se obtengan resultados tan buenos como para compararlos con los que puedan ocurrir en

realidad. Por otro lado, si el número es exagerado el evaluador puede llegar a tener

problemas para manejar la enorme información que se pueda recoger. De hecho, Jakob

Nielsen sostiene que el número óptimo de usuarios en un proceso de evaluación está entre 3

y 5, y que se obtiene una relación de costo-beneficio máxima con estos valores en

proyectos medianos (Nielsen, 1993).

Una vez escogidos los usuarios, se escogen las tareas encontradas en la Fase de

Análisis para provocar acciones ficticias con el objeto de comprobar su efectividad. El éxito

de esta actividad depende de varios factores:

Si se le permitirá al usuario hacer preguntas al evaluador.

Si el usuario tiene un conocimiento previo del funcionamiento del sistema.

Si entre usuarios se pueden observar para aprovechar las acciones de los demás.

Cuando se hayan obtenido los resultados de la prueba estos son analizados para

determinar el próximo paso a seguir dentro del proceso de usabilidad.

1.5.3.2 Evaluación Formativa

Este tipo de evaluación sigue los mismos mecanismos que la Prueba de Usabilidad

(escoger usuarios, escoger las actividades y observar), pero en la etapa de observación hay

diferencias.

La ayuda que de algún modo el evaluador puede entregar, esta vez no existe. Debe

mantenerse lo más directamente callado sin explicar mucho a los participantes. La única

fuente de información proviene de los usuarios y del sistema, de ante mano se les pide que

detallen en voz alta cada acción que realicen, tanto del sistema como las hechas por ellos.

El evaluador registra la información a través de cámaras de vídeo o grabadoras de audio.

Este método es llamado Pensando en voz alta, el cual ayuda a configurar el proceso mental

de los participantes obteniendo problemas de usabilidad que estaban escondidos y que

probablemente usando otro método eran imposibles de encontrar. Estudios han demostrado

que este método ha resultado ser una excelente fuente de información para la evaluación de

la usabilidad (Nielsen, 1992b). No obstante, la desventaja de este método radica en que el

tiempo que se utiliza para el experimento no puede representar el uso real que se le dará al

sistema, pues los usuarios retrasan más sus actividades al verbalizar todos los eventos

involucrados en las acciones.

1.5.3.3 Evaluación Heurística

Propuesta por Jakob Nielsen y Rolf Molich producto de un análisis de 242 problemas

de usabilidad de un sistema que estaba en construcción, consiste en la comprobación de

una serie de criterios o heurísticas definidas por expertos en usabilidad. Estos criterios están

muy relacionados con los atributos de usabilidad y originalmente fueron propuestas 10

heurísticas básicas que deben cumplir los sistemas usables (Nielsen et al., 1990):

1. Visibilidad del estatus del sistema: Dentro de la interfaz deben existir elementos

visuales en los cuales se le informe al usuario dónde está y qué ocurre. Por ejemplo:

con el uso de iconos o ventanas con mensajes de texto se le puede informar al

usuario en que sección se encuentra y adónde puede ir. Y para informar qué está

ocurriendo se puede usar una barra de estatus o un reloj indicando cuánto falta para

completar una operación

2. Usar el lenguaje del usuario: La comunicación entre el sistema y los usuarios debe

ser utilizando el lenguaje de estos últimos, además el sistema debe darle facilidades

a los usuarios para completar las tareas cotidianas en forma más rápida. Por

ejemplo: El sistema de Escritorio de Windows posee las operaciones regulares que

hacen los usuarios como el “vaciar la papelera”, de esa forma con sólo leer el

nombre de la aplicación el usuario sabe que puede eliminar archivos que ya no le

sirven.

3. Salidas claramente marcadas: Deben existir mecanismos para que el usuario escape

fácilmente ante situaciones complicadas: como devolverse de una página a otra, o

salir de una aplicación.

4. Consistencia y estándares: Cuando el usuario puede reconocer la funcionalidad de

una aplicación sólo viéndola es porque está acostumbrado a ver algo parecido en

otros sistemas. Este es el objetivo de esta propiedad, los símbolos deben ser únicos

y obvios. Por ejemplo: el icono del sobre para enviar un correo.

5. Prevención de errores: Hay que diseñar mensajes que eviten la ocurrencia de

errores. Por ejemplo: un mensaje diciendo “La próxima operación eliminará el

contenido del documento” es una buena anticipación de un error que se puede

evitar.

6. Reconocimiento más que recuerdo: Al usuario le es más fácil distinguir una imagen

conocida que recordar un significado exclusivo. Por ejemplo: utilizar una flecha que

va en dirección hacia atrás indica que el usuario puede devolverse, pero si esa flecha

se cambia por una flecha curva hacia atrás puede confundirse con la operación

deshacer.

7. Flexibilidad y eficiencia de uso: Utilizar la menor cantidad de recursos tanto como

sea posible es una indicación de eficiencia de uso. Por ejemplo: la utilización de una

memoria caché ayuda a minimizar la cantidad de memoria en un sistema. En cuanto

a la flexibilidad, la adaptación es la palabra clave. Por ejemplo: si existe la

detección de un virus el software de desinfección debe actuar automáticamente con

la aprobación del usuario para continuar con el proceso normal.

8. Diseño estético y minimalista: Se deben evitar los adornos y la sobrecarga de diseño

en la interfaz, pues eso distrae la atención del usuario impidiendo reconocer las

funcionalidades del sistema. Por ejemplo: se recomienda usar fondos claros con

textos oscuros o al revés, pero nunca usar un fondo azul con letras negras.

9. Buenos mensajes de error: Cuando se está ante un error el sistema debe informar al

usuario el tipo de error, dar una solución para enfrentarlo para posteriormente

recuperarse de éste. Por ejemplo: cuando se compila un código fuente generalmente

se le indica al programador la línea del código que ha tenido errores y la forma de

solucionarlo como, por ejemplo, confundir un tipo real de uno entero.

10. Ayuda y documentación: Sistemas que no necesiten ayuda no existen, por tanto es

importante proporcionarle los medios de ayuda al usuario en forma rápida y

expedita. Por ejemplo: el ayudante de Microsoft Office.

Aplicar este método requiere un cierto grado de conocimiento, además dependiendo

del sistema un solo evaluador puede no ser suficiente para detectar los problemas de

usabilidad presentes en el sistema. La Evaluación Heurística es un complemento del

proceso de evaluación, pero en ningún caso reemplazará los resultados que se pueden

obtener usando la Prueba de usabilidad o la Evaluación Formativa. Es fundamental

obtener retroalimentación por parte de los usuarios, no tan sólo de expertos.

1.6 CLASIFICACIÓN DE LOS MÉTODOS DE USABILIDAD

A continuación se presenta una clasificación de las herramientas de usabilidad que

son usadas en las distintas etapas del proceso de evaluación, ya antes detallado, de las

cuales se establecen cuatro categorías principales: Métodos de indagación, Prototipado y

categorización, Métodos de inspección y Métodos de prueba (Floría, 2000b).

1.6.1 Métodos de indagación

Este método es utilizado en las primeras etapas del proceso de usabilidad, en donde se

deben identificar los requerimientos de los usuarios y del producto que se va a desarrollar.

Como se ha mencionado antes, la idea principal en esta etapa es la aproximación a los

usuarios, por lo tanto este método incluye una serie de herramientas que ayudan a

completar este propósito.

1.6.1.1 Aproximación contextual

Es un método estructurado de entrevista de campo caracterizado por la necesidad de

comprender el contexto, de asimilar al usuario en el proceso de diseño y de plantear un

objetivo en su aplicación.

1.6.1.2 Aproximación por grupos

Su denominación (aproximación por grupos) proviene del hecho que se usan grupos

de usuarios representativos del producto que se está evaluando, los que son parte de un

cierto contexto. Y, aunque ese contexto se lleva a cabo en forma artificial por un

coordinador del proceso, son las experiencias e impresiones del usuario, y sus propias

relaciones personales, las que proporcionarán datos e ideas.

Los Focus Group, ya antes mencionados, son uno de los métodos más populares y

característicos. Otro método también muy utilizado es el de Entrevistas, donde se pregunta

a los usuarios acerca de sus experiencias y preferencias respecto de un producto.

Una derivación de los Focus Group son los Grupos de debate o Group Discussion,

donde el coordinador no estimula ni guía a los participantes sino que el mismo conduce,

establece y propone los temas a tratar. El propósito es crear discusiones entre los

involucrados para señalar los conceptos claves en el proceso de diseño y los costos

involucrados en cada idea.

1.6.1.3 Aproximación individual

La actividad principal de este método es la formulación de preguntas efectivas.

Dentro de las metodologías más usadas están:

1. Encuestas: Es un proceso no formal realizado con una cantidad representativa de

usuarios, a los cuales se le formulan una serie de preguntas cuyas respuestas deben

quedar registradas para su posterior análisis.

2. Cuestionarios: Consiste en una lista de preguntas (creadas por el coordinador) que

el usuario debe contestar, y posteriormente entregárselas al coordinador del proceso.

3. Entrevistas: Se realiza un interrogatorio a expertos en el dominio del tema para

obtener conocimiento a través de ellos. El tipo, detalle y la validez de los datos

recopilados varían con el tipo de entrevista y de la experiencia del entrevistador.

1.6.1.4 Generación de ideas

Una forma de descubrir, aprender y refinar algunos conceptos de diseño es capturar la

generación de ideas proporcionadas por los usuarios, lo cual contribuye a ampliar

perspectivas y a profundizar en una variedad de consideraciones que, en ocasiones, pasan

inadvertidas para los diseñadores. Algunos de los métodos representativos son los

siguientes:

1. Secuencias de Escenarios o Storyboard: Es una secuencia de imágenes que

demuestran la relación entre eventos individuales como: mensajes de error o de

información, y acciones dentro de un sistema. Se caracteriza por necesitar pocos

recursos técnicos, ya que es suficiente con ocupar herramientas básicas de dibujo,

las que no necesariamente pueden estar soportadas por un computador.

2. Creación de Escenarios o Scenario Building: Los escenarios son caracterizaciones

de los usuarios y sus actividades en un contexto específico y ofrecen

representaciones concretas de un usuario trabajando con un sistema para conseguir

un objetivo específico. El propósito de la construcción de un escenario es generar

los requerimientos del usuario final y las metas de usabilidad en las etapas

tempranas del ciclo de desarrollo (Clark, 1991).

3. Cuadros de Organización de Tareas o Task Allocation Charts: Este método es

utilizado en sistemas que afectan a procesos de trabajo completo y no a tareas

individuales relacionadas con el producto. Por lo tanto, su éxito depende de una

organización efectiva de las tareas y de los usuarios participantes.

4. Análisis de Tareas: Como ya se ha mencionado, el análisis de tareas permite diseñar

y organizar las tareas en forma adecuada, con el objetivo de incluir dentro del

sistema las funciones y elementos de la interfaz de forma más precisa.

1.6.2 Prototipado y categorización

Este método involucra la implementación y desarrollo del sistema en forma parcial,

con el objetivo de probar e inspeccionar la usabilidad para corregir futuros errores que se

puedan cometer en el diseño final. Existe una variedad de métodos que se pueden utilizar,

la mayoría de ellos son utilizados también por otras metodologías de Ingeniería de

Software.

1.6.2.1 Prototipado

Las técnicas de prototipado se clasifican según dos perspectivas:

a) Según la funcionalidad reproducida

1. Prototipado Horizontal: Muestra las características del producto de manera

amplia, aunque sin conocer su funcionalidad de la misma manera.

2. Prototipado Vertical: Muestra la funcionalidad exacta, pero sólo para pequeños

conjuntos del producto total.

b) Según la fidelidad de la reproducción de la interfaz

1. Prototipado de Alta Fidelidad: Muestra prácticamente el aspecto final que tendrá

el producto.

2. Prototipado de Baja Fidelidad: No necesariamente muestra el aspecto final del

producto, sólo reúne los aspectos principales de su interfaz. Dentro de este

método es común encontrar los Prototipos en papel, que ya fueron mencionados

anteriormente.

1.6.2.2 Métodos de categorización

Representan la planificación meticulosa que se realiza en las etapas de pre-diseño.

Existen dos métodos característicos:

1. Categorización por Tarjetas o Card Sorting: Un grupo de usuarios debe clasificar

un conjunto de tarjetas de acuerdo a ciertas funcionalidades que el sistema deberá

soportar.

2. Diagramas de Afinidad: Los usuarios, esta vez, deben clasificar una serie de

conceptos utilizando tarjetas que ellos mismos escribirán.

1.6.3 Métodos de inspección

Reúne una serie de métodos en el que se realizan comprobaciones de una serie de

conceptos y guías creadas por distintos autores sobre usabilidad. Se clasifican en cinco

grupos:

1. Inspecciones Formales: Cada inspector recorre en forma detallada las tareas con los

propósitos y objetivos de los usuarios en mente. Son de gran ayuda cuando los

encargados de realizar la evaluación poseen poca experiencia en usabilidad.

2. Inspecciones de Características: Se analiza sólo una parte del conjunto total de

características del producto.

3. Inspecciones de Consistencia: Se asegura de la consistencia del producto basándose

en otros desarrollados por el mismo equipo de trabajo, y que estén disponibles para

su análisis.

4. Inspecciones de Estándares: Se inspecciona el producto basándose en los estándares

existentes sobre usabilidad a escala mundial.

1.6.3.1 Evaluación heurística

Es una variante de la Inspección Formal de Usabilidad donde los especialistas en

usabilidad juzgan si cada elemento de la interfaz de usuario sigue los principios de

usabilidad establecidos.

1.6.3.2 Paseos cognitivos o Walkthrough

El especialista que realiza la evaluación recorre un escenario de tareas determinado

tal como si lo realizará un usuario común. Se divide en dos partes, según se realice con un

usuario o un grupo de ellos (Floría, 2000b):

1. Paseo Cognitivo: Es una técnica en donde evaluadores expertos construyen

escenarios para las tareas a partir de una especificación o de un prototipo inicial.

Posteriormente, el experto actúa como un usuario común con la interfaz del

producto basándose en los escenarios que construyó previamente.

2. Paseo Cognitivo Conjunto: A partir de una serie de escenarios de tareas, se

discute en conjunto (usuarios, desarrolladores y profesionales de usabilidad) la

evaluación de cada elemento de la interfaz. Cuanto mayor sea el número de

personas involucradas mayor será la probabilidad de encontrar problemas dentro

de la interfaz.

1.6.4 Métodos de prueba

En este método se desarrollan una serie de experimentos para obtener información

especifica acerca de la interfaz de un determinado producto de software, información que

muchas veces es descriptiva. Su utilización se ha popularizado bastante, desplazando a los

métodos en los que se obtienen resultados estadísticos, como las Métricas de usabilidad.

1.6.4.1 Protocolos de expresión del usuario

La idea es capturar las impresiones y sensaciones que el usuario manifiesta

oralmente, se distinguen las siguientes técnicas:

1. Protocolo de Preguntas: Se realiza una serie de preguntas con el propósito de

despertar en los usuarios una reacción que pueda ser interpretativa de problemas en

la usabilidad del producto.

2. Protocolo de Pensando en voz alta o Thinking Aloud: Durante la prueba los

usuarios deben completar una serie de tareas, proporcionadas por el especialista del

experimento, expresando en voz alta sus pensamientos, sensaciones y opiniones

mientras interactúa con el producto. Se comienza proporcionando al participante la

interfaz del producto y una serie de tareas que debe completar. Permite entender la

aproximación del usuario a la interfaz y las consideraciones que mantiene en mente

mientras hace uso de ella. Los problemas se detectan cuando el usuario no logra

completar una tarea de la manera como debiera hacerse, o cuando tiene dificultad al

terminar con éxito alguna operación. Aunque las ventajas de este método proveen

un entendimiento del modelo mental que los usuarios utilizan al usar la interfaz,

posee dificultades cuando el lenguaje de los usuarios conlleva una serie de

modismos que el especialista no podría interpretar de la misma forma que los

usuarios lo hacen. Puede ser utilizada en cualquier etapa del proceso de desarrollo

de software, por tanto es una forma eficaz y barata de obtener una gran cantidad de

información cualitativa durante la prueba de usabilidad.

1.6.4.2 Realización de medidas

Los métodos de interpretación de las expresiones de los usuarios son altamente

cualitativos, lo que muchas veces no es útil cuando se buscan resultados métricos, por

ejemplo: “el 25% de los usuarios consulta el manual del producto dos veces por tarea”. Este

tipo de resultados se obtienen realizando previamente un método cualitativo, y su

popularidad a decaído en los últimos tiempos relegándola a productos de hardware, pero su

combinación con otras técnicas es tema de estudio y de amplias discusiones entre los

investigadores de usabilidad.

REFERENCIAS

CLARK L. (1991). The Use of Scenarios by User Interface Designers. Daiper &

Hammond, HCI’91 conference proceedings, pp.103-115.

DIX A., FINLAY J., ABOWD G. y BEALE R. (1993). Human-Computer Interaction. 1era

Edición, Prentice Hall Europe, Hertfordshire, Gran Bretaña.

FERRÉ X., JURISTO N., WINDL H. y CONSTANTINE L. (2001). Usability Basics for

Software Developers. IEEE Software, Vol. 18, Nº 1, Enero/Febrero, pp. 22-29.

FLORÍA A. (2000a). ¿Qué es la usabilidad?. Área de Ingeniería de proyectos,

Departamento de Ingeniería de Diseño y Fabricación, Universidad de Zaragoza.

http://www.sidar.org/visitable/quees/usab.htm

Fecha última visita: 04 de Octubre 2002

FLORÍA A. (2000b). Métodos de usabilidad. Área de Ingeniería de proyectos,

Departamento de Ingeniería de Diseño y Fabricación, Universidad de Zaragoza.

http://www.area.com.mx/usabilidad/Herramientas.htm

Fecha última visita: 26 de Agosto 2003

GOOD M., SPINE T. M., WHITESIDE J. y GEORGE P. (1986). User-derived impact

analysis as a tool for usability engineering. Proceedings of CHI 86, New York, pp. 241-

246.

GREENBERG S. y ROSEMAN M. (1998). Using a Room Metaphor to Ease Transitions in

Groupware. Research report. Departamento de Ciencias de la Computación, Universidad

de Calgary, Cánada.

ISO 9241-11. (1998). Ergonomic Requeriments for Office Work with Visual Display

Terminals. ISO, Genova.

MYERS B. y ROSSON M. B. (1992). Survey on User Interface Programming. Proceedings

CHI’92, Nueva York, ACM, pp. 195-202.

MYERS B. (1994). Challenges of HCI Desing and Implementation. Interactions, Enero, pp.

73-83.

NIELSEN J. y MOLICH R. (1990). Heuristic Evaluation of UserInterfaces. In

Empowering people - CHI’90 conference proceedings. ACM Press, New York, pp. 249-

256.

NIELSEN J. (1992a). Usability Engineering. 1º Edición, Academic Press. Nueva York,

U.S.A.

NIELSEN J. (1992b). Evaluating the Thinking-Aloud Technique for Use by Computer

Scientists in Advances in Human-Computer Interaction. H.R. Hartson & D. Hix Ed, New

Jersey, USA.

NIELSEN J. (1993). Is Usability Engineering Really Worth It?. IEEE Software,

Noviembre, pp. 90-92.

SANZ M., GÓMEZ E. y DEL POZO F. (1996). Costo y beneficio de la ingeniería de la

usabilidad. Boletín Digital FH, Vol. 7, Nº 10, Abril.

http://www.tid.es/presencia/boletin/bolet10/art007.htm

Fecha última visita: 02 de Septiembre 2002

STUBBS M. (1987). Análisis del discurso: análisis sociolingüístico del lenguaje natural.

1era Edición, Editorial Alianza, Madrid, España.

WHITESIDE J., BENNETT J. y HOLTZBLATT K. (1988). Usability Engineering: Our

Experience and Evolution. In Helander, M. (Ed.), Handbook of human-computer

interaction. Amsterdam, The Netherlands: North-Holland, pp. 791-817.