Skip to main content

Context Erosion

Definition

Context Erosion refers to dynamics in which changes accumulate without assumptions or reasons for decisions being shared, resulting in situations where the state of software cannot be explained being repeatedly observed.

Dynamics

  • Situations are observed where decisions and changes are made based primarily on local assumptions at that time
  • Assumptions and reasons do not remain as structure and are consumed as implicit knowledge
  • With passage of time, the location of the source of truth and decision criteria become unclear

Observable Signals

  • Situations are observed where the reasons why that implementation or behavior exists cannot be explained
  • Explanations of "it has been that way since long ago" are increasing
  • States are observed where it cannot be identified whether the source of truth lies in specifications, design, or implementation

Amplifying Conditions

This dynamic tends to strengthen when the following conditions overlap.

  • Frequency of change is high and time to confirm assumptions is not secured
  • Decisions and agreements do not remain as records or structure

What This Is Not

  • This does not aim to increase the amount of documentation
  • This does not recommend specific development methodologies or processes
  • This does not seek improvement dependent on individual memory or attentiveness

Consequences

  • Situations continue where the source of truth for data, state, and responsibility cannot be identified, and ways of breaking become fixed
  • Requirement Analysis is treated as retrospective speculation, and reproducibility of decisions declines

Connections