Cómo crear un software perfecto

Por: Andrés Rojas Villalobos
«En una oficina coloque: tres desarrolladores, un coffeemaker, varias computadoras al menos una de ellas con Windows e IE8,9,10, añada dinero y tiempo. Seguidamente empiece a batir hasta obtener la textura de su software ideal»

A lo largo de mi vida como ingeniero en sistemas he visto miles de recetas como esta, empresas que prometen el «Software de sus sueños» a cambio de dinero donde en muchos casos termina en una gran estafa pues el cliente no queda satisfecho debido a que el sistema no alcanza sus expectativas, posiblemente gasto mucho más dinero del acordado y con seguridad tardó más de lo esperado inicialmente.

Un software perfecto no es un software super dinámico, super animado, lleno de funciones complicadas, no es la sorprendente interfaz «parlante» de usuario, no que esté conectado y sincronizado con Facebook, Gmail, Skype, Github y cuanta cosa exista.

Un software perfecto es aquél que le robe la sonrisa al cliente, es aquél que en el cliente despierte esa sensación que diga «Me leyeron la mente, esto es lo que yo quería»

Pero, ¿Cómo lograrlo?

Ahí inició mi aventura, Todos hemos cambiado de trabajo alguna vez, pero pocos hemos pasado de ser desarrolladores de software a clientes. En un momento de mi vida ingresé a trabajar a una empresa que no tenía nada que ver con el desarrollo de software más bien se dedicaba a la construcción de escuelas y colegios, mi puesto en esa empresa era asistente de proveeduría y contabilidad.

El gerente general de esa empresa administraba la mayor parte de las funciones de la misma y solo usaba Excel para llevar la contabilidad de la siguiente manera:

Un solo archivo de Excel llamado «Contabilidad» en el cual tenía columnas como, número de factura, fecha de emisión, nombre del proveedor y monto. He de suponer que algunos ya ven el caos acercándose, este archivo no estaba ordenado, a veces los nombres estaban mal escritos, fechas en formatos diferentes. El día para pagar a los proveedores era horrible, pues el gerente abría el documento y línea por línea empezaba a buscar cuales facturas estaban vencidas y cuáles no, al terminar este proceso usaba una calculadora para totalizar el valor pendiente, simplemente ineficiente, tedioso y muy cansado. Y yo iba a heredar ese proceso.

«La necesidad es la madre de la invención» – dicen por ahí, viendo ese caos acercándose a mí tuve que reaccionar y ver las cosas desde un punto de vista que nunca había visto.

Conozca

En ese momento yo era el cliente y también el desarrollador pero con un «AS» bajo la manga, tenía muy claro cuál era el problema a resolver pues lo vivía a diario, así que ya conocía antes de empezar a desarrollar a que me enfrentaba, cuales eran mis tareas asignadas y que tenía que lograr día con día. Entonces era fácil pensar como quería acomodar la información para utilizarla de una manera más práctica. Este es el primer paso, antes de empezar debes conocer a tu cliente, entender a qué se dedica, como hace su trabajo actualmente, de dónde viene y para dónde va. Con eso en mente puede ayudarlo a alcanzar su software perfecto pues colocándose en sus zapatos verás cuáles son sus necesidades reales.

Honestidad

Sé honesto con tu cliente, todos hemos escuchado esta frase: «y dígame: ¿eso se puede hacer?» y en la mayoría de los casos la respuesta es: «¡Uff, claro! no hay problema» aun sabiendo que será muy complicado, tedioso y a veces irresponsable. Todos sabemos que los lenguajes de programación ofrecen ventajas pero también tienen sus desventajas. El conocer el cliente previamente y entender su negocio te ayudará a escoger mejor cual herramienta se acomoda adecuadamente a sus necesidades particulares. Recuerda decir la verdad cuando un reto se presenta y este puede afectar tu software perfecto.

Aconseja

Cuando logres entender el negocio de tu cliente, vendrán a tu cabeza miles de opciones innovadoras y diferentes, no temas en decirlas pues eres el experto, tú eres el que conoce los componentes visuales, librerías, procesos, atajos, frameworks y demás características que pueden hacer mucho más eficiente el sistemas perfecto de tu cliente. ¡Créeme! tu cliente estará feliz de ver que estás preocupado por su sistema y en muchos casos se sorprenderá pues esa opción no le había pasado por la cabeza y ahora ve las cosas mucho mejor que antes.

Diviértete

Este punto es un poco difícil de digerir pues casi siempre el trabajo se asocia con esclavitud, aburrimiento y descontento. Pero piénsalo bien, el trabajo es aquello que nos permite alcanzar nuestras metas y sueños, a través de él crecemos profesionalmente y generamos amistades. Ten en cuenta que, cuando hayas logrado entender a tu cliente, cuando ambos sean honestos y la confianza sea la suficiente para poder aconsejar, ya que tu palabra es importante en la marcha del sistema; en ese momento empezarás a disfrutar el desarrollo del software perfecto y esta creación logrará alcanzar los objetivos de maneras que quizás tu cliente jamás imaginó. Amigo mío, habrás logrado alcanzar la perfección cuando seas capaz de entender y compartir la felicidad del cliente.

Personalmente he aplicado este proceso desde aquel viejo Excel de contabilidad que luego fue felizmente eliminado, hasta la fecha y me ha dado excelentes resultados a través de los años.

Decidí a escribir este artículo pues encontré muchas personas que piensan de la misma manera y sentí la necesidad de resumir y plasmar nuestras experiencias tanto a nivel personal como empresarial. Soy firme creyente que Costa Rica tiene las herramientas y recursos para ser una potencia, por eso creo que compartir este tipo de conocimiento y análisis ayudará a guiarnos hacia un mejor futuro personal y como nación.

Recuerda, antes de encender el computador y escribir la primera línea de código, mira a tu cliente a los ojos y dile:

¡Con mucho gusto te ayudamos!, pero primero, cuénteme de usted…

Scroll to Top