Curiosidades sobre la aplicación que estoy haciendo ahora


En las empresas grandes es normal que haya algún modo más o menos sistemático para que los usuarios se pongan en contacto con los informáticos: un buzón de correo, un programa de incidencias, etc. Las maneras más ineficientes y en general desastrosas para hacerlo son llamar por teléfono o presentarse allí personalmente, porque nuestro trabajo requiere una enorme concentración y las interrupciones solo sirven para tocar las pelotas y retrasarnos. Por supuesto los empleados de otros ámbitos no lo entienden porque para hacer lo que hacen casi todos ellos vale un mono bien amaestrado, pero cuando les pedimos que no molesten lo decimos con razón. Un desarrollador, un analista o un técnico de Sistemas que se está volviendo loco para encontrar un problema en medio de un puzzle de posibilidades necesitan máxima concentración: esto no es como apretar tornillos que puedes dejarlo un minuto y luego volver a lo tuyo, se parece más a una partida profesional de ajedrez en la que tienes que tener en la cabeza un millón de detalles a la vez y cuando te sales de la concentración volver a meterte te puede costar mucho hasta que lo tienes todo funcionando en tu mente de nuevo.

Pero claro, un mono amaestrado no tiene capacidad de entender todo esto; y por eso por lo que he visto es súper común en todas las empresas que los usuarios vengan o llamen constantemente para tonterías que deberían comunicar por escrito, o bien para decir que "lo suyo es súper urgente" (traducción: no sé en qué estarás o qué nivel de urgencia tendrá lo que estés haciendo ahora, pero seguro que mi problema es más importante así que déjalo todo y resuélvemelo).

En mi empresa hemos tenido hasta ahora un programa de incidencias que está algo viejo pero que cumple perfectamente con su función: todos los usuarios saben que es la vía correcta para comunicarse con nosotros, todos los usuarios saben que no deben salirse de ahí, y a la mayoría le da igual. El teléfono no para de sonar para chorradas o para decirnos cosas como "les he abierto una incidencia, mírenla que es urgente" y demás; por no hablar de los usuarios que nos abren incidencias diciendo simplemente "Problema con Excel" o "Error en Internet", que es como ir al médico y decirle "Doctor, me duele algo". No tenemos cuantificado el tiempo que nos hace perder la incompetencia de los usuarios, pero todos sabemos que es mucho.

Así que en otoño del año pasado me puse a pensar en soluciones. Ya existen programas de incidencias en el mercado, y por lo que he visto funcionan genial; pero todas parten de una idea equivocada, y es la de que los monos piensan. Las empresas crean este tipo de software con el objetivo principal de que los usuarios tengan una buena manera para enviar comunicaciones; eso está muy bien, pero para mí no es un fin sino solo un medio para un fin mayor. Mi objetivo de verdad es que los usuarios tengan una buena manera para enviar comunicaciones... para conseguir lo que realmente queremos, que es que nos dejen trabajar en paz y ser lo más productivos posible sin tocamientos constantes de pelotas.

Total, que me puse a ello y me he pasado los últimos nueve meses trabajando en casa (tardes, findes y vacaciones) en un megaprograma que ya por fin tengo cerca de completar. En realidad es una suite de aplicaciones interconectadas:

- El "cerebro en la sombra" es una superaplicación back-end con la que nadie interactúa directamente, pero que las otras llaman para poder trabajar. Se encarga de la base de datos, las conexiones, la seguridad, la gestión de trabajos programados, etc, y tiene a su vez un montón de herramientas internas para ocuparse de que todo funcione. Solo con esta me tiré más de seis meses, el resto en realidad es fácil porque lo único que tiene que hacer es hablar con el usuario y enviar y recibir la información contactando con Cerebro que es quien tiene el trabajo pesado.

- El administrador (o sea mi jefe) tiene una aplicación específica para él: en ella puede crear y gestionar técnicos, clientes (es decir, las empresas con las que trabajamos) y usuarios (los que nos abren las incidencias directamente, que aquí se llamarán "mensajes"). Además puede ver estadísticas, luego les hablo sobre esto.

- Los clientes (las empresas) tienen otra app para crear a sus usuarios, o bien hacer que otros usuarios ya creados se asocien a ellos (puede haber gente que trabaje para varias empresas y pueda abrir incidencias en nombre de una u otra), o también ver sus estadísticas.

