Skip to content

Modular Decomposition

How you divide a system determines how it can evolve; decomposition criteria (by function, by data, by change frequency) shape all subsequent decisions

Tension Addressed

Anticipation vs. YAGNI

Recognizable As

Module boundaries that align with team boundaries; components that can be understood in isolation; clear criteria for what belongs where; the question "where does this new code go?" having obvious answers

Canonical Sources

Parnas, "On the Criteria for Decomposing Systems into Modules" (1972); Conway, "How Do Committees Invent?" (1968)

Transfers To

Organizational Design (Conway's Law), Manufacturing (assembly decomposition), Writing (chapter structure), Product Management (feature breakdown)

Sub-concepts: - Functional decomposition: By what the system does (verbs) - Data decomposition: By what data lives together (nouns) - Volatility decomposition: By what changes together (Parnas's criterion)