Extensibility Model (Key-user / Developer / Side-by-side)
What it is
The three places you can extend S/4HANA cleanly: key-user (in-app, no-code adaptations), developer (on-stack ABAP Cloud with released APIs), and side-by-side (separate apps on SAP BTP). Each consumes the core only through released, contract-stable interfaces.
Why it matters for Clean Core
Picking the right lane up front is the single biggest Clean Core decision. The wrong lane — a developer-extensibility job done as a modification, or a side-by-side job crammed on-stack — is what creates upgrade debt.
Common pitfall
Reaching for developer extensibility (custom ABAP) when a key-user tool would have done the job, or going side-by-side for logic that belonged on-stack. Match the lane to the change's coupling and lifecycle, not to your comfort zone.