Al cabo de un año, el perro se parece al amo
¿Recuerdan el refrán? A los informáticos nos pasa lo mismo. De tanto trabajar con ordenadores, acabamos pensando como tales.
Los ordenadores son sólo máquinas, para hacer su trabajo necesitan unas instrucciones precisas, no entienden ambigüedades ni sutilezas. Las personas que nos dedicamos a la informática, en numerosas ocasiones, también.
Con su permiso, voy a contarles una batallita.
Hace unos años estaba encargado del mantenimiento de un programa de contabilidad y gestión de almacén. Según se iba acercando la implantación del euro, hubo que hacer modificaciones en el programa para que mostrase todos los importes en pesetas y euros.
Tras una breve reunión con los usuarios, se decidió añadir un campo adicional en los formularios y una columna más en los listados con el importe convertido en euros. Era un trabajo sencillo, y al cabo de una semana el cliente ya tenía la modificación hecha.
Al cerrar el mes, recibí una llamada del cliente, me contaba que los totales en euros que daba el programa y los que recibía de los proveedores no coincidían, eran errores pequeños, del orden de céntimos de euro, uno o dos euros a lo sumo, pero estaban ahí.
Lo primero que pensé fue que el factor de conversión (1 € = 166,386 pta) lo había puesto mal, revisé donde aparecía y estaba bien. Lo siguiente fue revisar el proceso de conversión a euros: multiplicaba el importe en pesetas por el factor de conversión y el resultado lo redondeaba a dos decimales. Todo parecía correcto.
Al final, hablando con personas que trabajaban en contabilidad me enteré que para pasar a euros el redondeo no es el mismo que el redondeo “matemático”: pasando de pesetas a euros se redondea siempre “hacia arriba”. De los diversos criterios “matemáticos” para redondear, uno de los más utilizados es el “redondeo al par más próximo”.
| Pesetas | Euros | |
|---|---|---|
| Redondeo “monetario” | Redondeo “matemático” | |
| 10,105 | 10,11 | 10,10 |
| 10,115 | 10,12 | 10,12 |
| 10,125 | 10,13 | 10,12 |
| 10,135 | 10,14 | 10,14 |
Pues bien, mi programa utilizaba una función que redondeaba “matemáticamente”. Se cambió la función para que redondease “hacia arriba” y todo arreglado en unos minutos.
¿Por qué surgió este problema? Fue un doble error, del cliente y mío. Del cliente por presuponer que yo sabía cómo se redondea “monetariamente”, y mío por no preguntarlo (pienso que la forma de redondear “matemática” es más precisa y promedia los errores de redondeo mejor que el método “monetario”: tengo la mente un tanto cuadriculada, y así trabajo).
Conclusión: los informáticos, en muchas ocasiones, pensamos diferente que nuestros usuarios.
La próxima vez que llame al informático de su oficina no le diga “no puedo imprimir”.
Dígale “al tratar de imprimir en la impresora X, me salta un cuadro de error que dice ‘La junta de la trócola se ha descogorciado. Aceptar/Cancelar’“.
Verá cómo su informático tarda menos en arreglar el problema y lo hace con una sonrisa en el rostro.
Si está encargando al programador un listado de clientes no le diga “quiero un listado de los clientes“. Mejor será “quiero un listado de clientes, ordenados por su CIF ascendentemente, con 50 líneas como máximo por pantalla y la posibilidad de reordenar el listado por apellidos, fecha de alta en el sistema o número de teléfono“.
No tema agobiar a un informático nunca con un exceso de información (relevante, eso sí). Nos gusta y lo agradecemos.
Comentarios (12)