Configuration means what you can achieve without a code editor — adjust tables, design forms, define business rules, build workflows, assign security roles, configure views. Anyone working in the modern Power Apps maker world sees configuration at first glance as "clickable". It produces solution artifacts that travel with dev-test-prod ALM — but no build, no compile.
Customization is Microsoft's umbrella term for all non-standard parts of a Dynamics 365 solution. In the narrower sense it means the code share — plug-ins, JavaScript, PCF Controls, Custom APIs, AL extensions. In the broader sense it also covers structural adjustments (custom entities, custom fields, custom workflows). We use "customization" in the broader Microsoft sense and say "pro-code components" when we concretely mean the code share.
Custom development means larger, often standalone software components — for instance a Power Apps Portal with custom branding, an Azure Functions backend layer for third-party integration, a native mobile app, or a custom web front-end against the Dataverse Web API. Custom development is the bridge between platform programming and free software engineering — and the area where our Independent Engineering team works with .NET, React, and Node.
A second dividing line runs between the module worlds: Customer Engagement (Sales, Customer Service, Field Service, Project Operations, Customer Insights) is extended via plug-ins in C#, JavaScript Client API, PCF Controls, Power Fx, and Custom APIs — this world runs on Dataverse. Business Central as the SMB ERP app is extended via AL extensions, its own language with its own runtime and compiler. Finance & Operations uses X++ and extensions in the Application Object Tree and is a third world, for which we work together with specialized F&O partners.