Breaking up an existing monolithic application
Migrating a mature, monolithic application to Salesforce’s package development model can be a major undertaking filled with complexities and challenges.
On the complexity side, code refactoring is often needed to break tight couplings and fit components into modular packages. Dependency management becomes critical to untangle interconnected components. Introducing namespaces can add complexity in updating all references. Data models may need reworking to fit the new packaged schema. Permission sets and profiles will likely require redefinition. Automation and CI/CD pipelines need adaptation to handle packaging, versioning, and dependencies. Keeping various org environments in sync with the correct package versions is complex to orchestrate.
In terms of challenges, the transition will require extensive investment in resources and time. There will be a knowledge gap as teams learn the new model. Testing strategies need an overhaul...