When can technical debt be a good thing

Another of the great breakout sessions at Northeast Dreamin’ 2023 last week was by Hunter Dunbar. His session was called, “The Leverage and Luggage of Technical Debt”. Here’s a summary of that session.

Let’s start with a definition.

Technical debt, tech debt, or code debt, is the result of the shortcuts taken by the development team to speed up the delivery of a piece of functionality.… Read the rest

Delivering Empathic and Joyful User Experiences: A Summary

One of the wonderful breakout sessions I attended at Northeast Dreamin’ 2023 last week was by Daniel Gorton. His session was called, “Delivering Empathic and Joyful User Experiences”.

Being UX certified myself, I was drawn to the words “empathic” and “joyful”.… Read the rest

Record-triggered flows: One vs multiple

This is the age-old apex trigger question, but for flows. Should an object have one after-save trigger flow or multiple?

In apex, it was usually recommended to have a single apex trigger handler that organized which subclass was called based on the type of trigger (after insert, after update, etc.).… Read the rest

Using relative or absolute dates in reports

While working with a Salesforce client recently, I noticed they used an interesting reporting structure.

There was a report folder called “Development”, used by the development team. Under that were several subfolders, one per calendar year.

The reports in each subfolder were slightly different, and some in the 2023 folder still had the label of 2021.… Read the rest

Let’s talk about Salesforce training

Salesforce training isn’t something you do once the project is launched and is never discussed again. It’s an iterative process you need to keep in mind at all times.

Why is that?

Because people don’t remember everything they’ve been taught on the 1st pass.… Read the rest

Proper sandbox management

How many Salesforce sandbox instances should you have? What is each of their purposes? What are their inputs and outputs? When do you migrate from one to another?

At the absolute minimum, there should be one sandbox for development and testing.… Read the rest

Best practices for validation error messages

Error messages in Salesforce validation rules have a lot of responsibility. They are not just supposed to indicate what went wrong, but be specific about why, and mention what to do about it.

For example, let’s say if “Reason Code” (which is a picklist) has a value of “Other”, then the field “Reason Code Other” (which is text) is required.… Read the rest

The checklist for technical discovery sessions

As a Salesforce consultant conducting a technical discovery session, you need to ask a lot of questions.

Having a handy reference guide to keep track of key topics to discuss is useful, so below is my checklist.

You’ll notice they mostly consider Sales Cloud.… Read the rest

Submitted for the Salesforce Security Review

Years ago, I noticed there was an important feature missing from Salesforce core. It wasn’t well filled by 3rd party apps either, and that’s generating tax receipts for Canadian nonprofits.

Admittedly, tax receipting isn’t the sexiest topic. But charities need to issue receipts, and Canadian rules are precise and strict.… Read the rest

How to prepare and conduct a Salesforce technical discovery

Today was the 1st working session with a new client. It’s for a Salesforce discovery project, and was the 1st of many technical sessions.

Here’s how I prepared for and conducted that 1st session.

I first reviewed the Statement of Work (SOW), to make sure I fully understood what the business goals of the project are.… Read the rest

Architectural options when working with webforms

Website forms, or webforms, or just forms, are awesome. They allow you to easily collect information from people who may or may not exist in Salesforce.

They often come with a built-in native Salesforce connector, allowing you to submit data to one or multiple objects (often the Contact, Account, and Opportunity).… Read the rest

Are you going to Dreamforce 2023?

These days, it feels like every social channel is talking about Dreamforce next week. It’s although you cannot escape the consistent messaging from every direction.

It’s also clear the main topic this year is AI.

  • AI + Data
  • AI + Trust
  • AI + {anything}
  • AI + {everything}

I’m sure the event will be spectacular this year.… Read the rest

A trait that separates experienced Salesforce consultants from juniors

What exactly separates the experienced Salesforce consultant from the junior?

From my perspective there are four main factors:

  1. Technical knowledge, of which Salesforce is the largest component.
  2. Industry knowledge, to know the common challenges facing your target industry.
  3. Interpersonal skills, like communication, trust building, and negotiation.
Read the rest

How to start and stand out as a new Salesforce consultant

One of the advantages of starting a career in Salesforce is its low barrier of entry.

I’ve heard of several success stories in which someone with no prior Salesforce experience teaches themselves using free resources, gets the admin certification, and then lands a $80,000/year job, all within 6 months.… Read the rest

Surfing the Salesforce wave

I often advocate for being a Salesforce specialist instead of a generalist. There are numerous benefits to selecting a specific focus and then diving deep to become a specialist in that group.

When looking from a higher perspective, however, we are all already specialists: While we continue work with Salesforce, we are platform specialists.… Read the rest

Technical deliverables in the discovery phase – part 3 of 3

Let’s finish with part 3 of 3 of the “usual suspects” for the technical deliverables in Salesforce discovery projects.

3. Environment Release Strategy

Purpose:

  • Understand the various sandboxes and their uses
  • Describe how functionality will be migrated from one sandbox to another and eventually to production

Usage:

  • Some sandboxes are specifically built for development while others are for proof of concepts (POCs) or testing
  • Align everyone on how to move functionality from one instance to another, i.e.
Read the rest

Technical deliverables in the discovery phase – part 2 of 3

Let’s continue with part 2 of 3 of the “usual suspects” for the technical deliverables in Salesforce discovery projects.

3. User Flows

Purpose:

  • Understand the different actors and their interconnectivity and dependency
  • Visualize the steps and easy-of-use required from each actor
  • Help make decisions about the scope during the implementation stage

Usage:

  • Serve as guidelines for the broader context of user experience (UX)
  • Are a critical input for contextualizing the user stories
  • Establish a baseline understanding of the “completeness” criteria for features within the application

Required:

  • Swimlanes to divide logic per actor
  • Transitions between the various actor
  • Major steps taken by each user and by the system
  • Decision points along the way

Example:

 

4.Read the rest

Technical deliverables in the discovery phase – part 1 of 3

When conducting a Salesforce discovery project, there are a number of technical deliverables. Here are the usual suspects:

1. Current and Future System Landscape

Purpose:

  • A visual diagram representing the current state and target future state of Salesforce in context with other connected systems

Usage:

  • Helps understand the breadth of technical work required
  • Helps understand the key data passed in integrations
  • Are a primary source for data modelling and recommendations for 3rd party apps

Required:

  • Connections between Salesforce and external systems
  • Name and purpose of each system
  • Key data elements passed between systems

Example:

2.Read the rest

Overpricing yourself to avoid work

Here’s a cheeky hack to avoid certain projects: Overprice yourself.

I’ve only done this a few times myself, as it sometimes feels a little dirty. Necessary, but nevertheless dirty.

For example, let’s say a potential client has unreasonable expectations of what Salesforce can actually do.… Read the rest

Tracking data changes over time

There are a couple methods to report on changes to Salesforce data.

The most common is field history. To summarize, once enabled, you can report on when field changes occur, the old value and the new values.

To enable this feature, navigate to the desired object in Object Manager and click “Set History Tracking” from the Field & Relationship menu.… Read the rest

What does conversion rate mean to you?

A client of mine told me they want to have a Salesforce dashboard component that displays a conversion rate. I asked for clarification, and how this metric would be used. As you know, asking why is an important step before you begin the design phase.… Read the rest

Optimizing your Salesforce data model with junction objects

Recently I did a Salesforce audit for a client. They had a number of issues with their instance, and wanted a review from an independent expert.

The main person responsible was an Accidental Admin, and wasn’t given sufficient time to design a modular and scalable data model.… Read the rest