ingenieria de la usabilidad

31
1 Ingeniería de la Usabilidad Una aproximación a la HCI, UDC y la Usabilidad Victor Alfonso Vargas Tutor Jesús David Cardona, Ph.D. Maestría en Ingeniería Cali Valle del Cauca 2013

Upload: victor-vargas

Post on 18-Dec-2014

271 views

Category:

Technology


3 download

DESCRIPTION

Se realiza una aproximación a las HCI, ingeniería de software y usabilidad para finalmente dar una idea del MPIu+a

TRANSCRIPT

1

Ingeniería de la

Usabilidad

Una aproximación a la HCI, UDC y la Usabilidad

Victor Alfonso Vargas

Tutor Jesús David Cardona, Ph.D.

Maestría en Ingeniería Cali – Valle del Cauca

2013

2

TABLA DE CONTENIDO

INTRODUCCIÓN AL HCI ................................................................................................................................ 3

INTERFAZ DE USUARIO ................................................................................................................................ 5

DEFINICIÓN Y MODELOS DE USABILIDAD ..................................................................................................... 8

DISEÑO CENTRADO EN EL USUARIO ........................................................................................................... 11

INGENIERÍA DE SOFTWARE Y USABILIDAD ................................................................................................. 15

DESCRIPCIÓN METODOLOGÍA MPIU+A (MODELO DE PROCESO DE LA INGENIERÍA DE LA USABILIDAD Y

ACCESIBILIDAD) ......................................................................................................................................... 21

TENDENCIAS E INVESTIGACIÓN ACTUAL .................................................................................................... 29

BIBLIOGRAFÍA ............................................................................................................................................ 30

TABLA DE IMÁGENES

Ilustración 1: Un modelo de atributos de un sistema de aceptación (8) ........................................ 10

Ilustración 2: Representación del diseño centrado en el usuario (9) ............................................. 11

Ilustración 3: El proceso de investigación propuesto (10) ............................................................. 14

Ilustración 4: Ciclo de vida del modelo en cascada (11) ................................................................ 16

Ilustración 5: Modelo en espiral de Boehm para el proceso de software (11) ............................... 17

Ilustración 6: Arquitectura general RUP (14) ................................................................................ 18

Ilustración 7: Desarrollo de software tradicional vs. desarrollo centrado en el usuario (1) ............ 19

Ilustración 8: Actividades asociadas a la ingeniería de usabilidad (16) .......................................... 20

Ilustración 9: MPIu+a: Modelo de proceso de la Ingeniería de la Usabilidad y de la Accesibilidad

(17) .............................................................................................................................................. 22

Ilustración 10: Relación entre las diferentes disciplinas de un equipo multidisciplinar y su

“particular” visión del MPIu+a (17)............................................................................................... 23

Ilustración 11: Bocetos en papel (17) ........................................................................................... 24

Ilustración 12: Storyboard (17) ..................................................................................................... 25

Ilustración 13: Prototipos de papel (17)........................................................................................ 25

Ilustración 14: Maquetas (17) ...................................................................................................... 26

Ilustración 15: Maqueta digital (17).............................................................................................. 26

Ilustración 16: Video (17) ............................................................................................................. 27

Ilustración 17: Software (17) ........................................................................................................ 27

3

INTRODUCCIÓN AL HCI Las HCI consisten en el diseño e implementación de sistemas computacionales interactivos con los

cuales el usuario puede interactuar. El éxito de una interfaz radica en cuan fácil es esta de usar

por el usuario, de lo contrario el usuario terminará rechazándola. (1)

El nivel de complejidad varía dependiendo de la funcionalidad, usabilidad y otras características

que son encontradas en el mercado. Para la construcción se interfaces se debe tener muy en

cuenta los factores físicos y cognitivos del usuario para que a este no le sea compleja la interacción

con la interfaz, para esto se pueden utilizar estrategias tales como implementar atajos del teclado

para hacer más fácil y familiar el uso del sistemas, así como usar metáforas y demás artefactos que

hagan amena la experiencia del usuario con el sistemas. El diseño debe darle la sensación al

usuario que este tiene el control sobre lo que está realizando.

Las HCI están incursionando en campos de diferentes áreas del conocimiento haciendo que se

muestren avance en GPS, visión térmica, radio frecuencia, entre otras. (2)

Las HCI se están tornando cada vez de una forma más adaptativa e inteligente para que apoyen al

usuario en su toma de decisiones, las interfaces de reconocimiento del habla o patrones

cerebrales son un ejemplo de esto.

En el diseño de las interfaces debe tener en cuenta la arquitectura, entre las cuales encontramos

la unimodal y a multimodal. (2)

Las unimodales son aquellas que cuentan con una canal de entrada y otro de salida, a

comparación a las multimodales las cuales permiten diversos canales mejorando la forma en que

el usuario manipula el sistema.

Las HCI cubren las siguientes áreas: (2)

Visuales:

Reconocimiento facial

Reconocimiento de gestos

Seguimiento a los movimientos del cuerpo

Seguimiento a los movimientos de los ojos

Auditivos:

4

Reconocimiento de voz

Análisis de la emoción del audio

Detección de ruido

5

INTERFAZ DE USUARIO Las interfaces de usuario son un subconjunto de un campo de estudio llamado “Interacción

Humano-Computador“. Las interfaces de usuario son la parte de un sistema de procesamiento

con el cual el usuario puede interactuar viendo, escuchando, hablando, tocando permitiendo una

comprensión de lo que se quiere realizar con dicho sistema (3).

Las interfaces tienen básicamente dos componentes: la entrada y la salida. La entrada es la forma

como el usuario le envía información al sistema, una forma de comunicación con la cual se

alimenta el sistema de cómputo para realizar alguna tarea determinada, existen diversas formas

