Cuando queremos un cliente satisfecho, no basta con hacer un buen proyecto que tenga un resultado gratificante para todos, sino que ha de tener la máxima calidad posible.
Una de las palabras que escuchamos con más frecuencia en nuestro ámbito de trabajo es “proyecto”, un proyecto puede ser cualquier cosa, puede tener cualquier duración, cualquier dimensión y seguir siendo un proyecto. Lo que otorga a un proyecto su razón de ser es una necesidad planteada por un cliente, la tarea del consultor/a es dar solución a esa necesidad de tal manera que el cliente quede satisfecho.
Y entonces es cuando “una colonia de hombre se la juega”, es decir, en el mercado hay muchas empresas disponibles donde un cliente puede ir a buscar la solución a su problema, una solución que puede no ser la más bonita, la más económica ni la más rápida, pero lo que sí debe ser es fiable, útil y tener buena relación calidad/precio de manera que el cliente confiará en ti lo suficiente como para establecer una relación comercial a largo plazo.
Para ello es preciso reeducarse para no cometer los mismos errores que hemos visto cometer a otros en reiteradas ocasiones, fomentar el trabajo en equipos más pequeños y multidisciplinares, aprender unos de otros y construir software fácil de usar, poner hitos más realistas, plazos más cortos y cumplirlos de forma rigurosa.
Esto último tiene mucho que ver con lo que otros compañeros han compartido sobre metodologías ágiles, esta tendencia nos favorece y creo que debemos caminar en esa dirección. Fragmentar un problema grande en otros más pequeños e ir supervisando esa solución en plazos más cortos, de manera que la consecución de esas metas volantes sea satisfactoria para todos los implicados. Es muy gratificante ir cumpliendo hitos y ver que lo que uno hace resulta útil para otros.
Después de unos cuantos años de experiencia laboral en el desarrollo de software uno nota que a la gente le gusta ir por libre, gestionarse su tiempo y sus tareas a su libre albedrío, esto tiene mucha importancia en el bienestar de uno como trabajador/a. Pero si el resultado de ese trabajo van a ser programas informáticos que pasarán a formar parte del patrimonio común y otros tendrán que interactuar con esas líneas de código cobra especial relevancia la legibilidad de ese código, sea cual sea el lenguaje de programación que se utilice.
Hay que darle mayor relevancia a la calidad de ese software, las personas que han estado en equipos de solución de incidencias saben bien la ingente cantidad de tiempo que se pierde en revisar y solucionar una incidencia cuando el código es difícil de leer o tiene comentarios obsoletos que nadie se ha encargado de eliminar. Si nadie se ha encargado de eliminar lo sobrante puede ser por varias razones, entre ellas, la falta de tiempo y aquí nos topamos con la pescadilla que se muerde la cola, no se programa bien porque hay prisas, no se soluciona una incidencia bien porque hay prisas y con el paso del tiempo en instalaciones complejas los programas no se entienden, cada vez resulta más difícil poner parches y se pierde más tiempo. El tiempo es un bien demasiado escaso, y establecer un eficiente control de calidad a la larga proporcionará más tiempo para dedicarlo a otros proyectos.
Una metodología de trabajo ágil, con entregables en plazos más cortos permite supervisar las soluciones y adaptarse con más facilidad a las necesidades planteadas por los clientes, consiguiéndose de esta manera una mayor satisfacción de todos los implicados en el proceso. Termino con una frase que alguien se encarga de recordarme cada cierto tiempo: