Data Dependencies Cost More Than Code Dependencies
Code dependencies can be identified via static analysis, compilers and linkers make the dependency graph explicit. Data dependencies have no equivalent tooling.
Without static analysis for data dependencies, it’s inappropriately easy to build large dependency chains that become difficult to untangle. The dependencies exist, but they’re invisible to standard development workflows.
This invisibility makes data dependencies more dangerous than code dependencies. You can’t pay down debt you can’t see. You can’t test what you don’t know exists. You can’t migrate what you haven’t mapped.
The implication: investing in tooling that makes data dependencies visible, annotation systems, automated dependency tracking, explicit data contracts, pays dividends that far exceed similar investments in code dependency management.
Related: 04-atom—unstable-data-dependencies, 04-atom—underutilized-data-dependencies, 05-molecule—ml-technical-debt-taxonomy