jueves, mayo 29, 2008

Refactorización

Degraciadamente, en según qué ambientes, el concepto de refactorización está condenado al fracaso desde su misma base, su propia definición:

In brief, refactoring is the gradual improvement of a code base by making small changes that don’t modify a program’s behavior, usually with the help of some kind of automated tool.

("Brevemente, la refactorización es la mejora gradual del código fuente por medio de pequeños cambios que no modificar el comportamiento del programa, normalmente con la ayuda de algún tipo de herramienta automatizada")

Desde el punto de vista técnico, la idea es estupenda. Mejorar el código sin modificar el comportamiento del programa ¡Eureka! Desde el punto de vista de gestión, la idea es indefendible. Mejorar el código sin modificar el comportamiento del programa ¡Herejía!

— ¿Quiere eso decir que el usuario no va a obtener ningún valor añadido por la inversión en tiempo que vas a realizar?— dijo el jefe. [N. del T.: "Eso suena a que estás perdiendo el tiempo."]

— Sí, bueno, o sea, no, quiero decir que el usuario no va a obtener nada nuevo, sólo que cuando en el futuro pida algo nuevo, nos resultará más fácil adaptar el sistema.— contestó el ingeniero, mientras pensaba: "Mejor no te digo nada de aumento de la entropía del sistema, o pensarás que estoy más loco de lo que estoy de verdad".

— Ya... Esto... Verás, creo que es más importante que te dediques a tareas que incrementan el valor que el usuario obtiene de tu trabajo. Luego, cuando haya tiempo, te dedicas a "mejorar"— argumentó el jefe. [N. del T.: "Deja de mamonearme y ponte a currar de una vez"]

— Es que si no mejoramos ahora, cada vez será más difícil hacerlo después. Aunque el usuario no lo vea, las modificaciones mejoran nuestro tiempo de respuesta en el futuro, y con ello su satisfacción.— el ingeniero intentaba contraatacar, usandotérminos sencillo que pudiera entender.

— Mira, es mejor que te dediques a proporcionar valor al usuario.— sentenció el jefe [N. del T.: "Que te calles, chitón, shhh, www.shhh.com..."]

— Lo que digas. [N. del T.: "Haré lo que considere necesario para facilitar mi trabajo y evitar que el sistema llegue a un estado de parálisis funcional"]

¿Y tú? ¿Refactorizas?

¿Y lo sabe tu jefe?

No hay comentarios: