archivo

Archivos diarios: septiembre 11, 2011

No debería ser así porque realmente no hay nada que justifique que el software se tenga que ir deteriorando conforme se van realizando tareas de mantenimiento con el mismo. Sin embargo todos estamos hartos de ver gráficas con el número de errores de un software que llegado a un punto empiezan a crecer de nuevo de manera lenta, pero continua.

Algunos de los motivos pueden ser los siguientes:

– El software desarrollado tiene una importante deuda técnica lo que complica las tareas de mantenimiento.

– Se dispone de poco tiempo para poder realizar mantenimientos correctivos o evolutivos por lo que la consecuencia es eliminar el problema cuanto antes, lo que da lugar a parches que solucionan el problema pero incrementan la deuda técnica del producto.

– El software no para de crecer en funcionalidades incrementándose su complejidad.

Sobre el deterioro del software, Weinberg tiene la siguiente reflexión: «No hay un código tan grande, retorcido o complejo que el mantenimiento no puede empeorar».

De igual manera que nos gusta escuchar cosas positivas sobre nosotros y sobre nuestro trabajo, debemos estar preparados para escuchar críticas constructivas y no constructivas sobre el desarrollo y/o resultado de nuestras tareas.

Es posible que pensemos que hemos realizado un buen trabajo y que nos hemos dejado la piel pero si tenemos al cliente o a los usuarios insatisfechos existirá un motivo que podrá ser más o menos justo, más o menos cierto, pero que resulta interesante conocer. Nuestra evolución profesional parte de saber entender y aceptar nuestros errores, aprender de ellos para intentar que en circunstancias similares no vuelva a ocurrir o, al menos, no vuelva a ocurrir de la misma forma.

En el desarrollo de software necesitamos de ese feedback, para conseguir una ejecución mejor del proyecto en el que estamos inmersos ahora o para mejorar de cara a un futuro. El usuario debe guiarnos hacia lo que realmente quiere y para ello debemos escucharles y aunque pensemos que no llevan razón, analizar lo que nos están diciendo, a veces con tiempo suficiente se entienden cosas que a simple vista no están tan claras.

En cuanto a las empresas de desarrollo de software es fundamental para ellas conocer al cliente, a las personas que tienen responsabilidad en la contratación de proyectos informáticos, en conocer qué le ha gustado y qué ha podido ser mejorable. Si se siguen repitiendo los mismos errores por no creer que la opinión del cliente es importante, probablemente tengamos que buscar otras alternativas.

Es importante tener esa información, aunque incluso las cosas hayan terminado tan mal con el cliente que no se quiera volver a trabajar con él (decisión del proveedor) porque serán raras las ocasiones donde una de las partes tenga la razón al 100% y si es posible determinar qué hemos hecho mal o en qué se puede mejorar, tendremos a nuestra disposición más conocimiento de cara a un futuro.

¿Cómo valoras las opiniones de los usuarios y/o del cliente?, ¿te dan igual?, ¿las aprovechas para intentar mejorar?, ¿piensas que no te pueden enseñar nada?.

Con respecto a esta última pregunta se piensa en muchas ocasiones de manera errónea que hay determinados tipos de personas o de perfiles que no te pueden enseñar nada porque eres un experto en tal o cual materia y/o en tal o cual tecnología, pues bien, si piensas eso el tiempo te enseñará que te equivocas a la vez que habrás perdido oportunidad de mejorar determinadas tareas, proyectos, etc… si hubieras prestado una mayor atención y respeto a tu interlocutor.

La diferencia entre hacerlo bien y simplemente hacerlo es cuestión muchas veces de dedicar algo más de esfuerzo. Quien es capaz de recorrer esa milla extra tendrá una importante ventaja competitiva con respecto a los demás.

Y el premio suele ser siempre muy superior al esfuerzo, tal vez no se consiga a corto plazo, pero al final siempre se recoge lo que se siembra, tanto para bien como para mal.

Hay una cita anónima que refleja una paradoja que a la mayoría nos ha pasado y que nos hace pensar en ese tiempo de más que podríamos haber dedicado y que podría haber evitado tener que repetir totalmente o en parte una tarea: «¿Por qué nunca tenemos tiempo para hacerlo bien pero siempre se tiene tiempo para hacerlo de nuevo?».