Перейти к содержимому

Given, When, Then: Writing Acceptance Criteria and Definition of Done | SF Vibe Lab S17

SF Vibe Lab UADY

0:00 / 0:00

Given, When, Then: Writing Acceptance Criteria and Definition of Done | SF Vibe Lab S17

59 просмотров · 7 дн. назад
SF Vibe Lab UADY
11 подписчиков
59 просмотров · 7 дн. назад
The developer says it's done. The client says it's not what they wanted. Who's right? Usually neither, because nobody defined what "done" means. Guest instructor Rodrigo Rosas teaches this class. He's a business analyst, co-founder of the Salesforce Educators Network, and a former full-stack developer who became the "accidental admin" of a university's Salesforce org in Veracruz. The session picks up where S16's user stories left off. It uses one realistic requirement for the whole class: sales reps want to stop duplicate accounts without blocking real new customers. Rodrigo shows why "Salesforce should detect duplicates correctly" is a weak acceptance criterion and rewrites it in Given / When / Then form. He asks students what a "normalized name" is (is "ACME LTD" with two spaces a duplicate?) and walks through three test cases: same name and country, same name in a different country, and cancelling the warning. Students then critique three user stories. One is too vague to test ("keep accounts clean"), one is already solutioning ("I want a validation rule"), and one is missing what happens after the warning. Along the way he explains why he prefers eliciting requirements over gathering them, and his cat makes a brief appearance. Next comes the Definition of Done: how it differs from acceptance criteria (story-specific vs. a team-wide quality bar), and Edgar Cambranes' challenge to the software engineering students to say where each one fits in the development process. In the AI critic lab, Rodrigo runs a tightly scoped prompt in ChatGPT, reviews the drafted criteria live and checks them against an inspection checklist. The rule: AI proposes, the team decides. The last half-hour is Q&A: front end or back end first, what to do when acceptance criteria change mid-project (and why billable hours matter), how a beginner can tell an assumption from a confirmed business rule, and how to handle a client who's asking for the wrong thing ("two gallons of empathy," and sometimes a Ferrari when they needed a Volkswagen). Session 17 of 23 from SF Vibe Lab at Universidad Autónoma de Yucatán. Chapters 00:00 Nobody defined what "done" means 01:02 Rodrigo Rosas: from accidental admin to business analyst 04:31 Picking up from user stories: today's two questions 06:04 Recap: the user story format 08:24 The requirement: prevent duplicates without blocking real customers 10:00 A quick user story: what's missing? 12:40 What acceptance criteria are: Given / When / Then 14:46 Weak vs. stronger acceptance criteria 16:55 What's a "normalized name"? 20:58 Three test cases: warning, different country, cancel 23:15 Given / When / Then isn't automatically enough 26:51 Exercise: critique three user stories 28:53 Story 2: "I want a validation rule" is already solutioning 31:53 Story 3: a warning, but then what? 33:43 Questions to ask before writing criteria 35:19 Eliciting vs. gathering requirements 38:47 What is the Definition of Done? 41:20 Acceptance criteria vs. Definition of Done 43:05 Story-specific criteria vs. a team DoD checklist 44:18 Edgar's question: where do AC and DoD fit in the process? 50:23 Agile, AI and working on real teams 54:44 AC tests the story; DoD comes after 57:35 AI critic lab: a prompt for drafting acceptance criteria 1:00:00 Live in ChatGPT: reviewing the AI's draft 1:02:17 AI output inspection checklist 1:04:17 Wrap-up: don't assume, ask 1:07:38 Q&A: front end or back end first? 1:10:17 Business analysis works outside software too 1:12:13 Q&A: when acceptance criteria change mid-project 1:17:23 Karen's take: renegotiating scope 1:19:47 Billable hours and work culture 1:22:04 Q&A: assumption or confirmed business rule? 1:25:54 Q&A: what if the client doesn't know the rule yet? 1:27:49 Q&A: criteria for incomplete data 1:29:32 Q&A: when the client asks for the wrong thing