Research / Software Architecture and Sustainability

Legacy-First Design (LFD): A Temporal Approach to Software Sustainability

Context

Legacy-First Design (LFD) is a conceptual software architecture methodology that treats time as a primary design constraint. It distinguishes between permanent elements, which preserve the identity and essential behavior of a system, and transient elements, such as frameworks, databases, protocols, and infrastructure, which must remain replaceable. Through six fundamental principles, LFD proposes that software should preserve meaning, resist technological obsolescence, evolve without losing its identity, remain understandable to future maintainers, and continue to make sense during prolonged periods without maintenance. Rather than replacing established approaches such as Clean Architecture, Domain-Driven Design, or Hexagonal Architecture, LFD provides temporal criteria for deciding what must endure and what may change.

Published Exploratory
Legacy-First Design symbol representing architectural continuity and software sustainability over time.

Problem

Contemporary software architecture is frequently shaped by immediate delivery pressure, technological trends, temporary organizational constraints, and the popularity of particular frameworks. These forces may help teams produce functional systems quickly, but they also encourage architectural decisions whose consequences become visible only after years of maintenance.

This short-term orientation creates what Legacy-First Design describes as a crisis of transience. Systems gradually accumulate excessive coupling, lose their conceptual identity, become dependent on undocumented human knowledge, and eventually require destructive rewrites. In many cases, the underlying problem is not simply outdated technology or accumulated technical debt. It is the absence of an explicit distinction between the parts of the system that must endure and those that are expected to change.

Established architectural approaches provide valuable mechanisms for modularity, separation of concerns, domain modeling, and dependency inversion. However, they do not always treat time, maintenance discontinuity, technological obsolescence, and eventual abandonment as primary architectural variables.

LFD addresses this gap by asking a different question: what must remain coherent when the original technologies, teams, assumptions, and creators are no longer present?

Hypothesis / central idea

Every software system is a temporal artifact. It moves through different technologies, teams, organizational structures, and maintenance conditions, often surviving far beyond the context in which it was originally created.

The central proposition of Legacy-First Design is that long-term architectural coherence depends on explicitly separating permanence from transience. Permanent elements represent the system’s essential meaning, rules, and identity. Transient elements represent replaceable technological and infrastructural decisions. When these two categories are mixed, technological change propagates into the system’s conceptual core and produces temporal coupling, architectural degradation, and loss of identity.

LFD therefore proposes that architectural decisions should be evaluated according to what must endure, not only according to what is convenient to implement today. A system designed around this distinction should be able to evolve through additive change, preserve its core behavior, remain understandable across generations of maintainers, and continue to make conceptual sense even after prolonged abandonment.

Architecture

LFD organizes architectural reasoning around a temporal distinction rather than a prescribed technical topology.

At the center of the system is a small, deterministic, and self-explanatory core. This core contains the system’s essential behaviors, domain meaning, invariants, and conceptual identity. It must not depend directly on frameworks, databases, protocols, infrastructure providers, or other technological mechanisms.

Around the core is a transient periphery composed of adapters, persistence technologies, user interfaces, integrations, communication protocols, frameworks, and infrastructure. These elements may evolve or be replaced without redefining the system’s essential meaning.

The relationship between these regions is governed by six principles:

  1. Core Centrality — The system must possess an explicit nucleus that concentrates its essential and permanent behavior.

  2. Separation of Permanence and Transience — Permanent elements must be protected, while transient elements must remain isolated and replaceable.

  3. Evolution by Addition, Not Substitution — New behavior should preferably be introduced without destroying established behavior or rewriting the system’s identity.

  4. Technological Independence of the Core — The core must remain independent of frameworks, databases, protocols, and infrastructure.

  5. Transgenerational Readability — Architectural intent must remain understandable to people who did not participate in the system’s creation.

  6. Survival in Abandoned State — The system must remain operationally and conceptually intelligible even during prolonged periods without active maintenance.

LFD does not prescribe specific folders, layers, programming languages, or deployment models. Its role is to determine what must be protected over time; existing architectural patterns can then provide the mechanisms used to implement that protection.

Legacy-First Design diagram separating the permanent system core from replaceable technologies and infrastructure, governed by six principles for long-term architectural sustainability.
Architecture

Methodology

Legacy-First Design adopts a conceptual and normative methodological approach. It does not introduce an implementation framework, programming paradigm, performance optimization technique, or empirically validated development process. Instead, it synthesizes recurring failure patterns observed in long-lived software systems and translates them into decision-oriented architectural principles.

The method begins with three assumptions:

  1. Architectural decisions accumulate consequences that become increasingly difficult to reverse over time.

  2. Long-term software degradation is frequently structural and conceptual rather than exclusively technical.

  3. Abandonment and maintenance discontinuity are predictable states in the lifecycle of many software systems.

Based on these assumptions, LFD introduces an Axis of Permanence that classifies system elements according to two categories:

  • Permanence: domain meaning, essential behavior, invariants, and concepts that must survive.

  • Transience: frameworks, databases, protocols, interfaces, infrastructure, and other replaceable technical mechanisms.

Architectural decisions are then constrained by six principles: Core Centrality; Separation of Permanence and Transience; Evolution by Addition, Not Substitution; Technological Independence of the Core; Transgenerational Readability; and Survival in Abandoned State.

The methodology operates before the selection of specific patterns or technologies. It can therefore be used alongside layered, hexagonal, domain-driven, service-oriented, or other architectural approaches, provided that those structures respect its temporal constraints.

Evidence

The current evidence for Legacy-First Design is conceptual and analytical rather than experimental. The methodology synthesizes recurring failure modes associated with long-lived software systems, including excessive coupling, technological lock-in, destructive rewrites, loss of domain meaning, dependence on tribal knowledge, and conceptual collapse after maintenance discontinuity.

Its principles are positioned comparatively alongside established architectural approaches. Clean Architecture provides mechanisms for protecting business rules through dependency inversion; Domain-Driven Design supports preservation of domain meaning; Hexagonal Architecture isolates the core through ports and adapters; technical-debt research examines the deferred cost of short-term decisions; and evolutionary architecture studies controlled adaptation over time.

LFD builds upon concerns shared by these approaches but introduces time as the primary criterion for architectural classification and decision-making. Its present support therefore rests on internal conceptual coherence, compatibility with established architectural theory, and its applicability to recognizable long-term failure patterns.

The work does not claim controlled empirical validation, quantitative performance gains, productivity improvements, or longitudinal proof. Case studies, comparative implementations, practitioner evaluations, and long-term measurements remain necessary to evaluate its practical effectiveness.

Limitations

  • No controlled empirical validation
  • No longitudinal case studies
  • Reliance on practitioner judgment
  • Potential ambiguity when classifying permanence
  • Context-dependent applicability
  • No quantitative architectural metrics
  • Not intended for disposable prototypes
  • May increase initial design effort

Open questions

  1. How can permanence and transience be classified consistently?
  2. Can temporal architectural coherence be measured?
  3. How does LFD affect long-term maintenance cost?
  4. How can LFD principles be tested through longitudinal studies?
  5. Which architectural fitness functions could evaluate LFD compliance?
  6. How should an LFD core evolve when the domain itself changes?
  7. How does LFD perform across different organizational contexts?
  8. What tooling could detect temporal coupling automatically?