We’ve talked at length about how we got started on Salesforce, now let’s explore (in a development/test instance) what it looks like practically as it’s implemented. When a user logs in the are greeted with the entirety of our portfolio. From this they can chose from a variety of areas such as On-Premises vs. Cloud (SaaS) vs. Internal product lines. This also provides them with a way to get started and a Flow to create a new Product Line.
By using this flow (which is the only way to create new product records) they won’t have to know the Product Line Type (class), but only the answer to questions around basic capabilities and attributes such as the below.
This approach allows us to have a robust number of Product Line Types, but removes the burden from the users to understand the nuance between how they are classified.
Product Line records are simply a collection of data and metadata that covers the normally expected gambit of details, statuses, ownership, critical resources and ecosystem details.
The associated metadata that we have the capabilities to collect contains items like:
- Commerce Ecosystem
- Releases
- Compliance Attestations
- Source Code Repositories
- Hosting Environments
- Business Standards Compliance
- etc..
Releases are obviously a key part of lifecycle management and this object contains ~150 fields. Additionally, we have a Flow-driven user interface that is responsible for binary activities, package compilation and upload to CDNs. This is made possible by an on-premises service that interacts with Salesforce via the API and message bus to perform all on-premises activities inside of the corporate firewall.
We also use a variety of Triggers, Workflow Rules, and Validation Rules to ensure that various business processes are followed. A simplistic example below is the use of a Validation Rule to ensure that the SDLC Phase cannot be set to Execution until there is a GA Date Specified.
Once this GA Date is set, a Workflow Rule is launched to record this date so that we can track the delta between the original date, and the final shipped date.
That’s the 100,000 foot view of what we’re doing around portfolio management using Salesforce to replace our previously home-grown solution. Next I’ll explore the development process and how we’re utilizing low-code functionality of SalesforceDX.