Leyes de Lehman (evolución del software)
Manny Lehman · 1974
«Un programa en uso debe cambiar continuamente o se vuelve progresivamente menos útil; y al cambiar, su complejidad crece salvo que se trabaje en reducirla.»
Qué significa
El software vivo no se «termina»: el mundo a su alrededor cambia (leyes, formatos, usuarios, sistemas vecinos) y lo arrastra. Cada cambio añade complejidad, y la complejidad encarece el siguiente cambio: sin limpieza deliberada (refactorización), todo sistema envejece hacia el punto en que tocar cualquier cosa rompe otras tres.
En la vida real
El programa de contabilidad «acabado» en 2010 necesitó cambios por cada reforma fiscal, cada versión de Windows y cada formato de banco: hoy nadie se atreve a tocarlo. No se estropeó: envejeció según Lehman.
🕹️ Ábrela en el atlas interactivo (con simulador)