🏠 Home 🔒 Record Sharing ⚙ Apex Triggers 🔍 SOQL 💻 LWC 🔗 Integration 🤖 Flows & Automation 🤖 Agentforce & AI 🎈 Agentforce Course — Free ☁ Data Cloud 🎓 DC Course — Free 🚀 DevOps Course — Free 💵 CPQ 🎯 100 Scenario Questions 🏆 150 Advanced Questions 📧 Marketing Cloud 🎤 Mock Interview Community 🏗️ Company Wise 👥 About Us Start Learning Free →

Salesforce BA Zero to Hero Module 4 — User Stories & Acceptance Criteria

Salesforce Business Analyst Zero to Hero - Module 4: User Stories & Acceptance Criteria | SF Interview Pro
📝 Salesforce BA Zero to Hero — Module 4 of 15

User Stories & Acceptance Criteria

Phase 1 gave you understanding and relationships. Phase 2 turns that into real artifacts. This module covers the single most common BA deliverable — writing user stories that are genuinely clear, sized correctly, and testable.

Module 4 of 15 (counting Module 0 as a bonus prerequisite) · Phase 2: Core BA Deliverables (Begins!)
🚀 Welcome to Phase 2: Core BA Deliverables. Modules 4 through 7 turn everything from Phase 1 into real, usable artifacts — User Stories, Process Maps, Gap Analysis, and full BRDs/FRDs. This is where understanding becomes documentation a team can actually build from.
🎯 What You Will Master in This Module
A User Story is the most common way requirements get expressed on Agile Salesforce projects. But "As a user, I want a feature, so that it's better" is a USELESS user story — the format alone does not guarantee quality. This module teaches you to write stories that are genuinely clear, correctly sized, and verifiable.
What a User Story actually is, and why it is structured the way it is
The INVEST criteria — the concrete test for whether a story is genuinely well-written
Acceptance Criteria using Given/When/Then — turning a story into something testable
Writing genuinely testable Acceptance Criteria, not vague aspirational statements
Story Splitting — breaking large Epics into properly-sized, buildable stories
Definition of Ready vs Definition of Done — two distinct quality gates
The most common user story mistakes, and how to catch them in your own writing
Concept 1 of 7
What a User Story Actually Is — and Why This Specific Format
The standard User Story format is: "As a [role], I want [goal], so that [benefit]." This is not an arbitrary template — each of the three parts does genuine, specific work. The ROLE clarifies WHO this matters to (different roles often want different things). The GOAL states WHAT they need, in outcome terms, not implementation terms. The BENEFIT states WHY it matters — and this last part is the one most beginners skip, even though it is often the most valuable.
⚡ Why This Matters
The "so that" clause is what lets an Admin or Developer make smart judgment calls during Build when something unexpected comes up. If they understand WHY a requirement exists, not just what was asked, they can often solve genuine edge cases correctly even when the story itself didn't explicitly anticipate them.
USER STORY TEMPLATE
As a [specific role, not just "user"],
I want [a clear, outcome-focused goal],
so that [the genuine underlying benefit/reason].
Weak VersionStrong VersionWhat Changed
As a user, I want a notification, so that I know.As a Support Manager, I want to be notified when a Case has had no activity for 24 hours, so that I can intervene before the customer escalates.Specific role, specific trigger condition, genuine business reason
As a sales rep, I want a better dashboard.As a Sales Rep, I want to see my open Opportunities sorted by Close Date on my home page, so that I always know which deals need attention first."Better" replaced with a specific, concrete outcome
🛠️ Practical: Strengthen a Weak User Story
1Weak story: "As a user, I want to export data."
2This is missing specificity in all three parts. Rewrite it with a specific role, a specific goal (what data, in what format, from where), and a specific genuine benefit.
3Strong example: "As a Finance Analyst, I want to export all closed-won Opportunities for the current quarter to CSV, so that I can reconcile revenue figures in our external accounting system."
4Notice this version tells an Admin or Developer exactly who needs this, what specific data and format, and why — versus the original, which provides almost no actionable information to actually build against.
⚠️ Common Gotcha — "As a User" Is Almost Always Too Vague
Writing "As a user" instead of a specific role like "As a Sales Rep" or "As a Support Manager" loses genuinely valuable context. Different roles often have different real needs even for similar-sounding features — a Sales Rep's dashboard needs differ meaningfully from a Sales Manager's. Always name the specific role unless the requirement is GENUINELY identical across every possible role in the system, which is rarer than it first appears.
Concept 2 of 7
The INVEST Criteria — The Concrete Test for a Good Story
INVEST is a widely-used acronym giving you six concrete checks for whether a user story is genuinely well-written: Independent, Negotiable, Valuable, Estimable, Small, Testable. Running every story through this checklist catches most quality problems before they reach the Admin or Developer who has to build from it.
⚡ Why This Matters
Without a concrete checklist, "is this a good story?" is a subjective, hard-to-pin-down judgment call. INVEST converts that vague question into six specific, checkable criteria — turning story quality review from a feeling into a genuine, repeatable skill.
LetterMeansThe Practical Check
IIndependentCan this story be built and delivered without being blocked by another unfinished story?
NNegotiableDoes this describe WHAT is needed, leaving room for the Admin/Dev to determine HOW, rather than over-specifying implementation?
VValuableDoes this deliver genuine value to a real stakeholder, traceable back to an actual business need?
EEstimableDoes the team have enough clarity to reasonably estimate how much effort this will take?
SSmallIs this sized to be completed within a single sprint, not sprawling across multiple sprints?
TTestableIs there a clear, objective way to verify this was built correctly? (This connects directly to Concepts 3-4)
🛠️ Practical: Run a Real Story Through INVEST
1Story to evaluate: "As a Sales Manager, I want a completely redesigned Opportunity record page with custom components showing deal health, AI-predicted close probability, and competitor analysis, so that I have everything I need in one place."
2Check each INVEST letter against this story. Which ones genuinely pass, and which ones fail?
3Likely assessment: Valuable — probably yes, this sounds genuinely useful. Negotiable — probably yes, doesn't over-specify exact implementation. But Small — likely FAILS; this bundles at least three distinct, substantial pieces of work (deal health display, AI prediction, competitor analysis) that could each be their own story. Estimable — likely also fails as a direct consequence, since a story this broad is hard to size accurately.
4This diagnosis directly points to the fix: this single story should be SPLIT into three or more smaller, independently valuable stories — exactly the skill covered in Concept 5.
⚠️ Common Gotcha — Treating INVEST as All-or-Nothing
A story does not need to perfectly satisfy every single INVEST letter to be usable — in practice, some tension between criteria is normal (a highly Independent story might be harder to make perfectly Small, for example). INVEST is a diagnostic tool for spotting likely problems, not a rigid pass/fail gate. The goal is genuinely improving story quality, not pedantically rejecting any story with one imperfect letter.
Concept 3 of 7
Acceptance Criteria — Given/When/Then
A User Story describes the WHAT and WHY at a high level. Acceptance Criteria provide the specific, testable conditions that must be true for the story to be considered genuinely complete. The Given/When/Then format, borrowed from Behavior-Driven Development, is the most common structure: GIVEN a starting context, WHEN a specific action happens, THEN a specific, verifiable outcome should occur.
⚡ Why This Matters
A story without clear Acceptance Criteria leaves "done" entirely subjective — the Admin thinks they finished, but the stakeholder disagrees because something unstated was implicitly expected. Given/When/Then Acceptance Criteria remove this ambiguity entirely, and directly become the foundation for UAT test scenarios in Module 12.
ACCEPTANCE CRITERIA TEMPLATE
GIVEN [the starting context/precondition]
WHEN  [a specific action or event occurs]
THEN  [a specific, observable, verifiable outcome]
🛠️ Practical: Write Acceptance Criteria for a Real Story
1Story: "As a Support Manager, I want to be notified when a Case has had no activity for 24 hours, so that I can intervene before the customer escalates."
2Write at least TWO separate Given/When/Then Acceptance Criteria for this single story — covering different specific scenarios.
3Strong example AC #1: "GIVEN a Case is open and has had no activity for exactly 24 hours, WHEN the 24-hour mark is reached, THEN the Support Manager assigned to that team receives an email notification within 5 minutes."
4Strong example AC #2: "GIVEN a Case has had no activity for 23 hours, WHEN a new activity (comment, email, status change) is logged on that Case, THEN the 24-hour inactivity timer resets and no notification is sent."
5Notice each AC describes one specific, complete scenario with an objectively verifiable outcome — these two together already give an Admin much clearer guidance than the story alone, and give a tester two concrete things to actually check.
⚠️ Common Gotcha — One Acceptance Criterion Is Rarely Enough
Most genuinely useful stories need multiple Acceptance Criteria covering the happy path AND meaningful edge cases or exceptions, exactly like AC #2 above covering the timer-reset scenario. A story with only one single, simple Acceptance Criterion has often not been thought through carefully enough to anticipate the genuine edge cases that will inevitably come up during Build or Test.
Concept 4 of 7
Writing Genuinely Testable Acceptance Criteria
Not every Given/When/Then statement is actually testable, even when it looks structurally correct. The key test: could two different people, independently checking this criterion against the finished feature, reach the SAME conclusion about whether it passed or failed? If the wording leaves room for subjective interpretation, it is not genuinely testable yet.
⚡ Why This Matters
A vague Acceptance Criterion creates exactly the same "is this actually done?" disagreement a story without any AC at all would create — it just hides the ambiguity behind official-looking Given/When/Then formatting. Genuine testability requires concrete, specific, measurable language.
NOT Genuinely TestableGenuinely TestableWhat Made the Difference
THEN the page should load quicklyTHEN the page loads within 3 seconds"Quickly" is subjective; "3 seconds" is a specific, measurable threshold
THEN the user should see relevant informationTHEN the user sees the Account Name, Phone, and Industry fields"Relevant" is subjective; specific field names are objectively checkable
THEN an appropriate error message appearsTHEN the error message "Discount cannot exceed 20% without approval" appears"Appropriate" is subjective; the exact expected message is objectively verifiable
THEN the system should handle this gracefullyTHEN the record saves successfully and a confirmation toast appears"Gracefully" is vague; the specific expected behavior is precisely defined
🛠️ Practical: Rewrite Three Vague Criteria as Testable Ones
1Vague AC #1: "THEN the dashboard should be easy to understand."
2Vague AC #2: "THEN the system should notify the right people."
3Vague AC #3: "THEN performance should not be significantly impacted."
4Rewrite each into something genuinely testable, with specific, concrete, measurable language.
5Strong examples: #1 → "THEN each chart includes a title and axis labels, and uses no more than 5 distinct colors." #2 → "THEN the Opportunity Owner and their direct manager both receive the notification within 5 minutes." #3 → "THEN the report runs in under 10 seconds for a dataset of up to 50,000 records."
6Notice the pattern: replace subjective adjectives (easy, right, significantly) with specific nouns, numbers, and named entities that two independent reviewers would interpret identically.
⚠️ Common Gotcha — Vague Criteria Often Come From Vague Stakeholder Language
Vague Acceptance Criteria are frequently a direct, unfiltered copy of vague language a stakeholder originally used during elicitation (recall Module 2's "accepting vague answers" mistake). It is the BA's job to push past "it should be fast" or "it should look professional" during the original conversation, asking specifically "what does fast actually mean in seconds?" — rather than carrying that same unresolved vagueness all the way into the final Acceptance Criteria.
Concept 5 of 7
Story Splitting — Breaking Large Epics into Buildable Stories
An Epic is a large body of work too big to fit in a single sprint — essentially a story that fails INVEST's "Small" criterion. Story Splitting is the skill of breaking an Epic into multiple smaller stories, each still independently valuable on its own, rather than splitting it into meaningless technical fragments that provide no value individually.
⚡ Why This Matters
Poor story splitting (e.g. "Story 1: build the database fields. Story 2: build the UI.") creates pieces that individually deliver ZERO usable value — Story 1 alone is useless to any stakeholder. Good splitting creates pieces that are each independently valuable, allowing genuine incremental delivery and feedback.
Common, genuinely effective story-splitting patterns: BY WORKFLOW STEP Epic: "Approval process for large discounts" → Story 1: Submit a discount request for approval → Story 2: Manager approves or rejects a pending request → Story 3: Requester is notified of the approval decision BY USER ROLE / VARIATION Epic: "Notification system for stale Cases" → Story 1: Email notification to Support Manager → Story 2: Slack notification to Support Manager (separate channel) BY DATA VARIATION (simple case first, edge case second) Epic: "Bulk import of customer records" → Story 1: Import records with no duplicates → Story 2: Handle duplicate detection during import ⚠ AVOID splitting by pure technical layer (e.g. "backend" vs "frontend") — neither piece is independently valuable to a real stakeholder
🛠️ Practical: Split a Genuine Epic
1Epic: "As a Sales Operations Manager, I want a complete territory management system, so that deals are automatically routed to the correct rep based on region, industry, and deal size."
2This is clearly too large for one sprint. Using the "by workflow step" or "by data variation" patterns above, split this into 3-4 smaller, independently valuable stories.
3Strong example split: Story 1 — "Route new Leads by region only" (simplest version, delivers real value immediately). Story 2 — "Add industry as a second routing criterion" (builds on Story 1). Story 3 — "Add deal size as a third routing criterion, with a defined tiebreaker rule." Story 4 — "Allow manual override of automatic routing for exception cases."
4Notice Story 1 alone is genuinely usable and valuable — region-only routing is better than no routing at all, and could even be deployed and used while Stories 2-4 are still being built. This is exactly the incremental value good story splitting enables.
⚠️ Common Gotcha — Splitting Too Late
Story splitting works best when done thoughtfully BEFORE Build begins, during backlog refinement. Discovering mid-sprint that a story is actually far too large to finish causes a rushed, reactive split under time pressure, usually producing a worse split than if it had been properly sized from the start. Apply the INVEST "Small" check during Design/backlog grooming, not as an emergency fix once a sprint is already running out of time.
Concept 6 of 7
Definition of Ready vs Definition of Done — Two Distinct Quality Gates
These two terms sound similar but check completely different things, at completely different points in a story's lifecycle. Definition of Ready (DoR) is the checklist a story must pass BEFORE work begins on it. Definition of Done (DoD) is the checklist a story must pass AFTER work is claimed complete. Confusing the two, or skipping one entirely, is a genuinely common source of project friction.
⚡ Why This Matters
A team that starts building stories without a clear Definition of Ready wastes time on ambiguous, half-understood requirements. A team without a clear Definition of Done has no consistent standard for what "finished" actually means, leading to inconsistent quality and disputed completion status.
Definition of Ready (Before Starting)Definition of Done (After Claiming Complete)
ChecksIs this story clear enough to START building?Was this story genuinely FINISHED to an acceptable standard?
Example ItemsAcceptance Criteria are written; story is correctly sized (INVEST); dependencies are identifiedAll Acceptance Criteria pass; code/config reviewed; tested in sandbox; documentation updated
Who ChecksTypically the BA, alongside the Admin/Dev who will build itTypically the BA (via UAT) alongside the Admin/Dev and possibly QA
Owned ByThe whole team agrees on this checklist upfront, applies it consistentlyThe whole team agrees on this checklist upfront, applies it consistently
🛠️ Practical: Draft Both Checklists for Your Team
1Draft a 4-item Definition of Ready checklist for a Salesforce Admin project team.
2Strong example: "1) Story has a clear role, goal, and benefit. 2) At least 2 Acceptance Criteria are written and reviewed. 3) Story passes the INVEST 'Small' check — estimated at 5 days or less. 4) Any dependencies on other stories are identified and resolved or sequenced correctly."
3Now draft a 4-item Definition of Done checklist for the same team.
4Strong example: "1) All Acceptance Criteria verified as passing. 2) Built and tested in a sandbox, not just locally described. 3) Peer-reviewed by another Admin/Dev for configuration quality. 4) Any related documentation (process maps, training notes) updated to reflect the change."
5Notice both checklists are genuinely concrete and checkable — exactly the same "testable, not vague" principle from Concept 4 applies equally well to these team-level quality gates.
⚠️ Common Gotcha — Definition of Done Without Genuine Team Buy-In
A Definition of Done imposed unilaterally by the BA, without genuine agreement from the Admin/Dev team who actually has to meet it, often gets quietly ignored or only partially honored under deadline pressure. The strongest Definition of Done checklists are collaboratively created and explicitly agreed to by the whole team, making it a shared standard everyone is genuinely committed to, not a rule imposed from outside.
Concept 7 of 7
Common User Story Mistakes — Catching Them in Your Own Writing
Let us consolidate everything in this module into a final, practical self-review checklist — the specific mistakes to watch for in your own story-writing before sharing it with a team.
⚡ Why This Matters
Even with all the frameworks from this module in mind, it is genuinely easy to fall into these patterns while writing quickly, especially under deadline pressure. A final, deliberate self-review pass catches mistakes before they reach the team and cause confusion or rework.
MistakeHow to Catch It
Solution disguised as a story (recall Module 1's gotcha)Ask: does this describe WHAT/WHY, or does it prescribe a specific HOW that limits the builder's options unnecessarily?
Generic "As a user" roleAsk: could a DIFFERENT specific role plausibly want something different here? If yes, name the actual role.
Missing or weak "so that" benefitAsk: if I read only the "so that" clause, would I genuinely understand why this matters to the business?
No Acceptance Criteria, or only oneAsk: have I covered both the happy path AND at least one meaningful edge case?
Vague, untestable Acceptance CriteriaAsk: could two different people independently agree on pass/fail, or is there subjective wording?
Story too large (fails INVEST "Small")Ask: could this realistically be built and fully tested within a single sprint?
🛠️ Practical: Full Self-Review of a Complete Story
1Take any user story plus its Acceptance Criteria that you wrote during this module's earlier exercises.
2Run it through every row of the table above, one at a time, honestly answering each diagnostic question.
3For any row where you find a genuine weakness, revise that specific part of your story or Acceptance Criteria right now.
4This six-question self-review habit, applied consistently to every story you write going forward, is genuinely one of the highest-leverage practices covered in this entire module — it takes only a few minutes but catches the large majority of common quality problems before anyone else ever sees the story.
⚠️ Module Wrap-Up
User Stories and Acceptance Criteria are the most granular, day-to-day BA deliverable, but they do not exist in isolation — they are typically derived FROM the higher-level Process Maps (Module 5) and feed INTO the formal BRD/FRD documentation (Module 7). Module 5 goes deep on Process Mapping, the visual technique for documenting As-Is and To-Be workflows that often surfaces exactly which user stories actually need to be written in the first place.
💬 Module 4 Interview Questions (6)
Q1Why does the "so that" clause in a user story matter beyond simply explaining the reasoning to stakeholders?
The "so that" clause communicates the genuine underlying business benefit to the team actually building the solution, not just to stakeholders reviewing the requirement, and this matters specifically because Admins and Developers inevitably encounter edge cases or implementation decisions during Build that the story itself did not explicitly anticipate. When the builder understands WHY a requirement exists, not just WHAT was literally asked for, they are far better equipped to make sound judgment calls on these unanticipated situations in a way that genuinely serves the underlying business need, rather than either guessing incorrectly or having to pause and ask a clarifying question for every minor ambiguity. A story missing this clause leaves the builder working from instructions without context, increasing the likelihood of a technically correct but contextually wrong implementation decision.
"The 'so that' clause gives the builder genuine context for WHY a requirement exists, which is essential for making sound judgment calls on edge cases the story itself did not explicitly anticipate — without it, builders work from instructions alone and risk technically correct but contextually wrong decisions."
Q2A story passes most INVEST criteria but clearly fails "Small," estimated at three full sprints of work. What should happen to this story before it enters a sprint?
A story that fails the Small criterion should be split into multiple smaller, independently valuable stories before it is brought into any sprint, rather than being accepted as-is or arbitrarily shortened by cutting scope without genuine analysis. The splitting should follow effective patterns such as by workflow step or by progressively adding data variations, ensuring each resulting smaller story still delivers genuine, independent value to a real stakeholder on its own, rather than splitting along purely technical lines like backend versus frontend work, which would produce pieces that individually provide no usable value to anyone. This splitting work is ideally done proactively during backlog refinement, well before the story is scheduled to enter a sprint, rather than reactively once a team discovers mid-sprint that the work will not fit, since rushed splitting under time pressure typically produces a worse, less thoughtful result.
"The story should be split into smaller, independently valuable pieces, following patterns like splitting by workflow step rather than by technical layer, ideally proactively during backlog refinement rather than reactively mid-sprint once the team discovers the work does not fit."
Q3What makes an Acceptance Criterion genuinely testable versus merely well-formatted? Give an example of each.
A genuinely testable Acceptance Criterion uses specific, concrete, measurable language such that two different people independently evaluating the finished feature against that criterion would reach the same conclusion about whether it passed or failed, while a merely well-formatted criterion follows the correct Given/When/Then structure but contains subjective language that leaves room for differing interpretation. For example, "GIVEN a report is run, WHEN the data loads, THEN it should load quickly" follows correct formatting but is not genuinely testable, since "quickly" is subjective and different reviewers could reasonably disagree about whether a given load time qualifies. The genuinely testable version would specify a concrete threshold, such as "THEN the report loads within 3 seconds," which any reviewer can objectively verify as true or false without relying on personal judgment or interpretation.
"A genuinely testable criterion uses specific, measurable language two independent reviewers would interpret identically, while a merely well-formatted one follows correct Given/When/Then structure but contains subjective terms like 'quickly' that leave room for differing interpretation — the fix is replacing subjective adjectives with concrete, measurable thresholds."
Q4Explain the difference between Definition of Ready and Definition of Done, and why confusing or skipping one of them causes real project problems.
Definition of Ready is a checklist a story must satisfy BEFORE work begins on it, confirming the story is sufficiently clear, correctly sized, and has its dependencies resolved enough to actually start building, while Definition of Done is a separate checklist a story must satisfy AFTER work is claimed complete, confirming it was genuinely finished to an acceptable, consistent quality standard. Skipping Definition of Ready commonly results in teams starting to build against ambiguous or poorly understood requirements, leading to wasted effort, rework, and frequent mid-build clarification interruptions. Skipping Definition of Done commonly results in inconsistent quality standards across different stories and disputes about whether something is genuinely finished, since there is no shared, objective standard everyone agreed to upfront. Both checklists serve genuinely different purposes at different points in a story's lifecycle, and treating them as interchangeable or skipping either one removes an important quality safeguard.
"Definition of Ready gates whether a story is clear enough to START building, while Definition of Done gates whether finished work meets an agreed quality standard — skipping Ready causes building against ambiguous requirements, while skipping Done causes inconsistent quality and disputed completion status."
Q5Why is splitting a large Epic by technical layer, such as "build the database fields" as one story and "build the user interface" as a separate story, generally considered a poor splitting approach?
Splitting by technical layer produces individual stories that do not each deliver genuine, independent value to any real stakeholder on their own, since a story consisting purely of newly created database fields with no corresponding interface to interact with them is not usable or valuable to a business user in isolation, and the reverse is equally true for a user interface story with no underlying data structure to actually support it. This violates the core principle of good story splitting, which is that each resulting smaller story should still be independently valuable and potentially deployable on its own, allowing genuine incremental delivery and stakeholder feedback throughout the project. Effective splitting approaches instead divide work by workflow step, by user role variation, or by data complexity variation, ensuring each individual piece, even the simplest one, still represents something a real stakeholder could genuinely use and benefit from if it were the only piece delivered.
"Splitting by technical layer produces pieces with zero independent value, since fields alone with no interface, or an interface with no underlying data, are both unusable to a real stakeholder — effective splitting instead divides by workflow step, role variation, or data complexity, ensuring every piece remains independently valuable and deployable."
Q6A Definition of Done checklist was created solely by the BA and handed to the Admin/Developer team without their input. What problem does this likely cause, and what is the better approach?
A Definition of Done checklist created unilaterally without genuine input from the people who actually have to meet it frequently gets treated as an externally imposed rule rather than a shared standard the team is genuinely committed to, which commonly results in the checklist being quietly ignored, only partially honored, or actively resented, especially under deadline pressure when corners are most tempting to cut. The better approach is collaboratively creating the Definition of Done together with the Admin and Developer team, ensuring everyone has genuine input into what the standard should include and explicitly agrees to it before work begins, which produces a shared standard that team members are far more likely to actually uphold consistently, since they helped define it themselves rather than having it imposed from outside their own process.
"A unilaterally imposed Definition of Done is frequently ignored or only partially honored under deadline pressure since the team never genuinely bought into it — the better approach is collaboratively creating it together with the Admin/Developer team so it becomes a shared standard people are committed to upholding, not an externally imposed rule."
📝 Module 4 Recap — User Stories & Acceptance Criteria Mastered
✅ "As a [specific role], I want [outcome], so that [genuine benefit]" — every part does real work, especially the "so that" clause
✅ INVEST gives a concrete, checkable test for story quality: Independent, Negotiable, Valuable, Estimable, Small, Testable
✅ Given/When/Then Acceptance Criteria turn a story into something genuinely verifiable — write multiple, covering happy path AND edge cases
✅ Testable means two independent reviewers reach the same pass/fail conclusion — replace subjective adjectives with concrete, measurable language
✅ Split large Epics by workflow step, role, or data variation — never by technical layer, which produces individually valueless pieces
✅ Definition of Ready gates story start; Definition of Done gates story completion — both should be collaboratively created, not imposed
✅ Run every story through the 6-question self-review checklist before sharing it with the team
🎯 Before Moving to Module 5...
1. Write a complete, INVEST-passing user story with at least 2 testable Acceptance Criteria for a real or imagined Salesforce feature of your own choosing.
2. Take a large feature idea and practice splitting it into at least 3 smaller, independently valuable stories.
3. Draft a Definition of Ready and Definition of Done checklist (4 items each) for a hypothetical team you would work with.
4. Run the full 6-question self-review checklist from Concept 7 against everything you wrote in this module.

Module 5 covers Process Mapping — the visual technique for documenting As-Is and To-Be workflows, which often reveals exactly which user stories actually need to be written in the first place.
☕ Enjoyed this article?
SF Interview Pro is 100% free and maintained by a Salesforce professional. No ads, no paywalls, and no signup required. If this guide helped you prepare for an interview, earn a certification, or grow your Salesforce career, consider buying me a coffee! ☕💜
🇮🇳 UPI (India)
UPI QR Code to support sfinterviewpro
Pay by QR
GPay · PhonePe · Paytm · BHIM
🌎 International
PayPal QR Code to support sfinterviewpro
Scan or tap to pay