Entropía del software
# Entropía del software

La entropía del software es la medida de desorden del software que refleja la complejidad de su mantenimiento. Ya que a medida que se hacen modificaciones o se agrega nuevo código este va perdiendo su estructura inicial y aumenta su entropía.

En un trabajo sobre Ingeniería de software por Ivar Jacobson y otros describe la entropía del software como sigue:

    La segunda ley de la termodinámica, en principio, afirma que el desorden de un sistema cerrado no puede reducirse, sólo puede permanecer sin cambios o aumentar. Una medida de este desorden es la entropía. Esta ley también parece plausible para los sistemas de software; Cuando un sistema es modificado, su desorden o entropía, tiende a aumentar. Esto es conocido como entropía del software.
    En desarrollo de software, hay teorías similares; ver a Lehman (1985), quien propuso una serie de leyes, de los cuales dos eran, básicamente, como sigue:
   * Un programa de computadora que es usado se modificará

   * Cuando un programa es modificado, su complejidad aumentará, siempre que no se trabaje activamente en contra de esto.

Andrew Hunt y David Thomas utilizan la metáfora reparando ventanas rotas de criminología para evitar la entropía del software en el desarrollo de software.

El proceso de refactorización de código puede reducir gradualmente la entropía del software.

