Acceptance Criteria4:21 with Ryan Saul
Acceptance Criteria are a formal set of rules for how a feature must work.
- Acceptance Criteria: The formal set of rules for how a feature must work.
- New Feature: A facet of the software being added in addition to what is already available.
So when it comes to QA, what we really like to focus on a lot is process. 0:00 Process can seem like kind of a dry and boring word. 0:06 But what it helps is in ensuring that quality practices are always used across 0:10 all of development. 0:14 First let's review the basic development process. 0:16 We introduce a new idea, turn that idea into a feature, 0:20 development then codes it, QA tests it, and then we release it. 0:24 Simple, right? 0:29 In QA it's important to remember that we are trying to avoid huge design and 0:31 technical challenges at launch by being involved in all of these steps and 0:36 by testing a lot, like as much as possible. 0:41 Most of the time we are dealing with incremental changes in the software, or 0:46 in other words, adding new features. 0:50 Features are just the capabilities that the software can effectively do. 0:53 Your word processor has the feature of typing characters onto the screen, 0:58 printing the document, and saving the document to a file. 1:03 Those are all the features of that software. 1:08 So we have our RSVP app, and we want to add a new feature on top of it. 1:10 We want the add the Hide those who haven't responded feature. 1:15 Let's take a step back though and 1:19 talk about how those features get defined in the first place. 1:20 Usually we have a product manager define it first, but 1:25 it could be other people, even the developers themselves. 1:28 Let's assume it's a product manager asking one 1:32 of our developers to create this hiding feature. 1:35 To help me illustrate this, I'm going to have someone pose as our product manager. 1:39 Hey Ryan, I wanna add a feature that lets users 1:44 hide those who haven't responded to the RSVP app yet. 1:47 Okay, great, but what do you expect this feature to do exactly? 1:51 This is when the product manager should be a little more explicit about that feature. 1:56 So I want the user to be able to click a button, and 2:02 when they click it, every user who hasn't responded gets hidden on the page. 2:06 Awesome, where should that button go on the page? 2:12 Just right above all of the invitees. 2:16 Cool, one more thing though. 2:19 After clicking that button, 2:21 do we want to still be able to add more people to the invitee list? 2:23 They won't show up on the page if they haven't responded. 2:28 Yes, that makes sense. 2:32 Let's show anyone who has just been invited, 2:33 along with everyone else who has responded. 2:36 Anything else? 2:39 Nope, that's it, thank you. 2:40 So in that last discussion, we clarified a few things about our hiding feature. 2:42 We found that when the button is clicked anyone who hasn't responded gets hidden. 2:48 The button goes directly above the current invitees on the page. 2:54 And finally, 2:59 any new invitees will show up on the page even though they haven't responded. 3:00 So what we're defining here is a set of acceptance criteria or 3:05 a formal set of rules for how a feature must work. 3:09 Other aspects about the feature might get decided along the way, 3:13 like what the font should be or how large the button is. 3:18 But the absolute necessary parts of the feature are the acceptance 3:22 criteria and what we want to do is pin them down as much as possible. 3:27 A lot of defects that happen when a product gets released are due to just 3:34 poor planning and not defining the features very well. 3:37 That's why a system of creating acceptance criteria before 3:41 anyone starts to code is so important. 3:45 It's really common for developers to see a vaguely defined feature, but 3:49 start coding on it anyway. 3:53 When can a QA engineering help with defining acceptance criteria? 3:56 Usually in the planning stage when product managers are introducing the feature to 4:01 the team to be worked on. 4:05 We're going to come back to doing QA at the planning stage later in the series. 4:07 But keep in mind that simply asking clarifying questions can drastically 4:12 improve the quality of your product later on, and it's so simple to do. 4:16
You need to sign up for Treehouse in order to download course files.Sign up