de ingresar información al sistema, para esto se pueden utilizar dispositivos físicos tales como los

clásicos teclados y ratones o avanzados como pantallas táctiles, lectores de huellas, detectores de

sonido o movimiento, sensores, entre otros. Por otro lado encontramos la salida a cuál es la

forma en que el sistema informa al usuario el resultado de un cómputo o una petición realizada, el

dispositivo de salida más común que podemos encontrar es una pantallas pero en la actualidad

encontramos que se está innovando en la manera como el usuario percibe la salida de un sistema,

encontramos que se está jugando con los sentidos tales como el tacto, el odio e incluso el gusto.

Un buen diseño de una interfaz de usuario es importante ya que este es el componente más

visible y con el cual va a interactuar y desarrollar su experiencia, para él la interfaz es su sistema.

El tema de las interfaces tienen gran impacto en las organizaciones y en el medio que se vaya a

utilizar ya que si esta llega a ser muy buena la cantidad de errores que se pueden cometer va a

disminuir, de lo contrario lo que se va a lograr es generar frustración e incrementar el estrés al

realizar una tarea. Un diseño de una interfaz pobre puede aumentar los costos operacionales de

una compañía ya que se deberá invertir más en temas de capacitación a los empleados, cosa que

se podría haber evitado con anterioridad. (3)

En las interfaces de usuario podemos encontrar diversos tipos de interacción los cuales pueden

variar dependiendo la experticia y conocimiento que tenga el usuario del sistema, algunos son:

Línea de comandos: es el tipo de interfaz más antigua, esta está diseñada para usuarios

avanzados ya que requiere la utilización de comandos o teclas de función para obtener un

resultado por parte del sistema. Esta interfaz es poderosa ya que ofrece acceso al sistema

y manipular sus funcionalidades de forma rápida e inmediata. Algunos de los

inconvenientes que estas presentan es que los comandos deben ser recordados y muchas

veces se requiere una combinación de estos para lograr un objetivos, adicionalmente la

posibilidad de errores puede ser alta ya que la sintaxis del comando debe ser respetada

para que este funciones. (3)

6

Selección de menús: Consiste en dotar al usuario de un conjunto de opciones las cuales el

usuario puede elegir. Cuando estas opciones son desplegadas en algún tipo de dispositivo

de salida el usuario va a poder seleccionarlo utilizando un dispositivo de entrada y el

sistema deberá realizar alguna acción con el elemento elegido. (3)

Llenado de formularios: Consiste en crear formularios para recolectar información del

usuario, es utilizado como un método de entrada para alimentar el sistema y permitir

procesar información. Este tipo de interfaz es derivada de los convencionales formularios

construidos en papel. La principal ventaja de este es la familiaridad que tiene el usuario

para su diligenciamiento. (3)

Manipulación directa: Es un tipo de interfaz que permite interactuar directamente con los

elementos presentados al usuario para realizar alguna tarea. Normalmente el usuario

selecciona los objetos de la pantalla y las acciones que desea ejecutar. (3)

Antropomórficos: Es un tipo de interfaz que trata de interactuar con las personas de la

misma forma que un usuario interactúa con otro. Estas hacen referencia a las

relacionadas con el lenguaje natural, interacción a través de gestos, expresiones faciales,

movimiento de los ojos, entre otros. Es desarrollo de este tipo de interfaz requiere de un

entendimiento del comportamiento humano bastante profundo ya que se debe estudiar

su comportamiento para que su experiencia con el sistemas sea la que se ha deseado. (3)

La siguiente tabla muestra las ventajas y desventajas de los tipos de estilos de interacción:

Estilo Ventajas Desventajas

Línea de comando Poderosa

Flexible

Apela al usuario experto

Conserva el espacio en la pantalla

Los comandos deben ser memorizados

Requiere aprendizaje

Intolerancia a los errores de digitación

Se dificulta a usuarios casuales

Selección de menús Utiliza el reconocimiento a través de la memoria

Reduce la complejidad de la interacción

Ayuda al proceso de toma de decisiones

Minimiza la digitación

Ayuda a usuarios casuales

Los usuarios pueden demorarse en comprender

Utiliza mayor espacio en la pantalla

Puede crear complejos menús heredados

Llenado de formularios Formato familiar

Simplifica la información de entrada

Consume espacio en la pantalla

Requiere un diseño

7

Requiere un mínimo entrenamiento

eficiente y cuidadoso

No previene los errores de digitación

Manipulación directa Más rápida de aprender

Fácil de recordar

Explota las señales visuales y espaciales

Fácil recuperabilidad a los errores

Retroalimentación inmediata

Complejidad en el diseño

Requiere manipulación de ventanas

Ineficiente para mecanógrafos

Incrementa la posibilidad de desorden en la pantalla.

Antropomórficos Interface natural para el usuario

Dificultad en la implementación

En el año 1988 Gould J. D. realizó las observaciones que se mencionan a continuación, las cuales

en la actualidad continúan siendo válidas ya que se continúan cometiendo errores tales como no

tener en cuenta al usuario, así como seguir pensando que un cambio de alcance en el proyecto no

va a generar impacto: (3)

Nadie lo hace bien la primera vez.

El desarrollo está lleno de sorpresas.

Un buen diseño requiere vivir en un mar de cambios.

Realizar contratos para ignorar los cambios nunca eliminara la necesidad de realizarlos.

Aun si se cuenta con el mejor sistema humanamente posible, las personas cometerán

errores cuando lo usen.

Los diseñadores necesitan buenas herramientas.

Se deben tener metas de comportamiento del diseño así como objetivos de rendimiento

del sistema.

8

DEFINICIÓN Y MODELOS DE USABILIDAD

