albertolacalle.com, enlace a la portada
estás en: Portada > HCI - usabilidad > Artículos > Los programadores no entienden a los usuarios
Poste con decenas de semáforos.

Los programadores no entienden a los usuarios

septiembre de 2001

«No es bueno que en la cabeza de una compañía haya un ingeniero, tienen la cabeza demasiado estructurada» Koldo Saratxaga

Programar requiere un pensamiento lógico y fuertemente estructurado, mentalidad que lleva a realizar acciones incomprensibles y difíciles de recordar para los usuarios.

Cuando un programador realiza su trabajo, por las características propias del proceso de programación, está orientado a la subdivisión de la tarea principal en subtareas necesarias para su implementación.

Los usuarios frecuentemente no comprenden estas subdivisiones creadas por los programadores, perdiendo fácilmente la paciencia cuando se les obliga a realizar operaciones que un programador juzga como «técnicamente necesarias».

Los programadores han de controlar todas las posibilidades para conseguir que el programa funcione correctamente. Las preguntas que un programador siempre se hace son: «¿y si pasa esto? ¿y si pasa lo otro? ¿y si el usuario quiere?», su objetivo es que se pueda hacer todo y que el programa nunca «casque».

Pensar así tiene algunos efectos como la llamada «featuritis» o añadido innecesario de funciones a un producto, porque entienden que eso mejora el producto. Pero la «featuritis» tiene un coste: vaticinar todo lo posible significa a efectos prácticos marginar y hacer poco visible lo mas probable, con lo que el producto frecuentemente empeora. Un usuario medio no se preocupa por todo lo posible, sino por lo más probable, la gente quiere software que le permita hacer SUS tareas y no TODAS las posibles.

A los programadores les gusta tener un control máximo sobre las tareas que realizan, esto significa que son capaces de sacrificar facilidad de uso por control de la tarea, los programadores están enfocados a la tarea. Sin embargo los usuarios medios están enfocados a las metas, y están dispuestos a sacrificar control sobre la tarea, a cambio de conseguir su meta de manera rápida.

Un ejemplo sencillo: a la hora de hacer una búsqueda de un producto en un sitio web, un programador desea el máximo control, tener la posibilidad de usar varias opciones de búsqueda avanzadas y obtener los mejores resultados posibles (esta orientado hacia la tarea). En cambio un usuario medio desea evitar toda opción incomprensible, prefiere simplemente introducir la palabra clave y obtener resultados inmediatos. Un programador alegaría entonces: «en ese caso si la búsqueda falla es por culpa del usuario que debería hacer una búsqueda avanzada».

Es tarea del programador ponerse en el lugar del usuario y adelantarse a su comportamiento para que los errores no se produzcan.

 

Referencias:

Artículos relacionados:

Ver todos los artículos

MMXIV - contacto | mapa web