Software Entropy
This is a blog about the decay of software - and how to prevent it. Wikipedia has a detailed explanation of entropy. In short, in can be summarized as
Keep in mind the initial implementation of software is just one of many cost factors. The operation of unstable systems, fixing bugs during production, difficult addition of features to the software adds substantially to the total cost of a system over its lifetime.
This is why fighting software entropy is important.
- Entropy is a measurement of the degree of disorder in a system. Higher entropy means less order.
- When two systems of different entropy adjust to each other, the total amount of entropy increases.
- The decay of software is an inherent process. Requirements change during implementation, features get added that don't quite fit the original architecture, "quick and dirty" fixes are introduced, and people are following different coding philosophies.
- If left alone things will get worse. It requires energy in the form of reviews, redesign, and refactoring to fight the decay.
- If the environment does not provide rules and guidance, the software will adapt to this low standard.
Keep in mind the initial implementation of software is just one of many cost factors. The operation of unstable systems, fixing bugs during production, difficult addition of features to the software adds substantially to the total cost of a system over its lifetime.
This is why fighting software entropy is important.


0 Comments:
Post a Comment
<< Home