La usabilidad de acuerdo al experto Jakob Nielsen es definida como: “La Usabilidad es un atributo

de calidad que asegura que tan fácil el usuario puede hacer uso de una interfaz” (4).

La usabilidad de acuerdo al estándar ISO 9241-11 se define como “Grado en el cual un producto

puede ser usado por usuarios específicos para alcanzar metas específicas con efectividad,

eficiencia y satisfacción en un contexto de uso especificado” (5), este concepto se convierte en un

indicador importante para productos de software ya que indica que tan acertado es el producto

que se construyó para el usuario y cómo fue su nivel de aceptación en cuanto a las condiciones

exigidas por este al momento de su definición. Ahora bien, la usabilidad web está enmarcada bajo

una interfaz humano computador que debe ser mostrada a través de la Internet el diseño web

implica cambiar el manejo tecnológico al de usuario (6). Los problemas derivados de la falta de

usabilidad suelen a ser comunes e identificados fácilmente por los usuarios, lo que se debe lograr

es reducir esta tasa de errores haciendo que tienda a cero para lograr una satisfacción completa

del usuario.

Los tres aspectos que los publicadores resaltan son la investigación del usuario, el diseño web y la

evaluación (6), en las cuales encontramos:

Investigación del usuario: El diseño centrado en el usuario se enfoca en los

requerimientos de los usuarios más que en los técnicos, cuando esto es llevado a cabo se

debe realizar una tarea ardua de modelado de las necesidades verdaderas del usuario

buscando darle más importancia a esto sin descuidar el correcto funcionamiento del

sistema. Para lograr esto se pueden construir escenarios de los que se desea identificando

que actores y artefactos intervienen en la interacción a modelar (6).

Diseño web: Es la reunión de diferente tipo de contenido que se centraliza para mostrar

una idea y llegar al usuario de una forma clara y concisa. El diseño web basado

en estándares tiene las siguientes ventajas: Descarga y lectura rápida mayor accesibilidad,

facilidad en la búsqueda de contenido significativo, adaptabilidad, fácil desarrollo y

mantenibilidad. Para esto se debe tener en cuenta el diseño de la arquitectura de la

información, legibilidad, búsquedas y página (6).

Evaluación y validación del diseño web: Se centra en la definición de métricas que

permitan tener un resultado cuantitativo y cualitativo del diseño construido,

estas métricas son resueltas por el usuario(s) con los cuales se trabajó desde el inicio del

proyecto. Con esto se busca conseguir una satisfacción definitiva en cuanto a términos de

usabilidad se refiere para con el usuario (6).

9

El campo de la ingeniería de la usabilidad gana cada vez más importancia a raíz del fenómeno de la

evaluación de la Usabilidad del software y el hardware desde el punto de vista de un atributo de

calidad que garantiza de cierta forma la satisfacción del usuario en el momento que este vaya a

interactuar con este.

En la definición de Nielsen se la usabilidad menciona cinco componentes de calidad, los cuales son

(7):

Facilidad de aprendizaje: Que tan fácil es para el usuario completar sus tareas básicas.

Eficiencia: Que tan rápido son ejecutadas las tareas.

Facilidad para recordar: Que tan fácil es para el usuario retomar sus tareas.

Errores: Que tan fácil se recupera el sistema de los errores.

Satisfacción: Que tan agradable es el diseño.

Además de esto define 10 heurísticas que pueden ser aplicadas a las interfaces para medir su

grado de usabilidad, las cuales son (7):

1. Visibilidad del estado del sistema.

2. Coincidencia entre el sistema y el mundo real.

3. Libertad y control del usuario.

4. Consistencia y estándares.

5. Prevención de errores.

6. Reconocimiento más que el recuerdo.

7. Flexibilidad y eficiencia en el uso.

8. Diseño estético y minimalista.

9. Ayuda al usuario para reconocer, diagnosticar y recuperarse de los errores.

10. Ayuda y documentación.

La evaluación de la usabilidad es una técnica usada para evaluar productos por los usuarios, para

esto se han definido unas formas de realizarlo, las cuales son:

10

Entrevistas y cuestionarios: Consiste en realizar entrevistas y cuestionarios a los usuarios

para estudiar cómo estos usan el sistema, adicionalmente identificar que les gusta y que

no (7).

Observación: La observación y la etnografía es el método más simple de usabilidad que

consiste en visitar uno o más usuarios para que estos manipulen la interfaz y tener la

experiencia de las reacciones de estos (7).

Evaluación heurística: consiste en tener un pequeño de evaluadores que examinan la

interfaz y juzgan está teniendo en cuenta los principios de la usabilidad (7).

En la siguiente imagen se pueden evidenciar de forma clara el modelo de atributos de aceptación de un sistema, el cual fue planteado por Nielsen en 1993 (4).

Ilustración 1: Un modelo de atributos de un sistema de aceptación (8)

11

DISEÑO CENTRADO EN EL USUARIO El diseño centrado en el usuario es una de las tantas derivaciones que tiene el HCI, su principal objetivo es asegurar que el sistema que está siendo construido para el usuario minimice los errores promoviendo la productividad y rendimiento, esto hace que el foco central de este proceso sea el usuario (9). Adicionalmente garantiza una alta usabilidad, efectividad, eficiencia y satisfacción del producto. (10). La “Ilustración 2: Representación del diseño centrado en el usuario” nos muestra el diseño centrado en el usuario, en el cual podemos observar que el usuario es el centro del proceso y en torno a él se desarrollan un conjunto de círculos incrementales que evidencian los elementos involucrados en dicho proceso. (9)

Ilustración 2: Representación del diseño centrado en el usuario (9)

