EXAMTOPICS / TECHNOLOGY INSIGHTS

Salesforce Business Analyst: User Stories and Acceptance Criteria

A Salesforce requirement fails long before configuration if nobody can tell what successful behavior looks like. “Improve the opportunity process” is a goal, not a testable requirement. “Add a validation rule” is already a solution and may skip the business problem entirely. User stories and acceptance criteria create a bridge between those extremes.

For the Salesforce Business Analyst, the objective is to express stakeholder value clearly enough that product owners, administrators, developers, testers, and users can reach the same understanding without turning the story into a 20-page technical design.

Start with the actor, outcome, and business value

The familiar user-story form—“As a [role], I want [capability], so that [value]”—is useful because it forces three questions. Who is trying to accomplish something? What outcome do they need? Why does it matter? Those questions are more important than the sentence template itself.

Consider “As an account executive, I want to know whether a discount needs approval so that I can set a realistic customer expectation.” This is stronger than “Create a discount approval Flow” because it preserves solution choice. The team may solve the need with approval automation, guided screens, validation, calculated fields, or a combination after understanding the process.

The actor should represent a meaningful behavior or responsibility, not an arbitrary job title when several roles need the same capability. The value statement should explain the business outcome rather than repeat the feature. If the story says “so that I can use the new button,” the team still does not know why the button matters.

Use conversation to uncover the conditions behind the story

A user story is intentionally incomplete. It should trigger discussion about exceptions, data, security, volume, ownership, timing, and downstream effects. The analyst’s job is to ask what has to be true before the user can act and what should happen when the normal path does not apply.

For a discount scenario, useful questions include: Which products or customer tiers use different thresholds? Does the calculation use list price or net price? Who approves when the manager is absent? Can a user edit the opportunity while approval is pending? What audit trail is required? What happens to integrations if the amount changes after approval?

These questions turn a vague feature request into business rules. They also expose when one story is too large and should be split into smaller, independently valuable slices.

Use INVEST as a quality check, not a ritual

Salesforce training materials use the INVEST characteristics as a way to assess stories: independent, negotiable, valuable, estimable, small, and testable. The checklist is useful when it reveals a problem in the story rather than when a team simply marks six boxes.

If a story cannot be tested without five unfinished stories, its dependency may be too strong. If it prescribes every implementation detail before the team explores options, it is not very negotiable. If nobody can estimate it because the data model or integration behavior is unknown, the team may need discovery work before committing.

“Small” is contextual. A story does not need to be tiny; it needs to be small enough to understand, build, verify, and receive feedback within the team’s delivery process. Splitting by technical layer—one story for the field, one for Flow, one for permission—can destroy user value. Prefer slices that deliver observable business behavior.

Acceptance criteria define observable boundaries

Acceptance criteria state the conditions that must be satisfied for the story’s intended behavior. Each criterion should be independently testable and produce a clear pass or fail result. It should describe what the system or process must do, not merely restate the user story.

For the discount example, criteria could specify that opportunities with discounts above a defined threshold enter approval, that the submitting user receives a clear status, that only designated approvers can approve, and that rejected requests return to an editable state with a recorded reason. Those conditions are much more testable than “approval works correctly.”

Good criteria also include negative cases. What should happen below the threshold? What if required data is missing? What if the approver lacks access? What if an integration updates the amount while approval is pending? Negative criteria prevent the team from validating only the happy path.

Separate acceptance criteria from definition of done

Acceptance criteria are specific to a story’s business behavior. A definition of done is a broader team standard that may apply to every story: peer review completed, automated tests passing, security reviewed, documentation updated, deployment steps prepared, and product owner acceptance recorded.

Mixing the two makes requirements noisy. “The discount threshold is calculated from net amount” belongs in story-specific criteria. “Code coverage meets the team standard” is usually part of delivery quality. Both are important, but they answer different questions.

This distinction also improves change control. If the business rule changes, revise the relevant acceptance criterion. If the team changes its deployment standard, update the definition of done without editing every open story.

Include data, security, and nonfunctional behavior when they affect value

Salesforce stories frequently fail because the visible UI behavior is documented while data and access behavior are assumed. If only regional managers may approve a discount, that permission is part of the requirement. If a customer’s consent status must prevent an automated message, that condition belongs in the acceptance criteria.

Data criteria can define required fields, source of truth, duplicate behavior, retention needs, or how historical records should be treated. Performance criteria may be necessary for large-volume automation. Audit requirements may specify who changed a value and when. Integration criteria can state what happens when an external system is unavailable.

Do not add generic nonfunctional boilerplate to every story. Include the qualities that materially affect whether this particular capability is acceptable.

Write criteria that support UAT without dictating test scripts

Acceptance criteria are an input to testing, not a replacement for a complete user acceptance test plan. UAT identifies representative testers, test data, scenarios, expected results, issue handling, sign-off, and the evidence required for a go/no-go release decision.

A criterion such as “A service manager can reassign an escalated case to an active queue” can produce several UAT scenarios: normal reassignment, inactive queue, user without permission, and case locked by another process. The criterion establishes the requirement; the test plan explores realistic paths around it.

Traceability helps when defects appear. The team should be able to connect a failed test back to the criterion and story it validates. That relationship keeps defect triage focused on agreed behavior rather than on competing memories of what stakeholders requested.

Keep solution detail proportional to certainty

Some technical constraints are legitimate requirements. A regulated integration may have to use an approved endpoint, encryption standard, or retention period. But many early requests contain solution language simply because stakeholders describe the system they already know.

When someone asks for “another checkbox on Contact,” ask what decision the checkbox supports, who maintains it, how it becomes true or false, whether the information already exists elsewhere, and what process consumes it. The final solution may still be a checkbox, but the story should preserve the business meaning so future teams understand why it exists.

This is especially important in Salesforce because declarative and programmatic options overlap. Requirement quality improves when the analyst defines behavior first and lets the delivery team choose the simplest sustainable implementation.

Use examples to remove ambiguity

Examples reveal hidden assumptions faster than abstract wording. Ask stakeholders to walk through a normal record, a boundary case, and an exception. If the rule says “large opportunities require review,” show values just below and just above the threshold. If time zones matter, use concrete timestamps. If ownership matters, identify actual role relationships.

Examples can later become test cases, but their first purpose is shared understanding. Two stakeholders who both agree with a sentence may disagree immediately when they see a realistic example. That disagreement is valuable during analysis and expensive after configuration.

Split stories along business value, not technical components

Large Salesforce requirements often contain several outcomes that can be released independently. A broad story about “automating onboarding” may include account creation, document collection, risk review, notifications, and reporting. Splitting those outcomes can make delivery easier to estimate and validate while still preserving user value.

Avoid splitting solely into technical tasks such as “create object,” “build Flow,” and “write Apex.” Those tasks may be useful inside the delivery plan, but none of them tells a stakeholder what usable capability has been delivered. Keep the story oriented around an observable outcome and let implementation tasks describe the engineering work beneath it.

Maintain stories as governed requirements

Stories evolve through refinement. When acceptance criteria change, preserve version history or a clear change trail, record the decision maker, and reassess scope and downstream tests. Avoid silently editing a story after development starts, because the team can no longer tell which behavior was approved.

Link stories to process maps, data definitions, decisions, and UAT evidence where those artifacts add context. Keep the story itself readable. A requirements repository should help people navigate the decision trail rather than force every detail into one description field.

Across Salesforce projects, strong user stories do not eliminate conversation; they focus it. Strong acceptance criteria do not eliminate testing; they make testing meaningful. Together they turn stakeholder intent into observable behavior that can be designed, built, reviewed, and accepted without losing sight of the business outcome.