《敏 捷 教 练:如何打造优秀的敏捷团队》—6.4 确认细节
【摘要】 本节书摘来自清华大学出版社《敏 捷 教 练:如何打造优秀的敏捷团队》一书中第六章,第6.4节,作者是Rachel Davies Liz Sedley,徐 毅 袁店明 译。
6.4 确认细节
一旦团队已经理解了基本的故事、用户是谁以及他们试图解决的问题,接下来要做的就是讨论细节并商定具体要实现什么行为。和团队一起,以测试集的形式明确故事的范围,这些测试都通过了,故事才能算作“完成”。这些故事测试[1]有助于团队澄清需要构建什么以及为此需要完成多少工作。
写在故事卡片背面的项目符号(bullet point)就是故事测试最初的样子。建议团队,在将用户故事放入下一迭代的计划之前,这样的细节程度已经够用。晚些时候,迭代中需要编写可运行测试脚本时,会用到这些注释。
我们发现,团队有时候会期待客户自行提供这些测试。帮助团队清楚认识到这样做不大可能有效果,商人更可能只关注一切运转正常时自己能做什么,而不会关注会出什么状况。例如,在考虑图书搜索过程时,他们可能更关注用户能够做什么,而不是没有结果显示时所发生的事情。
慎用“测试”这个词,因为客户可能会找借口马上开溜,这个词让人觉得接下来会有一次有技术含量的交谈。别让技术语言吓跑了他们,建议团队采取走查真实样例的方式来拟定故事测试。样例可以帮助团队检查,检查他们是否理解软件的用意,以及什么行为能满足客户需求。样例还能引导团队探索,去发现可能需要进行错误处理的情况。
先从简单的用户交互开始,也就是用户达成目标的情况。这时要鼓励团队向客户问问题,例如:
l 用户输入了什么数据?
l 用户期望看见什么?
l 有没有业务规则是我们需要知道的?
为用户界面描速写或许有帮助,铅笔草图足矣。团队需要理解的是内容和交互,而不是形式。
现在,鼓励团队思考可能出错的地方。需要处理的输入数据有哪些?要考虑不良数据和实际数量。在此期间,提醒团队留意他们现在并不是在写测试脚本,所以不需要现在就找出所有的边界情况。
如下是一些故事测试,归属于用户故事“作为购物者,我想要通过书名查找书籍以便购买”。这些测试使用的是一个简单的故事测试模板Given-When-Then[2][Nor06]:
l 给定用户正在浏览搜索页面并输入了“敏捷辅导”(只有一个结果满足条件),如果用户点击了搜索按钮,那么将显示书籍的完整信息(书名、作者、封面图片、目录、价格、评论)以及添加至购物车按钮。
l 给定用户正在浏览搜索页面并输入了“测试驱动开发”(有多个结果满足条件),如果用户点击了搜索按钮,那么将显示一个按价格排序的书籍概要列表,概要旁边是显示更多按钮。
l 给定用户正在浏览搜索页面并输入了“瀑布辅导”(没有任何结果满足条件),如果用户点击了搜索按钮,那么将显示一条消息:“对不起,没有找到相关书籍。”
如果只有少数几个测试,简单记在故事卡背面就行。或先记录在别的卡片上,然后再跟故事卡夹在一起。留意故事卡上夹着一大叠测试卡的情况,这意味着要么故事太大,要么团队讨论得太细。
我们来看看团队是怎么进行这些故事测试的。
进行故事测试
Amanda是一名产品经理,她扮演着网络书店客户的角色。在每日站会上,她寻求团队的帮助,想了解给当前网站增加ISBN搜索的难度有多大。开发人员Damian和测试人员Larry自愿帮忙,先跟她一起看看故事的细节,然后再给故事做初步估算。
“为什么用户需要ISBN搜索?”Damian问,“他们已经可以根据作者或关键字搜索过了。”
“上一轮易用性测试时提出的,”Amanda解释到,“看样子,有些心急的用户并不愿意为了搜索菜单而费神。”
Damian皱了皱眉,“那我们应该不需要重新设计搜索的工作方式吧?我觉得,只要想到解决办法,应该很快就能修复。”Amanda点了点头,写下下面的故事卡片。
接下来,他们继续讨论某个样例的实现。输入1934356433这样的ISBN,应该显示书籍结果页面。网站上已经有相应的模板,所以无须讨论要显示哪些细节。Damian写下了下面的故事测试:
[]
Damian问:“如果用户并未输入完整的ISBN就搜索,该怎么办呢?我们需要做ISBN部分匹配吗?”
Amanda想了一会儿说:“不见得,那会错过了故事的要领。要不就把他们导向标准的无结果页面,显示前三大畅销书吧?”Damian把它记录下来写在第二张故事测试卡上。
测试人员Larry读了一下:“我们还要处理13位的ISBN?”Amanda点了点头,然后在第一张故事卡底部添加了一条注释。
“是不是只有输入数字才返回结果显示?空格和连字号可以吗?”
“当然。”Damian继续说道,“去除空格和连字号应该花不了多少工夫,所以我们可以也做进去。”
Amanda表示认同:“好主意。”
现在,所有团队成员都很开心,因为他们已经非常理解这个用户故事,完全可以给出估值了。
上述故事表明,在得出一些测试并添加给用户故事时,可能会推迟其他故事测试。
用户故事是一种简单的方法,通过谈论用户的需要,团队可以理解他们的客户。作为教练,你要关注的是帮助他们戒除前敏捷时期养成的坏习惯,例如,认可需求应该按照书面文字进行实现,而不去问为什么不考虑其他可选方式。给他们示范如何使用卡片,鼓励他们参与用户故事交谈,分享自己的观点并以故事测试的形式提炼出更多细节。
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
作者其他文章
评论(0)