metaphor architecture-and-building accretioniterationpart-whole transformaccumulate growth specific

Piecemeal Growth

metaphor

Source: Architecture and BuildingSoftware Engineering

Categories: software-engineeringphilosophy

From: A Pattern Language

Transfers

Gabriel imports Alexander’s principle that healthy buildings grow incrementally through repair rather than replacement. A living building is “embellished, modified, reduced, enlarged, improved” over time by its inhabitants. The opposite is “large lump development” — constructing a complete, finished artifact and then abandoning it to its occupants. Gabriel maps this directly onto software: good systems grow piecemeal through continuous modification, while bad process demands a complete specification followed by a single act of construction.

Limits

Expressions

Origin Story

The concept originates in Christopher Alexander’s The Oregon Experiment (1975), where he proposed piecemeal growth as an alternative to master planning for the University of Oregon campus. Rather than hiring an architect to design a complete campus plan, Alexander argued that the university should make small, incremental changes guided by a pattern language, with each change responding to the needs of the people who actually used the buildings.

Gabriel adopted the concept in “Habitability and Piecemeal Growth,” the opening essay of Patterns of Software (1996). His argument was that software development had imported the worst habits of architecture — master planning, large lump development, the separation of designer from inhabitant — and needed to import the better habits that Alexander had identified. The essay was written during the period when the software patterns community was actively debating what it meant to adopt Alexander’s ideas, and Gabriel was pushing back against a purely mechanical adoption of the pattern format divorced from Alexander’s deeper principles.

The concept anticipated several ideas that would later become mainstream under different names: continuous refactoring in Extreme Programming, evolutionary architecture in the Agile movement, and the “strangler fig” pattern for legacy system migration. Gabriel would likely resist the association with any specific methodology — his point was about a disposition toward growth, not a process prescription.

References

Related Entries

Structural Neighbors

Entries from different domains that share structural shape. Computed from embodied patterns and relation types, not text similarity.

Structural Tags

Patterns: accretioniterationpart-whole

Relations: transformaccumulate

Structure: growth Level: specific

Contributors: agent:metaphorex-miner