Casi puedo escuchar al pelado Luca Prodan gritando como desesperado cada vez que un cliente encarga un nuevo desarrollo.
La programación, como tantas otras ramas de la informática, es una ciencia compleja y extensa. Si bien gran parte de la ingeniería de software es una ciencia inexacta dada la cantidad de factores implicados, la programación ya es otro tema, dado que implementar una solución ya analizada es relativamente fácil, si uno conoce los lenguajes necesarios y la metodología de trabajo apropiada.
Para el cliente, esto es "bullshit", como dicen los yankees. El cliente quiere que todo le funcione, y no solo no tiene idea de cómo se hará, sino que tampoco quiere tener idea. Lo más cerca que el cliente estará del código de su sistema, será cuando le aparezca una pantalla de error que contenga cualquier cadena de texto con por lo menos cuatro o cinco letras y o números que no podrá reconocer como una palabra en su propio idioma, y eso implica que tampoco será capaz de recordar siquiera cuales eran esas letras cuando el programador le pregunte "¿Que decía la pantallita con el error?"...
Un cliente seguro se sentará frente a nosotros con ideas talvés brillantes para su sistema de gestión, y hasta demostrará que conoce a la perfección su negocio al proponer herramientas que hagan las cosas más interesantes e increíbles que se hayan visto, pero lo que sí es seguro, es que no tiene idea de la dificultad que representa en realidad el implementar esas ideas, y además, probablemente haya mencionado algún concepto de forma vaga (a pesar de estar seguro de que está clarísimo para él mismo) y crea que en realidad sabe qué es lo que necesita, aunque nosotros nos demos cuenta de que en verdad no tiene la más remota idea de qué es.
Muchos clientes no tendrán palabras para expresar lo que desean y tratarán de utilizar analogías del mundo real, lo cual no es una mala táctica, siempre y cuando dicha analogía sea aplicable y su resultado sea consistente en cuanto al efecto que se desea lograr. Este tipo de situaciones pueden incluso ser útiles como termómetro para medir la temperatura del cliente durante la fase de desarrollo, si es que nos tardamos más de la cuenta en proveerle una respuesta satisfactoria. Si en lugar de usar hábiles metáforas utiliza eufemismos, talvés sea un buen momento para tratar de cambiar el rumbo de la conversación.
La realidad es que los clientes no siempre tienen la razón. Ese equívoco del marketing y de los negocios no vá muy bien con la informática. Es una verdad tan absoluta como que no se necesita ser un excelente técnico para ganar mucho dinero en la informática. Solo hace falta saber venderle a un cliente algo que supuestamente le resolverá todos sus problemas.
Y ahí parece residir el meollo de la cuestión. El cliente no sabe qué es lo que quiere en realidad, por lo menos no en términos técnicos claros y bien definidos, pero lo que sí quiere es algo que resuelva sus problemas. No importa si basamos nuestra estrategia en conceptos como alta calidad, vanguardia tecnológica, diseño de última generación o técnicas estandarizadas, el resultado debe solucionar los problemas del cliente, y eso es muy dificil de lograr. A veces pueden pasar meses antes de poder llegar a encontrar los problemas reales que el cliente tiene, y muchas veces, cuando lo encontramos nos damos cuenta de que derivan siempre del factor humano, y no de las computadoras, ni de la infraestructura informática que cliente posée.
La resistencia al cambio y a lo nuevo está marcado a fuego en el ADN de los usuarios. Lucharán con eso hasta el cansancio y tratarán de boicotear cualquier intento de que la nueva implementación tenga éxito. No importa si es mejor, si es más rápido o si es más nuevo, es diferente, y solo por eso, se merece el odio acérrimo de quienes deberían utilizarlo. En las multinacionales, el usuario tiene que adaptarse, pero en las pequeñas empresas, suele ser al revés, y de hecho, los usuarios terminan teniendo más poder que el dueño, que es quien paga los sueldos y también intenta mejorar la gestión de su empresa implementando el nuevo sistema en cuestión.
Pero esto se vá del tema. La realidad es que el gerente/director/encargado o quien sea que adquiere el sistema, no sabe cómo funciona ni sabe que es exactamente lo que quiere, pero una cosa es clara, quiere una solución definitiva e inmediata a sus problemas, aunque no sepa expresarla de forma que un técnico capaz de implementarla lo entienda.
Si tan solo yo también supiera cual es esa solución, ya mismo me pondría a producirla...
CTRL+S
1 comentario:
Este post me parecio mejor que todas las clases de Introduccion a la Ingenieria de Software que haya concurrido.
Tal cual...
exit(0);
Publicar un comentario