Entre las principales fallas que se pueden comentar en el diseño centrado en el usuario podemos encontrar que no se realiza un temprano análisis y comprensión de las necesidades y expectativas del usuario, se centra en el diseño de componentes que son ordenados, la no creación de prototipos como elementos de diseño, no se realizan pruebas de usabilidad sobre el sistema que se construye, el grupo de diseño no cuenta con la visión adecuada de lo que será la interfaz de

12

usuario y posiblemente la falla más grande es la pobre comunicación entre los miembros del proyecto. (3) (10) Los métodos de investigación incluyen la evaluación de madurez de usabilidad, observación de participantes, entrevistas y un periodo de pruebas de metodologías de DCU (10). Para lograr un diseño centrado en el usuario se deben reunir un conjunto de elementos que garanticen que se va a tener éxito, adicionalmente que la meta propuesta tanto por el equipo de desarrollo así como por el usuario se deberían tener en cuenta algunos de los lineamientos que son mencionados a continuación: (3) Proveer un equipo de diseño multidisciplinario: Consiste garantizar un equipo de diseño balanceado, en el cual se puede tener en cuenta especialistas en ingeniería de software, diseño de interfaces, evaluación de usabilidad, documentación y capacitación. Es muy importante tener en cuenta que una persona en determinado momento puede no llegar a tener todas las habilidades que sean necesarias para lograr la meta que se ha propuesto, para evitar estos en la definición de los requerimientos se debe iniciar con la identificación de los expertos necesarios. Solicitar al usuario que se involucre desde el inicio: involucrar al usuario en el levantamiento de requerimientos es muy importante ya que aporta un plus muy valioso desde el punto de vista de su conocimiento del negocio, metas, procedimientos y lo más significativos que es su experiencia. Al hablar de usuarios podemos entrar de diversos tipos; entre los cuales tenemos al usuario final el cual en ocasiones es llamado simplemente el usuarios, este es aquel al que va dirigido el producto y el que interactuará directamente para realizar sus tareas; los usuarios clientes son los encargados en la empresa de realizar el pago y usualmente realizar todas las definiciones relacionadas con el sistema; y finalmente otras partes interesadas, son aquellos en la organización que están interesados en el desarrollo del sistema. El mayor logro de involucrar a todos los tipos de usuarios en el proceso es que se va a lograr reducir la resistencia de esos al cambio que podría producir una nueva herramienta en su día a día. Tener una completa comprensión del usuario y sus tareas: Todos los tipos de usuarios mencionados usualmente especifican un nivel de diseño sofisticado de las interfaces de usuario, teniendo en cuenta esto las interfaces deben ser generados pensando en satisfacer dichas necesidades. Para garantizar que se está construyendo lo que el usuario desea, se inician a definir un conjunto de métricas que permitan evaluar el grado de usabilidad que se está logrando con lo desarrollado. Crear un apropiado diseño: Toda la experiencia de usuario debe ser creada, incluyendo una adecuada asignación de funciones entre el usuario y el sistema. Para llegar a un buen diseño se podrían realizar tareas en paralelo donde los desarrolladores de forma independiente inicien la evaluación de requerimientos con el objetivo de encontrar soluciones rápidas a posibles errores, adicional a esto se podría llegar a pensar en la construcción de interfaces progresivas en donde haya un proceso de retroalimentación e interacción con el usuario de forma constante para minimizar un posible impacto por cambios posteriores.

13

Ejecutar rápidos prototipos y evaluaciones: esta técnica permitirá realizar pruebas y encontrar soluciones rápidas en el proceso de desarrollo, si se esperara hasta la finalización de producto para realizar pruebas lo que se podría llegar a evidenciar es un conjunto de errores lo que harán que el usuario no tenga confianza en el sistema y termine sin usarlo, además que el costo tanto en tiempo como dinero de realizar ajustes causados por malas definiciones y/o errores encontrados se van incrementando a medida que se avanzan en las etapas del desarrollo. Modificar e iterar en el diseño tanto como sea necesario: el diseño se va a comportar como un proceso interactivo. El diseño de prototipos será realizado para su desarrollo y evaluación buscando con esto que cada prototipo construido se acerque cada vez más a lo que el usuario está buscando. Integrar el diseño de todos los componentes del sistema: El software, la documentación, las funciones de ayuda, el entrenamiento necesario y todos los demás elementos necesarios de la herramienta deben estar presentes al momento del usuario realizar sus revisiones. Los sistemas que se construyen no son simplemente software. Algunas investigaciones han mostrado factores que son importantes y útiles en la integración del DCU, estos se mencionan a continuación (10):

Soporte y calidad de parte de la alta gerencia.

Un equipo responsable de temas de usabilidad.

Definir responsables tanto del equipo de desarrollo como del área comercial.

Rápidas redefiniciones, el equipo encargado de la usabilidad y experiencia del usuario debe tener poder de decisión.

Comunicación efectiva entre el equipo de usabilidad y experiencia de usuario. Actualmente las organizaciones tratan de tomar las mejores prácticas de cada una de las metodologías para garantizar que desde su contexto de ejecución se tengan buenos resultados buscando que el producto final cumpla con las expectativas del usuario. Cuando esto no es logrado se corre el riesgo que se presente una pobre usabilidad que se ve reflejada en reprocesos, aumento de costos y un efecto negativo en el usuario causándole falsas expectativas. (10) En el trabajo de investigación presentado (10) se proponen 3 fases en el proceso del DCU en el cual proponen un orden lógico de pasos que lo que buscan es garantizar dicha implementación, en la imagen “Ilustración 3: El proceso de investigación propuesto” nos muestran 2 fases importantes donde la primera fase se compone principalmente de observación y evaluación de prototipo, para la sedo un proceso de observación para llegar a la implementación del DCU.

14

