前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >投资少见效快的开卡验卡

投资少见效快的开卡验卡

作者头像
程序员吾真本
发布2019-07-01 10:47:17
1.1K0
发布2019-07-01 10:47:17
举报
文章被收录于专栏:程序员吾真本程序员吾真本

开卡(Kick-off)和验卡(Desk-check)是2016年我在ThoughtWorks University做教练时,学到的实践。

这两个迭代开发中进行质量内建的重要实践,能让团队“投资少见效快”地持续纠偏和又快又好地交付软件。

做开卡和验卡前,要做好如下准备工作。

在迭代开发的需求梳理会上,团队讨论下一迭代的用户故事,拆分故事,编写验收条件(主流程)和测试用例(全部流程,包括主流程)。

这些验收条件和测试用例,就是开卡和验卡的物料。

开卡过程

  1. 开发人员每次开始为一个新用户故事卡编写代码前,自己阅读该故事卡的用户故事、验收条件和测试用例,思考其中的疑问点和风险,并记录下来。

之后请来相关的需求和测试人员,三人当面澄清和讨论这些疑问和风险。

此时,需求和测试人员,可以请开发人员用自己的话,讲述一下这些验收条件和测试用例,确保三方理解一致。

为什么要请开发人员讲验收条件?因为怕“知识的诅咒”——需求和测试人员自己很理解验收条件,也天然地认为开发人员也同样能理解。但事实却经常恰恰相反。

况且需求和测试人员之间,也会出现对验收条件理解上的差异。所以让开发人员自己讲一遍,也会启发需求和测试人员发现他们之间的理解也是不同的。

开卡由开发人员驱动,针对其将要编写代码的一个故事而做,而不是团队一起开会开卡,这能提高什么质量?

这能提高开发人员对于故事卡的需求的思考质量。

因为开发人员马上就要写代码了,会比团队需求讨论会的思考更深入,因为那时候还不知道谁要开发哪个故事卡。

为什么开卡能解决网上程序员最怕产品“改需求”的段子中所说的矛盾?

因为这些段子中的矛盾,往往源自程序员在写代码前,没有做开卡确认,而是基于对需求错误的理解编写代码,能不出错吗。

开卡能降低什么成本?

开卡能降低修改代码的成本,因为“改需求”的成本在代码编写之前趋近于零,而在代码编写之后会急剧上升。

开卡能在编写代码前澄清最新的需求,减少改需求的几率和成本。

  1. 若需求和测试人员在开卡过程中,发现之前编写的验收条件和测试用例有问题,则立即修复。
  2. 开发人员完成开卡后,就把卡片从看板的“本迭代待办项”移至“开发中”,并贴上自己的头像。

验卡过程

  1. 开发人员每写完一个用户故事的代码,并在“非本地”测试环境上测试通过,则找到需求和测试人员,按照验收条件,为他们进行演示(即验卡)。

为什么一定要在“非本地”环境验卡?

程序员的另一个段子是:“啥?在测试环境上运行不了?可刚才明明在我电脑上运行的好好的。”

环境的差异也需要解决,所以验卡要在“非本地”环境进行。

验卡应该是由开发人员驱动,针对其刚刚编写完代码的一个故事验卡,而不是一次验多个卡。这能提高什么质量?

能做到持续纠偏,又快又好。

这能省什么时间?

能节省一次验多个卡所发生的等待时间。

  1. 若验卡时发现问题,开发人员立即修复。这能省哪4个时间?
  • 能省测试人员在系统中记录和跟踪软件缺陷的时间
  • 能省开发人员在系统中阅读软件缺陷的时间
  • 能省开发人员切换思路进行修复的时间
  • 能省开发人员很晚才返工所耽误的时间
  1. 开发人员修复完成后,再次验卡。测试人员对于验卡所发现的问题不必在系统中记录软件缺陷。
  2. 若在非本地测试环境验卡时,未发现问题,则开发人员将故事卡移交测试人员进一步进行测试,并把卡片从看板上“开发中”移至“待UAT测试”一列。

想要“投资少见效快”地提高软件开发团队代码质量,优先尝试开卡和验卡。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019.06.28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 开卡过程
  • 验卡过程
相关产品与服务
腾讯云 BI
腾讯云 BI(Business Intelligence,BI)提供从数据源接入、数据建模到数据可视化分析全流程的BI能力,帮助经营者快速获取决策数据依据。系统采用敏捷自助式设计,使用者仅需通过简单拖拽即可完成原本复杂的报表开发过程,并支持报表的分享、推送等企业协作场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档