---
title: "Accept Imperfect Boundaries in Legacy Decomposition"
source: "https://virtualddd.com/heuristics/accept-imperfect-boundaries-in-legacy-decomposition/"
authors: ["Peter Hunter", "Elena Stojmilova", "Kenny Schwegler", "Andrea Magnorsky"]
tags: ["bounded context", "legacy", "facilitating software architecture and design", "decision-making process", "bounded context design", "coupling"]
type: "design heuristics"
question: "How should you approach defining team boundaries when migrating a legacy monolith?"
submitter: "Peter Hunter"
---

# Accept Imperfect Boundaries in Legacy Decomposition

When applying DDD to a legacy system, accept that the initial boundaries will be imperfect and 'not pretty.' The goal is to create a starting point for team autonomy, even if it requires pragmatic compromises on architectural purity. These boundaries can be refined over time.

## Example

To move away from a legacy application, the architecture was 'chopped up' into a context map. The team accepted that the initial boundaries were not good, but they were a necessary first step.