Ilustración 3: El proceso de investigación propuesto (10)

15

INGENIERÍA DE SOFTWARE Y USABILIDAD La ingeniería de software es una disciplina de la ingeniería que comprende todos los aspectos de la producción de software desde su inicio hasta realizar su mantenimiento, para esto los ingenieros adoptan un enfoque sistemático y organizado en su trabajo (11), esto se encuentra relacionado con el desarrollo y mantenimiento de sistemas de software que se comportan de forma fiable y eficiente, es asequible para su desarrollo y mantenimiento, adicionalmente está en capacidad de satisfacer los requerimientos que son planteados por el usuario. (12) En la ingeniería de software se han creado un conjunto de metodologías que sirven como marco de referencia para el desarrollo de proyectos de software, cada una de estas tiene un conjunto de entradas, salidas, artefactos para su modelado, actores, actividades y demás componentes que hacen que con su utilización se llegue al fin deseado. La metodología elegida por el grupo del proyecto depende de las características particulares a la que se exponga cada uno de ellos, existen metodologías que permiten la iteración en cada una de las etapas para mejorar los entregables, así como las que se centran en entregables parciales, entre otras. La metodología adecuada para un proyecto de este tipo debe ser elegida teniendo en cuenta variables como el tiempo, los costos, el recurso humano disponible para su desarrollo así como un enfoque centrado en el usuario si es el caso. Entre las metodologías que existen para la ingeniería del software podemos encontrar: Modelo en cascada (11) Es un modelo planteado generalmente para proyectos de larga duración donde el enfoque es la generación de una documentación lo suficientemente consistente que soporte el proceso de desarrollo. Esta metodología tiene la particularidad que cada etapa depende de la anterior para poder continuar. Las etapas que componen esta metodología son

Análisis y definición de requerimientos.

Diseño del sistema y del software.

Implementación y prueba de unidades.

Integración y prueba del sistema.

Funcionamiento y mantenimiento En el siguiente grafico se muestra este enfoque:

16

Ilustración 4: Ciclo de vida del modelo en cascada (11)

Modelo de prototipos (13) Es una metodología que se centra en pequeños entregables de la funcionalidad en los cuales se puede iterar para ir mejorando el producto y al finalizar cumplir con las expectativas del cliente. Este modelo resulta útil cuando el usuario tiene definido a grandes rasgos lo que desea construir, estos prototipos le van a servir para identificar de forma concreta lo que desea construir. Las etapas que pueden intervenir en este modelo son:

Plan rápido.

Modelado y diseño rápido.

Construcción del prototipo.

Desarrollo, entrega y retroalimentación.

Comunicación. Desarrollo espiral (11) Es una metodología la cual su centro es iterar sobrar cada uno de los procesos que se llevan a cabo, convirtiéndose cada una de estas iteraciones en actividades. Cada fase de la espiral representa una fase del proceso de software, la espiral definida se divide en 4 sectores, los cuales son:

Definición de objetivos.

Evaluación y reducción de riesgos.

17

Desarrollo y validación.

Planificación. En la siguiente imagen se puede evidenciar cada una de las etapas, como se conforma la espiral y sus actividades:

Ilustración 5: Modelo en espiral de Boehm para el proceso de software (11)

Proceso Unificado Rational (14) Es un marco de trabajo integral que ofrece un conjunto de buenas prácticas que han sido probadas por la industria del software, implementación de sistemas y gestión eficaz de proyectos. Esta metodología permite su personalización para solo tomar los procesos y elementos que son requeridos de acuerdo a las necesidades de cada proyecto en particular. Esta metodología proporciona a quienes la utilizan un proceso basado en buenas prácticas, patrones capaces de permitir un manejo del proyecto más rápido en el cual los cambios no impacten el ciclo del proyecto. Las etapas que la conforman son:

Modelado del negocio

Requerimientos

Análisis y diseño

Implementación

Pruebas

Despliegue

18

Configuración y cambios

Gestión de proyectos

Ambiente En la siguiente imagen se muestra todo el ciclo de vida de esta metodología:

Ilustración 6: Arquitectura general RUP (14)

Habiendo mencionado algunas de las metodologías utilizadas en la ingeniería del software nos podemos dar cuenta que ninguna tiene una aproximación a interactuar directamente con el usuario, cada una de estas en sus etapas tempranas lo que buscan es realizar un levantamiento de información que alimente el sistema con un conjunto de requerimientos para luego iniciar su procesos de construcción interactuando e iterando a través de cada etapa. Viendo esto surge una ingeniería que busca acercarse más al usuario agregando un valor diferente al proceso, esa es la ingeniería de la usabilidad, la cual agrega conceptos nuevos como la filosofía centrada en el usuario. La ingeniería de la usabilidad es una disciplina que provee métodos estructurados para lograr la usabilidad en el diseño de la interfaz de usuario durante el proceso de desarrollo del producto (1). En la “Ilustración 7: Desarrollo de software tradicional vs. desarrollo centrado en el usuario “ en la cual se realiza un contraste y comparativo en los elementos que cada uno de los enfoques utiliza, por un lado tenemos la ingeniería de software tradicional y por el otro la filosofía del desarrollo centrado en el usuario.

19

Ilustración 7: Desarrollo de software tradicional vs. desarrollo centrado en el usuario (1)

