01 在喊什么

在敏捷开发工作过程中,我们经常遇到这样的场景:

。。。

这些场景,是否似曾相识,又或者又正在发生着。

《敏捷宣言》四大价值观之一:工作的软件 高于 详尽的文档。

坦白地说,我也曾遇到上述问题,也经常反复琢磨这句话,本身也不喜欢整天写文档,特别是事无巨细的文字描述多的需求,实在太啰嗦。但现在问题出现了,想想我们是否走偏了,或大家曲解了这句话的意思。

02 为什么喊

此时,我们不妨采访一下在喊的测试人员。

问(采访人) 答(测试人员)
为什么在收到测试版本时喊没有需求文档 因为流程上有定义,需求文档最迟必须在测试版本发布时提交
为什么流程上这样定义 因为详细需求经常变,只有代码编写完成,详细需求才能同步稳定
没有需求文档时,测试人员依据什么设计测试用例 依据讨论会上的需求信息
讨论会上的信息足够支撑写测试用例吗 通常不能,讨论会上的结论是大致的方向性的需求
拿着方向性的需求,可以写出测试用例吗 不能写全,只能提取测试点与测试思路
没有明确的测试用例,合适做测试执行吗 不太合适,因为有些测试用例的预期结果不明确,所以流程上要求最迟在测试版本发布时必须提交明确的需求。

上述的问答系统,逻辑上好像能自洽。但此流程对测试人员其实并不友好(后面他们需一边执行测试一边完善用例),同时,好像测试人员在喊主要是在捍卫流程。其实,主要还是测试人员对测试的充分性缺乏信心,因为测试不充分造成漏测,直接影响工作业绩(KPI)。

没有需求文档,对测试的工作影响,主要表现在:

03 敏捷文档≠不写文档,关键是写的时机

测试为什么喊,在采访表中已答复,在工程实践中或许是一个好方法,但是否适合每一个团队,需根据当下团队特点作调整,但不能破底线。即:敏捷文档=不写文档。

我们再来看看第 2 个,第 3 个问题,都与需求文档没有及时沉淀有关。

调查报告 An Information Systems Manifesto(作者为 James Martin ,由 Prentice Hall 于 1984 出版) 表明,56% 的缺陷其实是在软件需求阶段被引入的。据此,我们在需求阶段解决问题是性价比最高的。虽调查报告离现在已好久,但在工程实践我们都很清楚,解决问题越往左移,成本越低,这一原则适合软件开发任何时候。

敏捷开发中,敏捷文档≠不写文档,而什么时候写文档,最合适的莫过于当下,即此任务交付前。

原文链接:https://mp.weixin.qq.com/s/aJ4JHLoMkT3Z_Dlz_IhM5Q


↙↙↙阅读原文可查看相关链接,并与作者交流