Novel Contributions of the Independent Variation Principle
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:
- Frequency
- Magnitude
- Predictability
- Control
- Scope
- 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