Download - Memoria IHC
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.