SAP / SAP Senior Level (10+ yrs) Interview questions
How do you manage versioning and lifecycle for side-by-side extension applications?
As extensions accumulate consumers over time, a deliberate versioning strategy prevents breaking those consumers every time the extension itself needs to evolve — a genuine architectural discipline, not just a naming convention.
flowchart TD
A[New extension version needed] --> B{Breaking change to existing contract?}
B -->|Yes| C[Introduce new API version, maintain old version in parallel]
B -->|No| D[Extend existing version non-destructively]
C --> E[Deprecation timeline communicated to consumers]
E --> F[Old version retired after migration window]
Practically, this means favoring additive, backward-compatible changes where possible, using explicit API versioning (in the URL or headers) when a genuinely breaking change is unavoidable, running old and new versions in parallel for a defined transition window, and communicating deprecation timelines clearly to consuming teams well ahead of actually retiring an old version — rather than a "surprise" breaking change that disrupts every downstream consumer without warning.
More Related questions...