We can help you apply D2X practices and move from Package Development to Product Delivery.
What does it take to create a fully usable experience of your AppExchange product? It’s probably a lot more than just installing a package!
While the Package Development Model provides a good process for developing and releasing packages, it only solves for a small piece of the overall product experienced by your customers. These limitations create friction and add hidden costs throughout the entire product lifecycle from development through testing, demos, and customer implementations.
Here's a simple test: if you had to rebuild your Trialforce Source Org (TSO) or your persistent QA org, how long would that take you?
If you're like most ISVs, your answer ranges from "2 to 4 hours" to "days" or even "oh my god, I don't even want to think about it."
That's the hidden tech debt buried in the Package Development Model. Once you start seeing it, you realize it's everywhere. Any time you need to create a new org for testing, demos, or a customer implementation, it requires hours (or days!) of expensive, repetitive, error-prone, manual configuration. None of this work is automated or in version control; this means that even if your package source code is in version control, version control isn't really the source of truth for your product.
Instead, you're stuck in the Org Development Model, with persistent orgs as your product's source of truth. Persistent orgs are both a bottleneck and prone to state drift, hindering collaboration and adding risk because the your version-controlled code might work in one org and not in another.
While you can deploy your product into specific orgs, you can't deliver your product into many orgs at scale. And delivering to orgs at scale is your #1 job as an ISV. The Package Development Model isn't enough to get you where you want to go.
The Product Delivery Model defines a product as an automation recipe in version control, used throughout the product lifecycle, to deliver complete product experiences to new or existing orgs.
The Product Delivery Model solves the biggest pain point of the Package Development Model, which is how difficult it is to create a complete product experience that can be tested, demoed, or delivered to a customer. When the entire recipe to deliver your product is in version control, version control becomes the actual source of truth for your product. The locus of collaboration for your entire organization moves from a handful of persistent orgs to your version control system. Delivery recipes are tested at every step of the product lifecycle, helping you exercise your release muscle and deliver more confidently and at previously-unimaginable scale.
Adopting the Product Delivery Model delivers measurable, tangible benefits:
Harder to measure, but equally important: adopting the Product Delivery Model alleviates the stress, overwork, and burnout that is common in ISVs, creating an environment that attracts and retains top developer talent for the long haul.
D2X stands for "Development to Delivery Experience," and it is the set of tools and practices that allow you to implement the Product Delivery Model. The core principles of D2X are:
1. Use scratch orgs wherever possible and by default.
2. Isolate features from each other and merge only when ready for release.
3. Shift left: fully test every commit with automated CI builds.
4. Fully automate release operations.
5. Enable the entire team to create and use automation recipes.
6. Build automation once and use it across the entire product lifecycle.
7. Use Cumulus Suite, the proven, open-source tooling created by Salesforce.
We developed these principles during our time at Salesforce.org, where we built an ISV-style product delivery team, tooling, and practices from the ground up, and scaled it up to delivering a suite of 50 packages, with weekly push upgrades to over 100k orgs. Check out our D2X North Star for more details on the process. If this sounds impossible or overwhelming, we're here to help.