Cajera nueva + Interfaz soviética: 30 minutos inolvidables
December 10th, 2011Al igual que los autos con conductores novatos, las cajas con cajeras nuevas deberían tener un cartel de advertencia. Y quienes desarrollan software para línea de cajas, deberían estar en esas cajas como observadores. No como castigo, sino como parte de su trabajo.
La razón es muy simple: una interfaz presenta un modelo de operación al usuario. Este modelo de operación es, en definitiva, una secuencia de pasos que el usuario debe interpretar y llevar a cabo. Y “secuencia de pasos” es, nada más ni nada menos, que la definición de algoritmo.
En otras palabras, con una interfaz programamos gente. Desarrollar una interfaz sin hacer pruebas con usuarios, es lo mismo que programar sin fijarse si el código compila.
En este caso, una cajera y dos supervisoras terminaron con cara de pantalla azul.
¡Peligro! ¡Cajera nueva + interfaz soviética!
Las interfaces soviéticas son esas cosas cometidas por programadores con pobre o ningún dominio de la usabilidad: utilitarias, toscas y en muchos casos, incomprensibles. Rápido, en la siguiente pantalla, ¿cuántos vinos me están cobrando?

Sí, ya sé, la foto es una porquería. Regálenme un iPhone y van a ver los numeritos así de claros:
00125450 2 MALBEC BENJ.N/S 45,8000125450 1 MALBEC BENJ.N/S 22,9000125450 1 MALBEC BENJ.N/S 22,9000125450 -1 MALBEC BENJ.N/S -22,9000125450 -1 MALBEC BENJ.N/S -22,9000125450 1 MALBEC BENJ.N/S 22,9000125452 1 CAB.SA.BENJ.N/S 22,9000125450 -1 MALBEC BENJ.N/S -22,9000125450 1 MALBEC BENJ.N/S 22,9000125450 -1 MALBEC BENJ.N/S -22,9000125450 -2 MALBEC BENJ.N/S -45,80
De paso, agregué en la transcripción filas que se perdieron en el scroll cuando saqué la foto. Ahora está todo muuucho más claro, ¿verdad?
El accidente, en cámara lenta
Todo empezó cuando la cajera novata pasó un vino Malbec por el scanner y puso “cantidad x 2″, cuando yo estaba llevando un Malbec y un Cabernet Sauvignon (que no sabíamos si costaba lo mismo).
Meter presión a la gente que comete errores no ayuda a que puedan resolverlos, por lo que le dije a la cajera que no estaba apurado (mentira) y que se tomara su tiempo en hacerlo bien. No imaginaba que ese tiempo podía tender a infinito.
El sistema no la ayudó: para anular un producto, en lugar de simplemente seleccionarlo de la lista y darle a “eliminar” (o cualquier operación similar), tenía que poner al sistema en un modo y pasar el producto otra vez por el scanner. Es sabido que los modos son causa de errores, y en este caso particular, el producto que se desea anular queda registrado nuevamente en ocasiones. Para peor, anular un producto no lo elimina de la lista. En cambio, agrega una nueva fila con la anulación.
La pantalla que ven más arriba es la combinación explosiva de estas desafortunadas decisiones sobre la forma en la que la interfaz toma y muestra datos.
Dos supervisoras pasaron sus minutos frente a la pantalla tratando de encontrarle el sentido. Algo tan simple como eliminar de la pantalla lo eliminado, hubiera evitado la necesidad de tener a cuatro personas perdiendo el tiempo: la cajera, las dos supervisoras, y el cliente (o sea, yo).
Unos minutos después de todo lo que cuento más arriba, hubo que esperar nuevamente a la supervisora para poder realizar la segunda parte de la compra con IVA discriminado, porque la interfaz no ofrecía indicación alguna.
Finalmente, una supervisora decidió anular la compra, imprimir el ticket y volver a ingresar todos los productos a mano. Cuando un sistema obliga a sus usuarios a repetir tareas, viola la razón misma de la existencia de la informática: las computadoras se inventaron, precisamente, para realizar tareas mecánicas y repetitivas.
Programar a prueba de cajeras de supermercado
A los programadores que se sientan identificados con quienes perpetraron este sistema y ensayen como defensa “eh, pero vos que te pensás, que hay que andar programando a prueba de boludos, ¡ejimpojible!“… vale recordarles que los usuarios de este sistema no son los internos de un cottolengo, ni tampoco programadores de C#.
Tampoco es usuario de este sistema el stakeholder que impone requerimientos, pero no va a pasar una tarjeta por el Posnet en su vida.
Los usuarios de este sistema son cajeras de supermercado. Y si una cajera y dos supervisoras no pueden usar un sistema de manera efectiva, sin que las castigue por no seguir el “camino feliz” y les obligue a perder su tiempo y el del cliente, el sistema está mal hecho y punto.
Post mortem
Mientras escribo estas líneas, caigo en la cuenta de que con tantas idas y venidas, a la cajera se le pasó darme el ticket de las compras para la oficina (que necesito rendir al contador) y ni me enteré.
Yolanda, yo te mato.
Santiago Bustelo
http://www.bustelo.com.ar
facebook