Por qué iniciar el uso de la ingeniería de la usabilidad está dado por la necesidad de que las personas comprendan los ambientes de otros basados en su propia experiencia, los cambios en la experiencia de usuario que se desarrollan constantemente hacen que la percepción del mundo que tiene el usuario cambie. (11) Los beneficios que se pueden evidenciar al hacer uso de la ingeniería de la usabilidad es que mejoran la eficiencia y eficacia del sistema y estos repercutirán en efectos económicos al reducir los costos de soporte, tiempo de investigación y capacitación. Adicionalmente reduce costos y tiempo de los desarrollos tecnológicos, el usuario también podrá experimentar satisfacción en lugar de frustración, lograr las metas de una formas más rápida, no descastarse realizando tareas sin recibir algún tipo de respuesta. (11) Los integrantes del proyecto encontraran los beneficios ofrecidos por la ingeniería de la usabilidad de la siguiente forma (11):

Reduce el costo de financiación.

Diseño eficiente.

Pocas revisiones.

Reducir el costo del soporte.

Incrementar la productividad.

Incrementar el uso.

Incrementar la accesibilidad para maximizar el potencial de la audiencia.

Reducir los tiempos de desarrollo. La ingeniería de la usabilidad se apoya en las siguientes actividades para su evaluación (15):

Especificaciones (Análisis de usuarios, análisis de tareas y especificaciones de usabilidad): consiste en detallas de forma clara y concreta el nivel de usabilidad que se

20

desea que tenga el sistema, las especificaciones que se construyan guiaran de forma integral el proceso de desarrollo del software ya que indicará cada uno de los requerimientos del usuario.

Diseño (Diseño de la interacción, prototipado y participación de usuarios): consiste en diseñar la interacción del sistema, como un punto de partida sobre la cual se realizarán iteraciones buscando que este se mejore cada vez más hasta llegar a un punto de aceptación óptimo.

Evaluación (Test de usabilidad y evaluación heurística): la evaluación de la usabilidad nos va a permitir conocer el nivel de aceptación del usuario frente al cumplimientos de los requerimientos que están siendo implementados, este test hace parte importante del ciclo de desarrollo ya que este es un insumo para tomar la decisión o no por el camino trazado.

En la se muestra de forma más clara el ciclo de desarrollo de la ingeniería de la usabilidad:

Ilustración 8: Actividades asociadas a la ingeniería de usabilidad (16)

21

DESCRIPCIÓN METODOLOGÍA MPIU+A (MODELO DE PROCESO DE LA

INGENIERÍA DE LA USABILIDAD Y ACCESIBILIDAD) Esta metodología se describe como “La integración de la ingeniería del software, la interacción persona-ordenador y la accesibilidad en el contexto de equipos de desarrollo multidisciplinares”. (17). Esta fue diseñada para combinar procesos de desarrollo del software tradiciones con la ingeniería de la usabilidad dando nacimiento a una nueva propuesta metodológica con la que se pueden abordar proyectos desde una perspectiva más centrada en el usuario y no en el producto, esto buscando mejorar la aceptación del usuario al producto final. Esta nueva metodología cuando se adopta representa un gran reto a las personas que practican la ingeniería de software de forma nativa ya que la relación que sostienen con el usuario no se centra solo al inicio y al final del proceso, sino que debe ser un proceso de retroalimentación constante entre grupo del proyecto y el usuario que define el producto y a quien está dirigido. Adicionalmente el talento humano que vaya a conformar el equipo de desarrollo debe ser multidisciplinar para garantizar que la relación técnico/cliente rinde sus frutos y se tiene un entendimiento objetivo de lo que el cliente desea con el producto que solicita. Las casas de desarrollo o empresas que realizar sus productos en modalidad insourcing no le ven el valor agregado ni la justificación económica de incluir temas de la usabilidad en sus proyectos, ya que lo interpretan como un aumento significativo de recursos que deben ser sostenidos en el tiempo y que cuando el producto se encuentre en el mercado no van a ver una recompensa. En el mercado podemos encontrar productos de software que entre sus características dicen que son amigables pero esta denotación es simplemente comercial ya que no siempre pasan por un proceso estandarizado para garantizarlos. Bajo la premisa de que se hizo necesario integrar componentes adicionales que enriquecieran la ingeniería de usabilidad surge la propuesta de MPIu+a la cual se resume en la siguiente gráfica (17):

22

Ilustración 9: MPIu+a: Modelo de proceso de la Ingeniería de la Usabilidad y de la Accesibilidad (17)

Tal como lo muestra la “Ilustración 9: MPIu+a: Modelo de proceso de la Ingeniería de la Usabilidad y de la Accesibilidad” esta metodología cuenta con las siguientes características (17):

Organización conceptual que lo que logra es dar orden a los pasos a realizar y agrupa en módulos cada fase del desarrollo,

Cuenta con 3 pilares básicos los cuales son el proceso de desarrollo de software que proporciona herramientas para ejecución del desarrollo teniendo en cuenta cada una de sus etapas, el prototipado que indica la construcción de pequeñas funcionalidades que van siendo revisadas por el usuario buscando garantizar que lo que este solicito es lo que se está construyendo y finalmente el proceso de evaluación que tiene como finalidad retroalimentar todo el proceso utilizando métodos de evaluación existentes.

El usuario como pieza fundamental y ente que supervisa de forma transversal todo el ciclo de vida de la metodología haciendo que esto es lo que hace que sea un proceso centrado en el usuario.

23

Un proceso iterativo el cual permite regresar entre etapas y repetirlas de acuerdo a lo que se haya definido, en la imagen anterior las líneas delgadas representan la ingeniería de software convencional y las gruesas la que aportan la particularidad de esta metodología.

Proporciona la sencillez necesaria para que el equipo de desarrollo se sienta cómodo desde el punto de viste de la especificación de la funcionalidad hasta su implementación.

Constante interacción con equipo de trabajo multidisciplinario que permita retroalimentar constantemente el sistema. En la “Ilustración 10: Relación entre las diferentes disciplinas de un equipo multidisciplinar y su “particular” visión del MPIu+a ” se muestra la participación de las áreas involucradas en la metodología.

