The Independent Variation Principle (IVP)
Description
Software maintenance consumes up to 90% of lifecycle costs, yet the architecture community lacks a unified theoretical foundation. This article introduces the Independent Variation Principle (IVP): separate elements that vary independently; unify elements that vary dependently. IVP provides a causal framework grounded in change drivers rather than structural properties. I formalize IVP through two directives that establish when software structures properly align with independent sources of variation.
I demonstrate IVP as a meta-principle from which established guidelines emerge. Through logical reasoning, I show that SOLID principles, Package Principles, Information Hiding, Law of Demeter, and Separation of Concerns can be derived from IVP within their respective scopes. This reveals that systems evade complexity when structure aligns with the causal structure of change drivers, which are independent variation sources that partition the relevant causal domain knowledge.
The central contribution is the Knowledge Theorem: maximal causal cohesion equals complete and pure embodied relevant causal domain knowledge. The Knowledge Theorem establishes cohesion as fundamentally epistemic, measured through three complementary dimensions: structural purity, structural completeness, and semantic completeness. A module exhibits maximal cohesion when it embodies complete relevant causal knowledge with no accidental impurities: nothing relevant missing, nothing irrelevant included. Some modules necessarily embody multiple change drivers (adapters, dependency inversion implementations), yet they remain IVP-compliant when all drivers are necessary for their purpose. Architecture is fundamentally knowledge organization.
I provide a systematic five-step method for applying IVP to architectural decisions, with worked examples across multiple dimensions including module structure, error handling, API versioning, and deployment boundaries. I also examine IVP’s organizational implications, proposing a revised model of professional roles grounded in IVP’s theoretical framework.
Through concrete examples (Dependency Inversion, immutability, recursion versus iteration, inheritance versus composition), I demonstrate IVP’s applicability across granularities from expression-level design to system-level decomposition. This transforms architecture from intuition to systematic discipline grounded in causal epistemology.
Files
loth2025-ivp.pdf
Files
(1.5 MB)
| Name | Size | Download all |
|---|---|---|
|
md5:589a35cc2d37d93a53549bd342edfa7c
|
1.5 MB | Preview Download |
Additional details
Additional titles
- Subtitle (English)
- A Unifying Meta-Principle for Software Architecture
Dates
- Available
-
2025-11-22