Legacy Pattern Modernization
1. Common legacy patterns
| Legacy pattern | Modern target question |
|---|---|
| Large generic staging layer | Can acquisition and preparation be simplified? |
| Repeated physical copies | Can federation or controlled persistence remove copies? |
| Monolithic BW provider | Can domains and semantic layers be separated? |
| Custom extraction code | Is a supported connection or semantic import available? |
| Report-specific transformations | Can reusable semantic logic be centralized? |
| Unowned shared space | Who owns the data product and access contract? |
2. Avoid mechanical translation
A one-to-one object conversion can preserve technical debt. For example, converting every staging object without questioning its purpose may reproduce unnecessary storage and operational complexity.
3. Refactoring sequence
Use:
Understand → Preserve behavior → Simplify → Validate → Optimize
Do not optimize before semantic equivalence is established.
4. Legacy exception register
For every object that cannot be modernized immediately, capture:
- reason
- owner
- business criticality
- target replacement
- temporary architecture
- expiry/review date
- risk if retained
This turns technical debt into managed architecture rather than permanent folklore.