Esta metodología tiene la particularidad que no tiene un sentido lineal dando cabida a que sea el equipo del proyecto quien decida cómo se ejecuta cada ciclo y su orden.

Ilustración 10: Relación entre las diferentes disciplinas de un equipo multidisciplinar y su “particular” visión del

MPIu+a (17)

La metodología MPIu+a como se mencionó anteriormente está compuesta de una conjunto de fases que se ejecutan repetitivamente que le agregan valor al proceso en cada iteración. A continuación se mencionará cada una: Prototipado Un prototipo se puede definir como la implementación parcial de un sistema para evaluar sus funcionalidades, que también sirve para identificar posibilidades de mejora. Este proceso también es una herramienta de gran utilidad para evidenciar requerimientos del sistema que en ocasiones no son claros en el inicio. Las características de los prototipos son (17):

Sirve como herramienta de comunicación y participación.

24

Sirve de guía a los diseñadores al momento de tomar alguna decisión.

Permite al diseñador experimentar con variaciones antes de construir un definitivo.

Permite evaluar la funcionalidad del sistema desde tempranas fases del desarrollo.

Mejora la calidad de las especificaciones y resultado final. Existen diversas técnicas para realizar los prototipos, es criterio de cada diseñador cual elegir al momento de realizar una construcción ya que depende de la habilidad de cada uno y el nivel de detalle al quiera llegar, entre estas técnicas encontramos:

Bocetos: Representación en papel de una idea inicial. Ver “Ilustración 11: Bocetos en papel”.

Storyboards: Consiste en construir un conjunto de dibujos o imágenes que son dispuestos en un formato secuencial. Ver “Ilustración 12: Storyboard ”

Prototipos de papel: Consiste en utilizar materiales convencionales como el lápiz y papel para crear bocetos sencillos pero representativos.

Maquetas: Son modelos a escala de un objeto que queramos representar.

Maquetas digitales: Consiste en la digitalización de las maquetas haciendo uso de herramientas mucho más sofisticadas para llevar estos a un formato digital. Ver “Ilustración 15: Maqueta digital ”

Vídeos: Rodar o grabar video para capturar la escena completa. Ver “Ilustración 16:

Video ”

Prototipos software: Implementación de una aplicación utilizando la técnica de

programación adecuada para probar funcionalidad. Ver “Ilustración 17: Software ”

Ilustración 11: Bocetos en papel (17)

25

Ilustración 12: Storyboard (17)

Ilustración 13: Prototipos de papel (17)

26

Ilustración 14: Maquetas (17)

Ilustración 15: Maqueta digital (17)

27

Ilustración 16: Video (17)

Ilustración 17: Software (17)

Evaluación Una definición de evaluación que es aplicable a nuestro contexto es: “Evaluación es la actividad que comprende un conjunto de metodologías y técnicas que analizan la usabilidad y/o la accesibilidad de un sistema interactivo en diferentes etapas del ciclo de vida del software” (18) Este es un punto muy importante ya que representa una entra al proceso permitiendo retroalimentar el sistema buscando que se mejor para que la siguiente iteración sea mucho mejor que la anterior. Este proceso evaluativo tiene 3 objetivos importantes los cuales son: (19)

Comprobar hasta donde es capaz de llegar el sistema.

28

Comprobar el efecto de la interfaz de usuario.

Identificar cualquier problema específico en el sistema. Existen diversas técnicas de evaluación entre las cuales podemos encontrar la inspección, indagación y el test. Cada una de estas ofrece un conjunto de resultados particulares que van a servir como apoyo a la toma de decisiones. Para evaluar temas más específicos como la usabilidad podemos encontrar cuestionarios específicos como (17):

QUIS (Questionnaire for User Interface Satisfaction)

SUMI (Software Usability Measurement Inventory)

WAMMI (Web Site Analysis and MeasureMent Inventory)

MUMMS (Measuring the Usability of Multi-Media Systems) Ingeniería de software Este es el componente de la metodología en donde se evidencian las etapas comunes de un ciclo normal de desarrollo software, aquí encontramos las siguientes etapas:

Análisis de requisitos: Comprende el levantamiento de información de sistema y las necesidades del usuario.

Diseño: Construcción de la solución independiente de la plataforma y tecnología que se vaya a implementar.

Implementación: Proceso del desarrollo donde se utilizan tecnologías tanto de hardware como software específicas.

Lanzamiento: Proceso en el cual se entrega el producto al usuario para que inicie su uso.

29

TENDENCIAS E INVESTIGACIÓN ACTUAL A continuación podremos encontrar algunas de las investigaciones que se están realizando actualmente: Desarrollo de una identificación basada en NFC para la identificación de pacientes a través de dispositivos móviles utilizando la plataforma Android (18):

Desarrollo de un sistema móvil basado en sistema de mesa redonda utilizando openEHR para el uso de smartphones y tablets usando la plataforma de Android los cuales integra y usan NFC, con eso se busca crear nuevas formas de interacción agilizando el proceso de revisión de pacientes y la replicación de la información.

Enseñanza Usabilidad en un aula Comunicación Técnica: Desarrollo de Competencias para el usuario de prueba y comunicarse con una audiencia internacional (19):

Con el incremento de la presencia de la usabilidad y la comunicación global de las academias y el mundo corporativo, es necesario que los estudiantes desarrollen dichas habilidades de comunicación. El objetivo fue desarrollar pruebas de usabilidad a folletos destinados a estudiantes internacionales, esto obligo a los estudiantes a realizar un reconocimiento de objetos y relacionarlos con su entorno para romper la barrera de la comunicación.

Investigación de la usabilidad en un iPad en las evaluaciones de un curso de matemáticas (20):

