ML vs. Traditional Software Modularity

Overview

Traditional software engineering relies on modularity, separating components so developing one doesn’t interfere with others. ML systems resist this pattern in fundamental ways.

Traditional Software Modularity

CharacteristicHow It Works
BoundariesModules interact only through defined APIs
IndependenceOne component’s behavior doesn’t change based on another’s implementation
Conway’s LawTeam structure mirrors system architecture; separate modules → separate teams
ExtensibilityAdd functionality by adding new modules
CompositionCombine modules predictably (A + B = A+B)

ML System (Lack of) Modularity

CharacteristicHow It Differs
EntanglementModels affect each other during training even when code is separate
Hidden dependenciesChanges to one model degrade another through non-obvious pathways
Team couplingSeparate teams must collaborate closely regardless of code separation
Non-extensibilityCan’t easily add capabilities by combining models (English NLP + pizza ordering ≠ pizza-ordering NLP)
Non-monotonic compositionImproving one part can make the whole worse

Key Differences Summarized

DimensionTraditional SoftwareML Systems
Unit of compositionFunctions, modules, librariesModels, data, features
Change propagationExplicit through APIsImplicit through learned dependencies
TestingUnit tests verify isolationSystem tests required; unit tests insufficient
ReuseFork, modify, integrateRetrain, often from scratch
Skills for customizationSame as developmentRequires ML expertise + domain data

When This Matters

  • System architecture decisions (can’t assume module boundaries hold)
  • Team organization (Conway’s Law may not apply)
  • Technical debt estimation (entanglement accelerates debt)
  • Testing strategy (component tests give false confidence)
  • Change impact analysis (improvements can cause regressions)

The Implication

ML systems require different engineering patterns than traditional software. Treating ML components like regular modules creates hidden risks that surface in production.

Related: 05-atom—model-entanglement, 05-atom—non-monotonic-error-propagation