Ir al contenido principal

La ley del boyscout

Hoy leí un texto que compartió Diego Ocampo que me pareció excelente y lo comparto acá:

"A menos que seamos extremadamente cuidadosos la entropía siempre hará que la calidad del software se degrade con el tiempo. Quizás pensemos que tenemos cosas más importantes que hacer que modificar esta clase o esta función y salgamos del paso con un pequeño hack. Es posible que no recordemos muy bien cómo funcionaba el sistema, y que añadamos complejidad innecesaria con nuestros cambios. O que el código nos cause tal sentimiento de repulsión, que no nos importe ejercer un cierto vandalismo casi deliberado contra él.



Sea cual sea la razón, la principal receta contra la entropía es la que siguen los boy scout a la hora de acampar.

Deja siempre el campamento más limpio de como lo encontraste

No se trata de que refactorices toda la aplicación hasta que se ajuste totalmente a tu ideal de perfección. Basta con que intentes dejar cada archivo que abras mejor de como lo encontraste. Formatea el código, añade un comentario, extrae una función o renombra una variable. Todo pequeño gesto contribuye a que el software que mantenemos no se degrade, y que, incluso, mejore con el tiempo." Fuente (al menos donde yo encontré el original).

Aplicado al software, la tecnología/herramientas (GeneXus, KBDoctor, etc) ayudan, pero al final del día creo que se trata de la "actitud". Sin la actitud correcta no hay herramienta, tecnología ni nada que valga.

A su vez, con la actitud correcta aplica en todos los contextos que puedan imaginar, hayan o no herramientas que ayuden a ello: el jardin, la casa, la familia, los amigos, en fin...se podría escribir mucho de ello.

En cualquier caso a mi me hizo acordar a una frase que suelo usar: "¡Sonría! aunque no lo estén filmando".

 

 

 

Comentarios

Publicar un comentario

Entradas más populares de este blog

Abrir links con aplicaciones nativas y no el browser (deeplinking)

El problema que tengo con algunas aplicaciones Android/iOS es que cuando recibo un link por algún medio (mail, tweet, etc) al abrirlo me lo abre con el browser, en lugar de abrirlo con una aplicación nativa asociada a ese “contenido”. Por ejemplo, si recibo un link a un tweet espero que lo abra con alguna aplicación de twitter que tenga instalada y no con el browser. De modo análogo si recibo un mail con una nota de prensa de un medio X y tengo la aplicación de ese medio X instalada, espero que el link lo abra con la aplicación nativa y no con el browser. Lo mismo quisiera con mi aplicación de "banking" o cualquiera que tenga instalada y sepa manejar ese "contenido" (link). Los motivos son bastante obvios pero los resumo en: la experiencia de usuario es mucho mejor en la aplicación nativa que en el navegador. Parte importante del tema es que el mismo link sea válido tanto para ver el contenido en el browser como para verlo en la aplicación, porque como prove...

Sobre plomeros y sanitarios

Hace unos días estaba en casa de mi madre, quien sigue viviendo en la ciudad donde yo nací (Florida-Uruguay), cuando sonó el timbre. Fui a atender y me encontré con Martín, un ex compañero de liceo que hacía años no veía. Luego de preguntarle cómo andaba y el saludo de rigor, le pregunté que estaba haciendo por allí y me dijo "estoy trabajando aquí", ahí noté que venía con baldes y herramientas y recordé que es hijo del plomero que toda la vida trabajó en mi casa. El baño de mi madre estaba con problemas en la presión de agua así que llamó al plomero "tradicional" y este le comentó que estaba retirado pero que enviaría a su hijo. Allí pues estaba Martín. Es interesante encontrarse con compañeros de escuela/liceo que uno no ve hace muchos años, da para otro post seguramente. La cuestión es que seguimos conversando mientras él trabajaba. Le pregunté por el padre y me dijo que estaba bien pero ya medio cansado del trabajo y que nunca se había podido adaptar a los cambi...

4 Pasos para la toma/ejecución de decisiones

(Habia escrito toda una argumentación pero me quedó muy largo así que vamos al grano) En algunas situaciones me pasa que se mezcla la toma de decisiones con su, necesariamente posterior, ejecución y termina en un desastre porque se implementa lo que no se decidió o no se implementa lo que sí se decidió, etc. Sobre todo pasa cuando se trabaja en equipo y para algunos se está en la etapa de decisión, para otros en ejecución y en cierto modo eventualmente se está resolviendo un problema del cual estamos cambiando la letra o por lo menos dudando de ella. En resumen: decisión y ejecución van de la mano. No significa que la ejecución sea inmediata ni esté perfectamente detallada, que no cambiemos la decisión una vez que estamos ejecutando, pero si no van de la mano suenan a las decisiones de "año nuevo" (comer mejor, hacer más deporte, etc). Hay mucho escrito sobre buenas decisiones, proceso para eso, proceso de planificación, ejecución, seguimiento, actores a involucrar, ...