Hi,
From my understanding, CE/CRM development is quite different from F&O, especially because CE is built on the Power Platform and Dataverse. However, there are still similarities in terms of source control, customization, and ALM.
Regarding your four points:
1. Development tools
In F&O, Visual Studio is the primary development environment for X++ development.
In CE/Dataverse, development can be done in multiple ways depending on the requirement. For example, we can use Power Apps for low-code/customization work, Power Automate for automation, Power Pages, and JavaScript/TypeScript for client-side customizations. For pro-code development, we can use Visual Studio/VS Code and Power Platform CLI for things such as Dataverse plug-ins.
So, it isn't necessarily "Power Apps instead of Visual Studio"; it depends on whether we are doing low-code or pro-code development.
2. Source control / DevOps
In F&O, we commonly work with Visual Studio and Azure DevOps for source control, branching, check-ins, builds, and deployments.
In CE/Power Platform, the main ALM (Application Lifecycle Management) concept is the Solution. We normally develop using an unmanaged solution in the development environment and then move the solution through the environments, commonly as a managed solution for downstream environments.
Azure DevOps can still be used for source control and CI/CD. Power Platform also provides tools such as Power Platform Pipelines and Git integration for managing the ALM process.
3. ISV/customization scenario
This is where CE is somewhat different from the F&O model approach.
In F&O, if an ISV provides a model/package and we don't have access to its source code, we generally extend their objects rather than directly modifying their code.
In Dataverse, solutions and solution layers are used to manage customizations. If an ISV solution is installed as a managed solution, we cannot directly edit the components in that managed solution. Instead, we normally create our own solution and customize/extend the relevant components where the platform allows it. This also creates dependencies between our solution and the ISV solution.
For example, if an ISV provides a table, we may be able to add our own columns, relationships, views, forms, or other supported customizations through our own solution rather than modifying the ISV's original solution.
For pro-code components such as a plug-in, however, the situation is different. We don't get the ISV's original C# source code just because the plug-in is installed in Dataverse. If we need a change inside that plug-in's logic, we would generally need the ISV/vendor to provide the change.
4. Custom code owned by the client
This is also different from the F&O model concept.
In Dataverse, the important question is not simply whether another company originally developed the customization. We need to look at which solution owns the component, whether it is managed or unmanaged, the solution layers, dependencies, and what type of component it is.
If the customization is part of an unmanaged solution in the development environment and we have the required permissions, we can generally modify the components. If it is a managed solution, we cannot directly edit the managed component; we would normally create our own customization/solution on top of it where supported.
Deployment
One other important difference is deployment.
In F&O, we are familiar with models/packages, builds, deployable packages, LCS, etc.
In Power Platform/CE, Solutions are the primary packaging and deployment mechanism. We develop in an unmanaged solution and can export it as a managed solution for deployment to Test/UAT/Production. Power Platform Pipelines or Azure DevOps pipelines can then be used to automate the movement between environments.
So, I would summarize the major difference as:
F&O: Models/packages + X++ + Visual Studio + Azure DevOps + LCS
CE/CRM: Solutions + Power Apps/Power Platform + Dataverse + Azure DevOps/Git + Power Platform Pipelines
Hope these below links would help you,
Application lifecycle management (ALM) with Microsoft Power Platform - Power Platform | Microsoft Learn
Solution concepts with Power Platform - Power Platform | Microsoft Learn