Novel Contributions of the Independent Variation Principle

Published: (December 16, 2025 at 06:00 PM EST)
4 min read
Source: Dev.to

Source: Dev.to

The Independent Variation Principle (IVP)

Structural definition

Separate elements with different change‑driver assignments into distinct units; unify elements with the same change‑driver assignment within a single unit.

The Novel Contributions

The Foundation

This layer recognizes the reality: the Partition Property grounded in Decisional Authority.

1. The Partition Property

Previous principles say “separate concerns” but don’t specify how concerns relate to each other. IVP establishes that independent change drivers partition domain knowledge: they are disjoint (no overlap) and exhaustive (no gaps). Every piece of knowledge belongs to exactly one driver; if it seems to belong to two, either the drivers aren’t truly independent or the knowledge needs to be split.

2. Grounding in Decisional Authority

Earlier principles ground separation in technical criteria (information hiding), predicted change (encapsulate what varies), or vague “responsibilities” (SRP). IVP grounds separation in observable organizational reality: who has the authority to request changes? This shifts from speculation about future technical evolution to mapping existing decision structures—something that can be discovered through stakeholder interviews, not predicted through technical intuition.

The Logic

This layer provides the rules: the Biconditional, the 1/n Purity scale, and the focus on causal relationships over structural ones.

3. The Biconditional (IVP‑1 + IVP‑2)

Most principles focus on separation: “don’t put different things together.” IVP adds the equally important unification directive: “do put same things together.” The biconditional—elements share a module if and only if they share change drivers—is stronger than either directive alone. It prohibits both over‑separation (scattered concerns) and under‑separation (mixed concerns).

4. Causal vs. Structural Cohesion

Traditional cohesion metrics are structural: do these elements access the same data? Call the same functions? IVP introduces causal cohesion: do these elements change for the same reason? Two elements with identical structural properties may have completely different causal relationships. This distinction is invisible to static analysis but fundamental to maintainability.

5. The Discrete Nature of Purity

IVP reveals that cohesion isn’t continuous. A module with one change driver has purity 1; with two drivers, purity drops to 1/2; with three, to 1/3. Even a small contamination (e.g., 1 % foreign knowledge) halves structural purity. This discreteness explains why architectural debt compounds: the first violation is disproportionately costly.

The Action

The function of this layer is the construction: deriving elements from knowledge and distinguishing necessary from accidental impurity.

6. Necessary vs. Accidental Impurity

IVP doesn’t require all modules to have exactly one change driver. Adapters, bridges, and coordinators legitimately serve multiple drivers. The question is whether each driver is necessary for the module’s purpose. This distinction—between modules that are impure by necessity and those that are impure by accident—resolves apparent counterexamples to single‑responsibility thinking.

7. Derivation of Elements from Knowledge

Elements are not invented arbitrarily; they are derived from the partition structure of domain knowledge. For each change‑driver’s knowledge partition, create elements that embody all knowledge in that partition. This grounds software structure in domain structure.

The Evaluation

The function of this layer is the optimization: the Objective Function. It prioritizes debt and measures knowledge hygiene.

8. The Six Dimensions for Prioritization

IVP provides a framework for deciding which separations matter most:

  1. Frequency
  2. Magnitude
  3. Predictability
  4. Control
  5. Scope
  6. Authority distance

Not all IVP violations are equally urgent. This transforms IVP from a binary judgment (“compliant or not”) into a prioritized improvement roadmap.

9. The Knowledge Theorem

IVP establishes a formal connection between knowledge organization and architectural quality:

  • Cohesion measures how completely a module embodies its concern’s knowledge.
  • Coupling measures how much foreign knowledge has leaked in.

Thus “good architecture” becomes a matter of knowledge hygiene rather than aesthetic preference.

The Result

This layer concludes with the grand unification: the convergence of all prior principles (Information Hiding, SOLID, DDD, etc.).

10. The Unification of Prior Principles

IVP shows that Information Hiding, SRP, OCP, ISP, DIP, package‑architecture principles, DDD bounded contexts, GoF patterns, EIP patterns, and more are all instantiations of a single underlying principle. They aren’t independent guidelines to be balanced against each other; they’re different perspectives on the same truth. Applying IVP lets the others follow automatically.

Learn More

This article applies the Independent Variation Principle framework from:

Loth, Y. (2025). The Independent Variation Principle. Zenodo.
https://doi.org/10.5281/zenodo.17677316

Back to Blog

Related posts

Read more »