Software entropy

From Infogalactic: the planetary knowledge core
Jump to: navigation, search

<templatestyles src="Module:Hatnote/styles.css"></templatestyles>

A work on software engineering by Ivar Jacobson et al. [1] describes software entropy as follows:

The second law of thermodynamics, in principle, states that a closed system's disorder cannot be reduced, it can only remain unchanged or increased. A measure of this disorder is entropy. This law also seems plausible for software systems; as a system is modified, its disorder, or entropy, always increases. This is known as software entropy.
Within software development, there are similar theories; see Lehman (1985),[2] who suggested a number of laws, of which two were, basically, as follows:
  1. A computer program that is used will be modified
  2. When a program is modified, its complexity will increase, provided that one does not actively work against this.

Andrew Hunt and David Thomas use Fixing Broken Windows as a metaphor for avoiding software entropy in software development.[3]

The process of code refactoring can result in stepwise reductions in software entropy.

Software entropy is increased with accumulation of technical debt.

See also

References

  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. Lua error in package.lua at line 80: module 'strict' not found. – Item 4 (of 22 tips) is Don't Live with Broken Windows.

<templatestyles src="Asbox/styles.css"></templatestyles>