What to include in a project proposal

When submitting a proposal for a Salesforce project, there are a number of important sections to include.

1. A situational appraisal
This section, usually the first in the proposal, explains the situation back to the client. It shows you’ve paid attention to their needs and the circumstances.… Read the rest

Managing scope creep in a fixed-price project

In yesterday’s example of a mid-project change, some readers commented it was a fairly minor change (switching from Zapier to Make). Some asked what can be done if it’s a larger change during a fixed-priced project. In essence, this is a question about scope creep.… Read the rest

Handling technical changes mid-project

One of my current projects is a Shopify to Salesforce integration. The client had purchased Zapier, and I was OK with it, so it was the chosen connector.

Products and orders needed to be synchronized with Salesforce, one way only.

With Zapier, the order lines were concatenated on a single line.… Read the rest

Results from the questionnaire

A while back, I asked you to complete the “Good Enough” questionnaire.

The short survey allows me to see who exactly is my audience. By knowing this, I can tailor my emails so they are more relevant to you, dear reader.… Read the rest

Price and scope in a fixed price project: a flowcart

Let’s consolidate the previous two posts about scope and price in a Salesforce project.

The flowchart below allows you to see the steps and process involved in determining scope and pricing method.

This is the exact process I’ve been using for the past two years, so I hope you find it helpful.… Read the rest

How do you price a fixed price project?

Once you’ve an idea of what your client wants and the value of the Salesforce project, it’s time to sit down and determine options for price and scope.

Remember, scope is last, so the next step is deciding your prices.

Here are two popular pricing methods:

1.Read the rest

How do you scope a fixed price project?

One of the most popular questions I’m asked is, when doing fixed pricing, how do you accurately scope a Salesforce project? Don’t you need to add tons of conditions to protect yourself?

Note: This question doesn’t apply when you’re selling a product or a productized service, as the price and scope are already established.… Read the rest

Switching from hourly pricing to fixed pricing

Let’s assume you’re a freelance Salesforce consultant, and are currently billing by the hour.

You’ve heard me speak about fixed pricing before, and the topic interests you. You just don’t know how to switch.

Here are three considerations to help you with this transition:

1.Read the rest

Whatever you do, launch a MVP first

An earlier project with a challenging client quickly became a vast source of knowledge. Knowledge of what NOT to do. Here’s one example.

This client was challenging to work with, because they wanted everything. They didn’t believe in a MVP, so in their first release of Salesforce, they wanted

  • A replacement of their existing 10 year old custom CRM (which I previously built years before using PHP)
  • New functionality and processes to manage their daily operations
  • An integration with an upcoming web portal, which wasn’t fully designed yet.
Read the rest

Determining your ideal number of projects

How many Salesforce projects should you be working on at the same time?

As a consultant, and especially when you’re good enough, you’ll be in demand. Whether you work in an agency or are a freelancer, the option to work on simultaneous projects is available.… Read the rest

Working with strings in flows

When working with Salesforce flows, you often need to refer to static strings.

For example, let’s say you have a custom text field called `Entity` on the account, which you want to set to “Organization” in a flow.

Option 1: When setting the Account record variable, just set `Entity` = “Organization”
This is definitely the quickest and easiest method, but it’s the hardest to maintain.… Read the rest

Creating records in a flow

When updating or creating records in screen flows or autolaunched flows, you have two main choices for determining how the record is set:

  1. Use all values from a record
  2. Use separate resources, and literal values

Admittedly, option 1 takes slightly longer to set up.… Read the rest

Variable names for collections in flow

In Salesforce flows, having a proper and consistent naming convention is important. It helps with readability, understanding, and logic processing.

When working with a single record, it makes sense for the variable to be singular. Similarly, when working with multiple records in a collection, it makes sense for the variable to be plural.… Read the rest

Extending your Salesforce network

Yesterday’s email sparked some great feedback from readers, so let’s expand the topic of building your Salesforce network.

LinkedIn was mentioned, but it doesn’t really matter which social media platform you participate in. For example, Twitter/X has a vibrant Salesforce community.… Read the rest

Ways to build your professional network

Having a strong professional network helps attract clients and projects. Once you are known, you can refer business to others, and they can refer business to you.

So how do you become known?

There are three main ways to build your professional network.… Read the rest

Variable names in flows