Las evaluaciones formativas permiten a los estudiantes juzgar su proceso de aprendizaje permitiendo dar un criterio de evaluación durante el desarrollo del curso. Lo que se pretende es mejorar el desempeño haciendo uso de las tabletas en donde se pretende realizar talleres en parejas buscando revisar la receptividad de los estudiantes y el grado de usabilidad de este tipo de dispositivos.

Detección de la interacción de un teléfono móvil en el campo (21):

Con el fin de mejorar la utilidad y usabilidad de las aplicaciones móviles, estudios de campo a menudo se considera más adecuado que las evaluaciones de laboratorio. Aquí se presenta un enfoque innovador para la detección automática y transparente del uso del teléfono móvil, que se basa en la observación y análisis de fondo de las interacciones del usuario con una aplicación móvil bajo condiciones del mundo real.

Desarrollo de tareas de conocer el mercado utilizando smartphones (22):

Se encuentran realizando investigación relacionada con las tareas ejecutadas desde el celular de forma frecuento para buscan oportunidades de negocio y adicional a esto evaluar las usabilidad de los dispositivos.

30

Bibliografía

1. B., Thurnher. Usability Engineering. s.l. : Vienna University of Technology, 2004.

2. Human-Computer Interaction (HCI): An overview. Mathew, Alex Roney, Al Hajj, Aayad and Al

Abri, Ahmed. 99 - 100, s.l. : Computer Science and Automation Engineering (CSAE), 2011 IEEE

International Conference on, 2011, Vol. 1. 978-1-4244-8727-1.

3. Galitz, Wilbert O. The Essential Guide to User Interface Design: An Introduction to GUI Design

Principles and Techniques. Canada : Wiley Publishing, Inc., 2007. 978-0-470-05342-3.

4. Nielsen, J. Usability Engineering. San Diego : Academic Press, 1993. 0-12-518406-9.

5. Standardization, International Organization for. Ergonomics Requirements for Office with

Visual Display Terminals (VDTs), Part 11: Guidance on usabiliy. Geneva : s.n., 1998. ISO 9241-11.

6. The research of Web usability design. Yan, Pei and Guo, Jiao. 480 - 483, Singapore : Computer

and Automation Engineering (ICCAE), 2010 The 2nd International Conference on, 2010, Vol. 4.

978-1-4244-5586-7.

7. Usability Heuristics as an assessment parameter: For performing Usability Testing. Lodhi, Afifa.

256 - 259, San Juan, PR : Software Technology and Engineering (ICSTE), 2010 2nd International

Conference on, 2010, Vol. 2. 978-1-4244-8666-3.

8. J., Nielsen. Usability Engineering. s.l. : Morgan Kaufmann, 1993. 1-12-518406-9.

9. M., Noyes J. and C., Baber. User-Centred Design of Systems. Springer : s.n., 1999. 3-540-76007-

5.

10. Integrating Human-Centered Design into Software Development: An Action Research Study in

the Automation Industry. Viikki, Katriina and Palviainen, Jarmo. 313 - 320, Oulu : Software

Engineering and Advanced Applications (SEAA), 2011. 978-1-4577-1027-8.

11. I., Sommerville. Ingeniería del software. Madrid (España) : Pearson Educación, 2005. 84-7829-

074-5.

12. Association for Computing Machinery. [Online] Computing Degrees & Careers. [Cited: 3 21,

2013.] http://computingcareers.acm.org/?page_id=12.

13. Wikipedia. [Online] [Cited: 3 21, 2013.] http://es.wikipedia.org/wiki/Modelo_de_prototipos.

31

14. C., Péraire, et al., et al. The IBM Rational Unified Process for System z. s.l. : International

Technical Support Organization, 2007.

15. Ferré Grau, X. Principios Básicos de Usabilidad para Ingenieros Software. España : National And

Latin American Conferences, 2000.

16. Gabbard, Joseph L., et al., et al. Usability Engineering for Complex Interactive Systems

Development. Vienna : Proceedings of Human Systems Integration Symposium, 2003.

17. Saltiveri, Toni Granollers i. MPIu+a. UNA METODOLOGÍA QUE INTEGRA LA INGENIERÍA DEL

SOFTWARE, LA INTERACCIÓN PERSONAORDENADOR Y LA ACCESIBILIDAD EN EL CONTEXTO DE

EQUIPOS DE DESARROLLO MULTIDISCIPLINARES. Lleida : Universitat de Lleida, 2004.

18. Developing a NFC based patient identification and ward round system for mobile devices using

the android platform. Kostinger, H., et al., et al. 176 - 179, s.l. : Point-of-Care Healthcare

Technologies (PHT), 2013 IEEE, 2013. 978-1-4673-2766-4.

19. Teaching usability in a technical communication classroom: Developing competencies to user-

test and communicate with an international audience. Chong, F. 1 - 4, Orlando, FL : Professional

Communication Conference (IPCC), 2012 IEEE International, 2012. 978-1-4577-2124-3.

20. Investigating the usability of iPad mobile tablet in formative assessment of a mathematics

course. Isabwe, Ghislain Maurice Norbert. 39 - 44, London : Information Society (i-Society), 2012

International Conference on, 2012. 978-1-4673-0838-0.

21. Sensing mobile phone interaction in the field. Lettner, F. and Holzmann, Clemens. 887 - 882,

Lugano : Pervasive Computing and Communications Workshops (PERCOM Workshops), 2012 IEEE

International Conference on, 2012. 978-1-4673-0906-6.

22. Development of Smart Phone Usability Benchmarking Tasks. Dunn, Brian Kimball, et al., et al.

1046 - 1052, Wailea, HI, USA : System Sciences (HICSS), 2013 46th Hawaii International Conference

on , 2013. 978-0-7695-4892-0.