archivo

Archivos diarios: junio 13, 2011

Hay una reflexión de Martin Fowler que a todos nos resulta muy próxima: “…si tienes miedo de cambiar algo es que está claramente mal diseñado”.

Esto sucede muy frecuentemente cuando tenemos conciencia de que nuestro software está muy acoplado, existe una baja cohesión o las técnicas de codificación difieren mucho de ser buenas (o todas ellas juntas y alguna más).

Un software difícilmente mantenible no es ágil, pero más allá de eso, un software con mucha deuda técnica no resulta rentable.

Se podría entrar en el debate de si es ágil o no prestar atención a la arquitectura y a la codificación, en el sentido de que se puede perder la visión final que no es otra que la de diseñar un producto que satisfaga las necesidades del usuario. Sin embargo ese debate termina, cuando nos podemos encontrar con que la disminución de la mantenibilidad del software hace que el esfuerzo que se tenga que dedicar al desarrollo de cada tarea sea muy superior al que realmente necesitaría y provoque que o bien se alarguen las iteraciones o su capacidad de evolucionar el software se reduzca a mínimos.

Metodologías ágiles como la programación extrema considera fundamental la refactorización porque considera esencial la mantenibilidad del sistema.