为什么现在的开发流程是产品对接开发,开发对接测试,而不是产品对接测试、测试对接开发?

2019-05-23 08:54:21 +08:00
 sunjourney

现有的开发流程中,显著问题是:

  1. 产品无法理解技术难点,对产品有第一份理解
  2. 开发无法理解需求文档,对产品有第二份理解
  3. 验收阶段,测试加入,产生第三份理解

开发人员对需求无法掌握的点:一些模糊的需求、没有考虑足够的情况、功能冲突。需求文档实质应该是一份伪代码,覆盖足够多的分支

测试人员一定程度又扮演了产品的角色,除了反馈报告,开发回头又要补丁式的修改,还会对项目提出功能上的修改要求,回归测试可能要发生多次。

既然这样,开发为什么不是 产品直接对接测试,由测试出 spec,交付开发人员,在这个模式中测试人员完全有能力把产品中模糊的需求点校正,没有涉及的点覆盖,并且一份明确的 spec 对开发来说,大大减轻开发负担。不能说对三份理解降低成了一份理解,但三份理解通过 spec 可以取得较为一致的统一。

开发总是吐槽需求文档的问题,那么由专业的测试人士把需求变为 spec,开发做 TDD,PRD -> SPEC -> 实现 是否一种更好的模式?

7234 次点击
所在节点    程序员
62 条回复
seansong
2019-05-23 11:22:08 +08:00
从来没觉得存在你说的相互不理解,产品确实可能存在对技术不了解,开发也确实可能会有时候不能马上领会产品的意图,但是可以沟通啊,所有的疑问和不了解,不都是可以在沟通中变得了解么,干了这么多年产品经理,可能是我沟通能力太好吧,你说的问题从来都没出现过

就算是产品不了解技术提出了什么不合理的需求,或者是技术一时间无法领会产品的设计意图,难道就不能相互理解一下么,没有谁是全才,理解是王道

在我的工作历程中,产品经理一直都是需要直接直面设计、开发和测试的,帮助设计师做出漂亮好用的图,向开发传达需求本身以及需求的前世今生,与测试一起分解需求书写测试用例,是我干得太多吗?其实不是,这就是产品经理的基本工作而已。

看了楼主的描述,你说的那些需求描述不清楚、考虑不够周全、容易引起歧义,这些都是产品经理的基本功,所有的产品经理终其一生不就是在不断改进这些点么?换位思考一下,你的代码就考虑多么周全么?你需要别人连代码框架都先给你,也难怪你会这么多抱怨了
tony9413
2019-05-23 11:31:41 +08:00
这个是产品质量的要求,三方相互制约。
有时候开发也要多考虑需求是怎么来的,不要一味的敲代码,产品的需求也是从市场来的,这中间也会存在一定的误解,最好的消除办法就是一个人坚固市场,产品,开发,测试的工作,但至今应该还没有这个物种出现。
testsec
2019-05-23 11:45:11 +08:00
中国人人都是产品经理
yufeng0681
2019-05-23 11:47:02 +08:00
产品无法理解技术难点,那说明开发团队无能,难点都讲不清楚自己为何做不出来,别人是怎么做出来的(产品肯定是看到竞品可以,才有底气说能做出来的);
开发对含糊需求文档,按照自行理解做,理论上无责,但最好是和产品讨论,并细化;帮助产品把文档写到位,保证一致性;如果一个功能还是多个终端开发,到时候终端一致性就不一样了
测试对需求也产生一种理解,也是因为产品写得不清楚;测试也需要和产品讨论,并喜欢;帮助产品把文档写到位; 写测试用例期间就能发现问题,而不要等着开发结束再说,这样会照成需求变更,返工成本高;
产品不给力,那就前期多评审,多沟通,把这个环节的工作做到位,再进入开发阶段。 不然就会出现返工工作,带来更大的成本损耗;