People have various opinions about naming conventions for Salesforce variables in flows. Some draw their opinions from old VB code, others from C or Java.

As a previous C developer, below is my approach, which follow specific design patterns.

1. Keep it simple and concise
If a variable name can be written shorter, then shorten it
E.g.:… Read the rest

recordId: text or object?

There was a recent discussion on LinkedIn about the input variable “recordId”.

Most flow developers know about the special variable “recordId”. (Note: the “I” must be capital, but the “r” can be upper or lower case). In a screen flow, when you set this specific variable as an input and text, it’ll automatically be populated with the Salesforce Id of the current record from where it was called.… Read the rest

Announcing Salesforce Scale Test

This week Salesforce announced their Scale Test is now generally available.

This automated testing tool provides the following:

  • Ensures that the software performs reliably under increasing user loads and data volumes.
  • Safeguards a positive user experience.
  • Identifies and addresses potential issues before they impact operations, reducing the risk of costly downtime or data loss.
Read the rest

Introducing the Trailblazer Career Marketplace

When looking for a new Salesforce position, there are many channels available for you to advertise.

  • General employment sites (ZipRecruiter, Monster, etc.)
  • LinkedIn (set yourself as “Open to Work”)
  • Professional recruiters
  • Referrals

And now there’s a new option: Salesforce directly.

As of last week, Salesforce has its own career center.… Read the rest

How NOT to do document management

When doing a Salesforce discovery project, the deliverables are usually a series of documents. Here are the usual suspects, sometimes with different names:

  • System Landscape
  • Data Model
  • Security Model
  • Sandbox Management
  • Data Migration Strategy
  • User Flows
  • User Stories
  • Test Strategy
  • Training Plan
  • Project Plan

In one particular project I’m finishing up, these documents were originally written in Google Docs.… Read the rest

What are you actually providing?

As a Salesforce consultant, what are you actually providing to a client? Do you believe you are providing a new Salesforce feature, an integration, a series of reports, or anything like that?

You’re not.

You’re providing the results of the new feature, the integration, or series of reports.… Read the rest

Lying on your resume

I have a confession to make. I’ve lied on my resume.

Now, some would call it a bold-faced lie, while others would call it an exaggeration. Either way, I wrote something that wasn’t true.

This was a very long time ago, so I’m open to sharing this now, but it’s always been a sensitive topic for me.… Read the rest

Determining your ideal client

Let’s say you’ve dedicated time to work on your own Salesforce practice. One of the first steps is to determine who is your ideal client and what services you plan to offer.

To determine your ideal client and positioning, start by yourself the following:

1.Read the rest

When to switch from employee to independent consultant

Let’s say you’re an employee working at a Salesforce agency, with dreams of becoming a freelance consultant.

What’s the best way to make that happen?

Let’s start by talking about how it shouldn’t happen.

You probably shouldn’t just drop your full-time position and announce to the world that you’re now a freelancer.… Read the rest

Going from 0 to 1

They say the shift from 0 to 1 is harder than from 1 to 2, or any greater number.

Let’s say you’re a full-time Salesforce employee with ambitions to start your own business. You may be working on several projects at the same time, but you don’t own any of them.… Read the rest

Monthly vs subscription services

One great way to offer your services as a Salesforce consultant is with a monthly package.

This is often well-suited for support work, but can also be for larger projects in which you are one of many and don’t control the project’s scope.… Read the rest

Value based pricing success story

Last year, a Salesforce agency was struggling with their developers. The devs were attempting to tackle a project that was beyond their knowledge. In addition, they needed advice on how to approach certain technical situations.

I was engaged to help. A monthly subscription-style service was proposed, as it provided flexibility to the agency to decide the duration of the engagement.… Read the rest

A lesson learned about value based pricing

One fellow reader asked me to write a “lesson learned” story about value based pricing.

A small nonprofit was looking for help with their automation. Things like

  • A record was supposed to be updated when another field changed, but wasn’t
  • Related records had to be manually tagged as the most recent
  • The last time a contact completed a course was manually calculated

So we agreed on a rough scope, which included the problems above and a few other minor issues.… Read the rest

Is 75% code coverage good enough?

All the cool Salesforce kids are using flows these days. As a result, it’s not as popular to write apex code anymore.

However, there are moments in which flows aren’t the best choice. Apex classes can fill in those gaps and can perform some really heavy lifting.… Read the rest