Sales Systems exists to support the GitLab field organization by providing reliable, scalable, and intuitive technology platforms for everyday use. Primarily working on Salesforce.com and its related business systems, our goal is to constantly deliver value in the form of features to our end users. We also act as the connective tissue between business and technology, gathering requirements from our internal customers, designing the technical specifications and executing on the delivery of the solution.
Below is a list of the different technical skill sets found on the Sales System team. Note: A Sales Systems team member might be using a mix of the following skills sets at any one time.
|Business Systems Architect||Project lead in charge of gathering business requirements from customers and developing them into technical specifications.|
|Business Systems Administrator||Business analyst experienced in Salesforce.com platform configuration, process automation, and business workflows.|
|Business Systems Engineer||Software engineer experienced in Salesforce.com platform APEX development, API based integrations, and the software development life cycle.|
GitLab.comlevel. This aligns the Sale Systems team with how many of our business partners operate but also takes advantage of one of the solutions that Gitlab provides
technical debtlabel on the issue.
The Systems Label Workflow and Label Description are as follows
technical debtlabel to the issue.
[DEPRECATE]to the beginning of the field name. If the field name cannot accommodate a field name that long copy and paste the original name into the description, trim unnecessary characters from the name and try again. For this reason
[DELEETE]is also acceptable to prepend to the field name.
Deleted Fieldssection in Salesforce
Before beginning work, make sure:
Change Managment Steps:
git checkout -b "SalesSystems-158".
SFDX: Deploy Source To Orgon the changed classes, triggers or pages.
SFDX: Retrieve Source From Orgon the changed objects or metadata.
git statusto make sure the changed files are the ones you expected.
git add [filename]or
git add *if you want to add all changed files.
git commit -m "Fixing Apex CPU Errors".
Draft:, and assign it to the Architect on the project.
WIP:status and merge the change.
SalesSystems-158and push to production.
git checkout masterthen
git pull. Always be pulling!
Note: We are continuing to move towards using Salesforce SFDX and GitLab CI/CD Pipelines
Priority for the Sales Systems team is based on two axis, Impact and Urgency. For a detailed breakdown of how these work, review this blog post. Priority is used by the team when planning to identify those stories which have a higher business impact and urgency.
Impact defines how large of an impact (positive or negative) the change proposed in the issue will make for our business. Impact is classified as High, Medium, and Low.Negative impact examples include system level outages due to issues or missing functionality to support business processes. Postive impact can be in terms of increased revenue or less time spent by users performing repetitive actions. A change which only affects a single or small set of users should be classified as Low impact, while a change which impacts an entire department would be medium, with Large impact being reservered for OKRs and other company wide initiatives.
Urgency represents how quickly this change is needed by the business stakeholders. High urgency means the issue should be addressed by a known due date in the next 30 calendar days, Medium means the issue should be addressed some time in the next 90 days, and Low urgency can be resolved as capacity allows.
Combining the two axis above results in the below priority matrix.
|Peer Review||Peer Reviews are performed by a peer of the change requestor or developer and are intended to identify any potential issues with the planned change or change process. Note: The peer review process was established to mitigate the risk of the lack of segregation of duties between developer and implementer. The review provides comfort that changes to the production environment are valid.||Yes||Yes||Yes|
|Business System Architect||Approval by Business System Architect(or delegate)||Yes||Yes||Yes|
|Business Approval (Typically BI and EA only)||Approval by Business Stakeholder that is responsible for the particular business tool or process which is impacted by the requested change.||Yes||Yes||Yes|
|Director of Sales Systems||The Head of IT must approve all changes made during blackout periods||No||Yes||Yes|
technical debtlabel to the issue.
Data Upload Restructionstable below. Please consult both while completing any data uploads.
Data Upload Training & Setupsection before being permitted to upload data.
|Individuals / Groups||Data Upload Permissions|
|System Admininistrators||System Admins have the ability to update any and all fields within Salesforce. They should only be updating the data with an understanding of the impacts downstream such as cascading field updates, APEX code runs, compensation implementations etc.|
|Sales Operations||Members of the Sales Operations Team may complete any data uploads to fields that they can update on their own UIs|
|Customer Success Operations||Members of the Customer Success Operations Team may complete any data uploads to fields that solely impact the Customer Succes organization and their wholly owned processes|
|Channel Operations||Members of the Channel Operations Team may complete any data uploads to fields that solely impact the Channel and their wholly owned processes|
|Marekting Operations||Members of the Marketing Operations Team may complete any data uploads to fields that solely impact the Marketing Team and their wholly owned processes. Prior to completing the uploads though they must inform a member of the Sales Systems team to ensure the fields that they are updating do not cause any cascading updates in Salesforce. Additionally since Marketo and Salesforce are tighly integrated it is encouraged that Marketing Ops also coordinates with the Marketo System Owner to help limit any issues with the integration, API usage etc.|
|Compensation Data||No Compensation data may be updated without first consulting the compensation team and the leadership of the Sales Systems Teams or the Sales Operations Teams|
|Revenue Data||No Revenue fields may be updated without first consulting the leadership of the Sales Systems Teams or the Sales Operations Teams|
|Closed Opportunity Fields||No updates to Opportunity Fields on any Closed Oportunities can be completed without consulting the leadership of the Sales Systems Teams or the Sales Operations Teams|
|Any Deletions||No mass data deletions may be completed without first consulting the leadership of the Sales Systems Teams or the Sales Operations Teams|