expand-and-contract
Replace a system with Parallel Change, also called Expand and Contract. Build the new structure beside the old one, migrate existing usages, then delete the old structure. A later slice waits until production has reached its checkpoint. An additive migration must be in production before code that uses the new schema deploys. A version that has stopped using the old schema must be the running version before a destructive migration removes it. Use when yak-shave has confirmed the capability set and the interface, or when the user asks for parallel change or expand-and-contract and that set is already decided. Do not use to choose which capabilities to retain, retire, or introduce (yak-shave), to harden a sound architecture (fix-loop), to choose among greenfield designs (design-space-exploration), or to release or deploy.
Pinned to revision ed733709214f, so it is the text this page describes rather than whatever the author pushed since.
Files
Every link opens the file at its source, pinned to the revision this page describes.