In Salesforce's documentation, we are presented with two development models:
These two models leave a huge gap between them. We've found over the years that gap is where most of the DevOps, CI/CD challenges people face when developing on Salesforce.
This is especially true for partners who often re-develop the same functionality from project to project. It's not that we don't want to reuse modules, it's that the two development models Salesforce provides us don't really work for that.
Somewhere between the whole-org responsibility of the Org Development Model and the complete isolation of packaging is the happy medium we've been missing.
Illustrating the point, one side of the ecosystem leans heavily toward the Org Development model (customers), one is heavily toward the Package Development Model (ISV/PDO), and then implementation partners are stranded, pulled back and forth between both.
Why can't we have a single Salesforce Development Model that works for the entire ecosystem?
We at Muselab have been working with Salesforce AppExchange ISV partners for over two years to transform their product lifecycle by adopting the Product Delivery Model, a new development model we helped create in our time at Salesforce.org creating and leading the Release Engineering team that created the open source tools CumulusCI, Snowfakery, MetaDeploy, and Metecho in support of the nonprofit and education community on Salesforce.
Even the Product Delivery Model has its faults. First off, if you're not an ISV, "Product" can be confusing. However, the bigger issue was the Product Delivery Model's lack of emphasis on composability of automation steps and plans and on automated pipelines for org provisioning.
The Composable Delivery Model is Muselab's evolution of the Product Delivery Model to address these challenges and build a single development model that can address the needs of the entire Salesforce ecosystem.
Here's how we define the Composable Delivery Model:
We've tried to move beyond just words here as introducing a concept like a development model is challenging. So, we've created the graphic below introducing the Composable Delivery Model.
Download: The Composable Delivery Model (PDF)
To be clear, we're not just dreaming up theory here. A lot of these concepts are usable today and in use by some of Muselab's clients and others tapping into the full power of CumulusCI and GitHub.
The Composable Delivery Model is the inspiration for Muselab Platform, our upcoming secure, scalable, and API-First platform providing all the missing components to implement the Composable Delivery Model at any scale, easily.
We're active here on LinkedIn and love engaging with others in the community interested in figuring out better ways to work on the platform.
Or, grab a hour to talk at https://calendly.com/muselab/free