Usabilidad en aplicaciones empresariales

La usabilidad según wikipedia

"La usabilidad (del inglés usability) es la facilidad con que las personas pueden utilizar una herramienta particular o cualquier otro objeto fabricado por humanos con el fin de alcanzar un objetivo concreto."

"En interacción persona-ordenador, la usabilidad se refiere a la claridad y la elegancia con que se diseña la interacción con un programa de ordenador o un sitio web."

Referencia http://es.wikipedia.org/wiki/Usabilidad

En el mundo de las aplicaciones empresariales la usabilidad es un tema un poco olvidado.

En el enfoque “caro” contar con un área de Usabilidad que diseñe e investigue lo que está en el "top of mind" de los usuarios y la heurística común de las personas. Este enfoque es más usado para diseños de sitios web de contenido público muy grandes, es similar a la usabilidad del metro de la ciudad de méxico en el que todo esta señalizado, informado hasta el ultimo detalle por color, ideograma, titulo, mapas, pasillos, rutas, etc.

En un enfoque “práctico” los desarrolladores de aplicaciones tienen la necesidad de incorporar prácticas para que las aplicaciones sean simples a los usuarios y estandarizadas. Sin incrementar el costo o el esfuerzo de desarrollo y mantenimiento.

Platicando con algunos compañeros, compartiendo experiencia y prácticas encontramos las siguientes:

Visuales Diseño de Pantallas:

• Cada "pantalla" ó “cuerpo central de la pantalla” tiene un nombre visible.
• Cada control tiene una etiqueta asociada o nombre.
• El menú permanece siempre visible en la misma posición.
• Las validaciones en pantalla guían al usuario, ejemplo campo requerido, rangos, tamaños, etc.
• Cuando esperes que algo sea cliqueado debe parecer botón o debe parecer una liga.

Funcionales:

• Para una alta, baja, cambio o consulta el final del flujo retorna al primer formulario para facilitar una nueva operación. -R. Gonzalez Garduño-
• El botón de cancelar no restaura la información sino el flujo.

De diseño de software:

• Diseñar la navegación evita accesos difíciles o flujos extraños.
• Cuando las reglas de validación de una pantalla son complejas procura mantenerlas cohesionadas en una rutina. Para lograr hacer esto en lugar de colocarlas en un método OnClick, OnEventoCualquiera voltea la lógica mediante un patrón observador. -A. Tello Busquets @atellob-
• Mantener la lógica del menú aislada, es muy útil al realizar un mantenimiento.
• Considera que hay usuarios con más de un rol y la misma funcionalidad de un menú puede ser requerida por varios actores/roles.
La recomendación es tener/dividir un menú para cada actor que puede apuntar a la misma funcionalidad.
Ejemplo:
Un supervisor podría necesitar acceder a un menú de supervisor y de operador.
Tener un Menú para telefonista con sus opciones, Menú para Supervisor con sus opciones. Y desplegar ambos le permitiría satisfacer su necesidad

De cara al mantenimiento:

(Enfoque: Un manual de usuario también le sirve a quien debe dar mantenimiento)
• En el manual de usuario hay que asegurarse de explicar bien cada campo, sobre todo los que no son obvios o su nombre indica algo diferente a los usuarios experimentados.
• Evitar perder el sentido de lo intuitivo en una pantalla, pero si se pierde procura mantenerlo bien documentado en el manual de usuario. -@josuemb-
• Evita agregar funcionalidad asociada actores/roles diferentes en la misma pantalla. En lugar de poner un "if" procura tener 2 pantallas independientes -E. Serrano, O. Palacios-

Las ventajas de la usabilidad no se reflejan únicamente en el usuario final, también hacen las aplicaciones más sencillas y simples.
Por ejemplo: Al dar mantenimiento a una pantalla será más sencillo encontrar el código que debe modificar si la pantalla tiene un nombre y el control tiene una etiqueta.

Son recomendaciones son mejorables y sustituibles.

Como temas asociados en internet adicionalmente se pueden buscar “patrones de usabilidad” y “patrones de RIA”.

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de ezamudio

No estás solo

Ahí te dejo esta liga, estos cuates han estudiado bastante el tema, nosotros usamos sus servicios y sí dieron muy buenos resultados.

Imagen de paranoid_android

Re: No estás solo

Gracias por la apotación XD

Imagen de benek

Todo un tema.

Felicidades por el post, está muy bueno.

Esto es todo un tema, normalmente pensamos que usabilidad es poner los index de tabulación en orden, pero es mucho más que eso.

Como desarrolladores de software estamos muy enfocados en la tecnología, frameworks, técnicas, etc... cosas que al dueño del sistema (el usuario) poco le interesan, deberíamos enfocarnos más en este término.

¡Saludos!

Javier Ramírez Jr.

Imagen de ezamudio

Psicología

Usabilidad se extiende incluso a cosas de psicología, en el uso de ciertos colores e iconos para las acciones que los usuarios puedan o deban realizar, la manera en que se presentan los datos (incluso con fuentes y tamaños, el orden de los campos, etc). Es importante siempre tener una interfaz consistente; si una pantalla tiene el botón de OK o continuar en la parte inferior derecha, todas deben ser así; cuando algunas lo tienen del lado derecho y otras del lado izquierdo, etc es cuando comienza la confusión. Y hay cosas mucho más complejas que eso.

Imagen de josuemb

¡Ennhorabuena por el

¡Ennhorabuena por el post!

Muy práctico y de mucha utilidad.

Yo agregaría algunos:

Visuales Diseño de Pantallas:

  • Agregar etiquetas a los controles que sean concisas y descriptivas. Ejemplo: "Edad del Solicitante", "RFC del Titular".
  • Agregar "Tool Tip Text" simples y descriptivos que complementen la información de las etiquetas. Ejemplo: "Edad en formato numérico, entre 1 y 3 caracteres de longitud", "RFC incluyendo homoclave, 8 caracteres de longitud".
Imagen de rodrigo salado anaya

Guau jeje

Que buen post e importante tema.

Imagen de gbrey

Enfoque arquitectural de la usabilidad

Hace tiempo que estudié el tema desde un punto de vista arquitectural y obviamente la usabilidad siempre se enmascara como un Requerimiento no funcional o Atributo de Calidad que la arquitectura tiene que garantizar. Tengo la suerte de trabajar con una especialista de usabiidad en mi proyecto y le da un valor de negocio muy interesante. Generalmente lo veo como la facilidad de un sistema para ser operado y la relación que le encuentro con la arquitectura está relacionado con el soporte de esta para ciertos items de usabilidad, ejemplo:

  1. Drag & Drop en la Web, sin una RIA es imposible. La arquitectura tiene que soportarlo.
  2. Barras de Progreso dinámicas. Generalmente las transacciones largas deben dar retroalimentación al usuario y dichas transacciones pasan por muchos componentes de la arquitectura, entonces como hacemos? La arquitectura debe garantizar dicha posibilidad de retroalimentar la GUI con el estado de la transacción.
  3. Posibilidad de Continuation o de cancelar operaciones y mantener el estado integro antes de iniciar la transacción.

Este es mi grano de arena con el tema aportando al articulo original.