0

Is there a specific term (name of a "metric") that represents the growing level of unstructuredness (or just plain badness) of a s/w component that is caused by too many changes, by too many people, over too long a time interval?

closed as primarily opinion-based by gnat, GlenH7, user40980, Dan Pichelman, Kilian Foth Nov 4 '14 at 13:36

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.

2

Technical debt ?

Technical debt is a recent metaphor referring to the eventual consequences of poor system design, software architecture or software development within a codebase. The debt can be thought of as work that needs to be done before a particular job can be considered complete or proper. If the debt is not repaid, then it will keep on accumulating interest, making it hard to implement changes later on.

But it seems to refer more to bad changes instead of many changes.

1

I have three suggestions:

  • Entropy (but in its physical meaning and not in its information science meaning) As wikipedia says, the term entropy is often used to describe the "measure of disorder of a system". I think the situation you described could also be interpreted as the growing disorder of a software system.

  • Architectural drift which describes that your software architecture is slowly drifting away from the original idea and gets more and more chaotic since new architecture decision are not adjusted to existing ones.

  • Software Erosion Like the geological term this describes that the structure of the whole software systems breaks more and more apart because new features or bug fixes are not integrated well to the system. And beginning from the edges, the whole architecture looses its shape.

  • The thermodynamic and information science meaning of "entropy" are closely connected. The higher the systemic disorder, the more bits it takes to describe the system's state, and the more information it contains. A simple example that ties to the question is duplicate code, such as multiple functions that do essentially the same things or classes that overlap in responsibilities, which increases the total code size. – outis Nov 2 '14 at 5:47
  • That's is definitely a good point and I totally agree, that systems with higher disorder contain more information (no matter if this information is useful or not) and there fore have a higher informational entropy. But on the other way, not all systems with a high information entropy are automatically disordered while systems with a higher physical entropy are. – pgenfer Nov 2 '14 at 14:21

Not the answer you're looking for? Browse other questions tagged or ask your own question.