---
id: expand
requestedLanguage: en
descriptionLanguage: en
---

# Parallel Change / Expand–Contract

- Type: migration technique
- Group: Evolving existing code
- Placement: Changing an existing system
- [Source](<https://martinfowler.com/bliki/ParallelChange.html>)

[HTML](https://dpm.cnonim.name/practices/expand/)

Add a new interface → migrate consumers → remove the old interface.

## Relationships

- can be combined with: [Branch by Abstraction](/practices/abstraction/en.md) (combination)
- helps change APIs during: [API-first design](/practices/api/en.md) (support)
- helps preserve: [Backward Compatibility](/practices/compatibility/en.md) (support)
- helps carry out: [Database Change Management / Migrations](/practices/dbmigration/en.md) (support)

[Show on the map](https://dpm.cnonim.name/#practice=expand&lang=en)