- Los usuarios tienen tres aplicaciones: una web (lo que han visto arriba), un programa de escritorio instalado en su pc, y una app móvil. Con ellas pueden abrirnos incidencias y trabajar con las abiertas y las antiguas, y más cosas pero esto es lo principal. Una cosa buena es que, tanto los que usan Windows (mayoría) como otros que tienen Linux, podrán simplemente hacer click sobre un icono que tendrán en la barra de tareas e instantáneamente se les abrirá una ventana como la de la imagen de antes ya lista para escribir y enviar el mensaje en pocos segundos. La clave está en que sea más fácil escribirnos que pensar, y créanme que sé lo que me digo.

- Y por último los informáticos tendremos un programa para gestionar la información, responder a los usuarios, documentar los problemas, buscar casos antiguos que nos puedan ayudar y mucho más.

Esto ha sido (está siendo) una paliza tremenda, en la que voy a meter en total más de 2000 horas de mi vida; pero lo tomo como quien hace un máster, porque me he tenido que enfrentar a todo tipo de problemas y he dado un auténtico salto de calidad como desarrollador por todo lo que he aprendido y por las cosas tan distintas que he tenido que integrar para hacer que la máquina funcione a la perfección. Además hay dos razones por las que quise ocuparme de esto personalmente y hacerlo todo yo:

1) La experiencia de usuario. No es técnico, es psicológico... El programa se llama "Mensajes", y aunque para los técnicos serán incidencias desde el punto de vista de los usuarios todo será exactamente igual que cualquier app de chat como por ejemplo WhatsApp, Telegram o Line. Burbujitas de texto, ficheros adjuntos incluyendo fotos, etc: abres la web, el programa o la app, escribes, puedes especificar empresa si trabajas para varias o especificar tu urgencia, le das a enter y listos. Vamos, mi objetivo es que para el usuario sea más fácil escribirnos que llamarnos y aún más que mover el culo de su silla para venir hasta donde estamos.

2) Las estadísticas. Aquí viene el punto fuerte del asunto: por cómo está diseñado el software, a partir de ahora vamos a tener un registro real de en qué exactamente ocupamos el tiempo los informáticos y ¡ojo! para quién. Se sabrá por ejemplo cuántos minutos hemos empleado en completar o corregir información que el usuario nos ha dado mal, cuántos hemos perdido en interrupciones, cuánto en explicarles a los usuarios cosas que ellos ya deberían saber porque es su puto trabajo, etc; y eso lo sabrá tanto mi jefe como los jefes de los usuarios. Es más: cuando le pasemos al cliente la factura por nuestros servicios y el tipo vea que se le está yendo la pasta y cuánto tiempo han malgastado sus empleados, podrá ver persona por persona quién ha gastado qué y sabrá quiénes exactamente le han costado más dinero (en forma de minutos) en cosas que deberían ahorrarse. Así que un jefe podrá ver que este año Fulanito ha ocupado 300 minutos de Informática en cosas como "llamadas al usuario porque su información estaba incompleta", podrá acceder a sus mensajes y si efectivamente ve que los abre diciendo "problema con Internet" sin decir nada más le podrá echar la correspondiente bronca. Probablemente estoy siendo demasiado optimista y a lo mejor todo esto no resuelve nada, pero he diseñado este software pensando en que la gente solo aprende cuando sus errores le cuestan dinero.

En fin, no es que esta sea ni mucho menos mi primera aplicación pero es la más grande que he hecho en solitario (y probablemente tardaré en superarla). Últimamente me han interrumpido con la aplicación de fichajes y con una web-app que he tenido que hacer para un grupo de empresas asociadas la mía, pero si no me trastocan más los planes mi objetivo actual es acabar la megasuite antes del final de este mes para después empezar otros dos proyectos (personales) con muy buena pinta: uno más breve para empresas, y luego otro súper interesante, súper guay y súper útil que, suponiendo que nada interrumpiera mi agenda, podría estar listo para que lo disfrutemos todos antes de final de este año. Y que por cierto lleva mucho tiempo en mi cabeza, de hecho ya les hablé de él una vez...