你的解决方案:由专业的测试人士把需求变为 spec,开发做 TDD,PRD -> SPEC -> 实现
这个角色不是测试,是 SE,开发团队当软件复杂度高的时候,需要抽出 SE 的角色来分析需求,制定实现方案,必须要考虑性能需求,可靠性需求,不在前期设计时就考虑到位,到了开发阶段,大家各做各的,基本上就是裸奔前行,未来用户量上来,出事概率百分百,天天救火,最后痛定思痛,可能就要重构版本了。
nolest
2019-05-23 11:57:03 +08:00
换一个真正的产品经理就能解决,不是那种“人人”的产品经理
liuhuansir
2019-05-23 12:15:20 +08:00
@yufeng0681 你这个偏向性太明显了吧,产品无法理解技术难点,就一定是开发团队无能?有些产品提出的需求天马行空,但更多的需求不是无法实现,而是改动太大,有点得不偿失,或者说工期不够。你怎么不说产品自己也应该去了解一下技术呢,了解之后就可以避免提出一些脑残的需求,导致浪费大家时间
sunjourney
2019-05-23 12:24:32 +08:00
@yufeng0681 #44 数据格式是非常钳制功能的,有的格式定了,有的需求就难点更改,有的需求第一版适合 noSQL,结果第二版又更适合关系型,还有缓存设计的变更,为了特殊功能需要对框架的定制,看似简单的变化对架构设计的影响都非常大,要一一和产品讲吗?对于没有相关技术背景的产品,这个沟通成本非常大,只能回一句做不了。可以简单地断言是开发团队无能吗?认为显示一个 count 有什么难的产品大有人在
jabin88
2019-05-23 12:49:58 +08:00
为什么不是开发对产品,产品对测试
onmyoji
2019-05-23 13:30:02 +08:00
测试在需求阶段就应该介入了吧
kpppp
2019-05-23 13:55:43 +08:00
其实还有一点我觉得作为产品要清楚.一个产品说:为什么支付宝能做成这个样子,而我们不能.为啥 window 系统有这个功能,我们确做不到.你看 iOS 的动画多么丝滑流畅,我们为什么做不到. 对于开发的工程而言,他心里面清楚,你要的所有功能我都给你做了,那我还留在这个小公司里面干嘛?不去 Google 上班,听你一天瞎 BB.
leisut
2019-05-23 13:57:08 +08:00
产品是面向程序员编程,开发是需求文档测试 XD
spritewdx
2019-05-23 15:18:58 +08:00
@kpppp 这句笑死我了
Azmaveth
2019-05-23 15:38:32 +08:00
没有垃圾岗位,只有垃圾员工

我见过研发干不了自己上阵的产品
见过测试没排期自己做测试的产品
见过因为一个研发拖进度一个产品死掉的
见过测试敷衍了事上线出事故的

为什么要有三个岗位?因为这是保证你不出错


末了说一句,现在研发要我布服务器,老板让我导数据,宣讲要我做原型~~~~~~~~~~
而我现在只是个运营~~~~~~~~
hyy1995
2019-05-23 15:52:01 +08:00
@kpppp 小公司的通病就是这样。。。
passerbytiny
2019-05-23 15:52:43 +08:00
@sdushn #19 其他得都没问题,“多数产品经理都是有数年开发经验的”这一句是信口开河。http://www.chinapm.com.cn/?p=1523

@sunjourney 如果照你说的那么干,看看下面的对话。
产品经理(产品总监):
小王呀,听说你对我(大张)提的需求有看法,而且还想改一下,你明天去找一下人事吧。

开发:
测试,听说你要写测试代码,太好了我们终于解放了;不过你注意别只做黑盒测试,而且既然是你写测试代码,接口你也自己写吧;哎呀接口你都写好了,我只写实现由啥意思,我准备辞职了。
测试:
不,我们只提前写测试规格,单元测试或测试代码是你们开发干的事。
开发:滚粗,那根之前的测试用例有啥区别,我们并行干就行了,为什么要先等你写完用例我们才能编码。

看出来真正的问题了吗?那就是产品是“领导”。
sunjourney
2019-05-23 16:51:29 +08:00
@passerbytiny #55 测试只用写外部接口嘛,内部还得开发上
AllenW
2019-05-23 20:32:41 +08:00
因为产品忙着写需求 手动狗头
xmsz
2019-05-23 20:48:12 +08:00
... 所以开发者是直接凭空写功能?????

意义上,产品是直接对接所有人,开发及需求方,没有中间者,因为产品就是中间者
流程上,产品先过开发,再配合测试过一次,有问题?

如果开发可以读懂需求,那要产品做什么?
如果,产品无法表述清楚,那很正常。但如果表述错或天方夜谭的需求那就是不专业。
CoCoMcRee
2019-05-23 21:47:46 +08:00
我这里的测试, 都分不清 前端页面没数据 是接口问题还是页面问题。。。
WytheHuang
2019-05-23 22:03:13 +08:00
就怕测试啥都不懂, 连 SQL 语句和数组都分不清, 开始乱提 Bug. 还有弱智产品经理, 老在测试阶段改需求, 原型和需求完全不一样, 要什么没什么, 写跟狗屎那样. 项目延期还说开发问题, 去怼自己上级领导.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://tanronggui.xyz/t/566795

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX