Acceptance Criteria(验收标准)

本文翻译自 Clear Acceptance Criteria for User Stories with Examples
在一个理想的完美的世界之中,人们之间的相互理解会很简单快捷,不会产生困惑。但是,在现实世界中,我们不得不去找到一种清晰的沟通方式,这样,对方就不会产生误解。

在软件开发中,AC可以帮助我们获知客户的对产品的期望。像是诸如“我想要一个牛掰的APP,并且在人群中非常的火爆”这种AC,并不能带给我们太多的东西。通过对每个user story定义一个清晰的AC,可以减少客户和开发团队之间的误解。

在这篇文章中,我们会讨论在敏捷方法(例如Scrum和 Kanban)中的AC,并且给出一些比较好的AC的例子。

在2020年,Scrum,user stories 和acceptance criteria不再仅仅是流行语

我们在之前已经提到Scrum过了。Scrum是一个敏捷框架,帮助软件开发团队完成任意复杂度软件的开发。

你可以从这里找到更多关于Scrum的消息。

在Scrum(或者其他的敏捷方法)中,我们使用 user story 和AC等概念来确保对于终端用户如何使用APP和开发团队如何满足每一个需求有一个清晰的描述。

当我们开始创建一个产品,我们跟客户合作来定义user story。user story使用下面的格式来写:

作为一个(用户的类型),我想要(做一些事情)以便我能(实现一些目标/获得一些结果/得到一些有价值的东西)。

user story的目的是解释用户在系统中的角色,他们想要的活动,他们想要完成什么。对于敏捷团队,user story是识别他们的需求的最简单的方法。

定义AC

那么,我们要怎么确保一个user story被正确地完成了,并且满足了客户的要求。这就是为什么要有AC。AC是一系列要求的列表,保证user story被完成,并且所有的场景都被考虑到。简而言之,AC明确了在哪些条件下user story是被满足的。简洁书面标准帮助开发团队能够避免对客户需求的歧义和沟通上的错误。

AC是非常重要的,不仅仅体现在使你能够以客户的角度看待产品,还体现在开发流程上。不同的人会在不同的角度上看待同一个问题,这是很自然的事情。明确的书面标准能够给你要实现的功能一个简单的解决方案。

AC的作用

  • 定义边界。AC帮助开发团队定义user story的边界。换句话说,AC可以帮助你确认,当功能跟我们的期望一致的时候,我们的user story就完成了。

  • 达成一致。AC是开发团队和客户的一种同步。开发团队能够准确的知道什么样的条件应该被满足,就像是客户知道他们期望从产品中得到什么。

  • 作为基本的测试。AC是一个系统是否能够如预期运行的基础。

  • 能够准确的计划和预估。AC的场景可以准确的将user story划分为任务,这样就可以更准确的进行计划和估计。

谁来写AC?什么时候来写?

客户或者开发团队来写AC。有一条规则是,由PO(客户)所写的AC需要开发团队的成员来评估,以便确认该AC对于开发团队是清晰明确的,并且从开发的角度来看是没有技术上的限制的。如果PO有软件开发的经验并且懂得如何写项目文档,这种合作方式是极好的。

如果更倾向于让开发团队来写AC,那么就应当由PM或者QA来执行这项任务,因为他们懂得技术栈和特性的可行性。

你知道自动化测试是检验产品是否达到AC的最有效的方法从这里可以了解更多的自动化测试的相关内容

请记住,AC应该是开发前明确,永远不要滞后于开发。因此,开发团队和PO应该就交付内容达成一致,交付内容应该是满足PO需求的最小的功能集合。

如何写AC

AC有几种类型。最流行的是面向规则(rules-oriented)和面向场景(scenario-oriented)的。面向规则的是列表形式,面向场景的是使用场景阐明每个标准。在敏捷团队中,更倾向于面向场景的,因为它有助于了解需求,设想各种用例。并且手动测试和自动化测试也能从中获益。*

使用面向场景的方式来描述AC的一个通用模板为Given/When/Then,这是从BDD中衍生出来的。Given/When/Then格式被用来写AT。AT能够确保所有指定的需求都被满足。

这种格式不仅符合人类的思维逻辑(因为其类似于因为所以这种逻辑)而且也适用于自动化测试工具,例如Cucumber和RSpec。举个例子,我们创建一个有两种类型的用户的网站,登陆用户和非登陆用户。我们会写一个给登出用户的登入特性的user story。

作为一个登出用户,
我想要登入这个网站,
以便我能获取到我自己的信息。
场景:系统用户使用有效的密码登陆
考虑到(Given)我是一个登出用户,
并且我在登陆页面
当(When)我填入用户名和密码,
并且点击登入按钮的时候,
那么(Then)我就登入了系统。

Given/When/Then模板帮助你减少写测试用例的时间,因为你已经提前描述了系统的行为。我们更倾向于使用第一人称“我”来写AC,因为它帮助我们从一个用户的角度来看待问题,并且将客户的需求记在心里。

这里有一些tips,可以帮助你写一些好的AC:

  • 你的AC应该是定义明确的,这样你的团队成员才能明白你所表达的内容。
  • 确保你的AC是可实现的。把你想要交付的内容尽可能的细化,这样你才可以专注于要交付的内容。换句话说,不要想着去描述每一个细节,因为这样你会是你的backlog聚集,并且淹没在许多小的任务上。
  • 跟所有的干系人配合,你的AC是建立在一致的基础上的。
  • 创建可测量的AC,这样你可以充分的估计开发时间,不会导致预算或者时间不够的情况。
  • 考虑提供一个checklist,这样你就能够知道你的AC覆盖了哪些user story。
acceptance-criteria.jpg

AC的例子

在这一章节中,我们给出几个AC的例子。

Example #1

我们的第一个例子描述了网页搜索功能。

作为一个网站用户,
我想要在网页上搜索,
以便我能找到必要的信息。

根据Given/When/Then模板,AC应该是

场景:用户通过名字搜索
考虑到我是一个注册或者非注册用户,
当我打开产品页面的时候,
那么系统会给我显示产品列表
并且系统会在屏幕的右上角显示搜索区域
当我在搜索的输入框中输入已有产品的名字,
并且点击Apply按钮或者敲击enter按键的时候
那么系统会在搜索结果区域给我展示符合搜索结果的产品名字的列表,
并且系统会显示搜索结果的数目

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,560评论 4 361
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,104评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,297评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,869评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,275评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,563评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,833评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,543评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,245评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,512评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,011评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,359评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,006评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,062评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,825评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,590评论 2 273
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,501评论 2 268

推荐阅读更多精彩内容