什么是产品逻辑,什么是技术逻辑

2021-10-08 10:04:19 +08:00
 0kaka
工作中经常遇到分不清产品逻辑还是技术逻辑的情况,举个例子:小程序扫码支付提交订单,在提交的时候突然断网了,可能出现银行卡已经扣费但后台没有收到订单的情况。当出现类似问题的时候,技术认为这是产品逻辑没写好,因为需求文档里没有。产品认为这是技术处理问题,像这种问题,该怎么判定呢?
2430 次点击
所在节点    问与答
24 条回复
Kaier
2021-10-08 10:06:12 +08:00
那得看谁锅甩得好了~.~
0kaka
2021-10-08 10:10:17 +08:00
@Kaier 哈哈哈哈== 我就是上来学习的
markgor
2021-10-08 10:25:06 +08:00
微信支付文档中有提及过的;
1 、当遇到非正常情况 /支付后没直接返回 成功 /不成功 的消息时,应当调用查单接口对交易进行查询;
2 、小程序提交支付无论是否成功,都不应当以接口返回消息为准,应当以异步回调通知为主;


统一下单->开启支付结果轮询
|---拉起支付
(轮询结果)
|--成功 ---支付成功
|--拉起支付 有返回或异常,但轮询结果为未支付-->后台查单
tabris17
2021-10-08 10:27:23 +08:00
这显然是那种产品想不到但的确是产品逻辑的逻辑
markgor
2021-10-08 10:28:36 +08:00
而且针对你这个问题,
小程序扫码支付提交订单
提交的时候突然断网了(客户端断网还是服务端断网)
> 可能出现银行卡已经扣费但后台没有收到订单的情况
如果是客户端断网,那微信支付的异步通知是通知服务端,客户端就算把卡拔了也没关系才对啊。
如果是服务端断网,那么这个影响就不是单纯支付这一块了
0kaka
2021-10-08 10:31:27 +08:00
@markgor 这个问题我只是举了一个例子 类似这种问题,到底属于谁的逻辑?
wolfie
2021-10-08 10:31:33 +08:00
这个例子是 技术问题

早上刚遇到公交卡充值问题

选择公交卡 -> 付款 -> 付款结果成功 -> 余额增加
网络问题,支付完,但是付款结果一直没拿到。
但是充值记录中,可以看到订单,然后手动补偿。

订单生成是 支付 回调 服务器
markgor
2021-10-08 10:38:15 +08:00
@0kaka 具体问题具体分析吧,
这问题就像双向车发生交通事故,算谁的责任?
没有具体原因也不好确定。

我个人认为,类似这种涉及第三方的,首先要看清楚技术文档,是否有提及过这些场景和规避方法,如果技术文档有提及到(类似你举例的),那肯定就是技术逻辑问题了。
如果不涉及第三方的,那严格来说就是产品逻辑问题。

比如:
某终端设备,产品需求本来就是要联网的,但是客户断网这些情况就属于不可抗力因素,客户找来基本都是把问题推给客户自身网络导致。
后期产品经理就会考虑到各种因素,然后增加联网 /脱机 版........
justfindu
2021-10-08 10:50:57 +08:00
这个问题就是技术问题, 因为这后面的技术是需要你提供的解决方案. 比如怎么防止掉单
qianmoumou
2021-10-08 10:54:15 +08:00
回调通知 响应的问题吧
mxT52CRuqR6o5
2021-10-08 10:59:56 +08:00
偏技术的问题,如果技术有过小程序扫码支付对接经验,就可以在需求评审时提出可能出现的问题,然后产品再想方案应对
你技术都不知道会有这个问题,怎么让产品去考虑这个问题
(话说微信支付不是腾讯会调用回调接口吗?为什么需要用户在支付成功后提交去通知?感觉支付对接的设计就有问题)
hlwjia
2021-10-08 11:49:56 +08:00
偏技术问题,因为从你们的这个产品来看,这个不属于业务上的细节;但如果你们的产品就是“微信支付”,那这是产品的问题。

锅在于技术在需求评审时没有提出来;如果没有需求评审环节的话,可以把锅再往上甩。哈哈哈哈哈
mcfog
2021-10-08 11:52:33 +08:00
别问,问就是共同责任

产品或研发甚至测试任意一边靠谱就不会出这种问题,反过来,出现这个问题说明链路上所有人都有待改进
lei2j
2021-10-08 12:26:08 +08:00
应该是技术问题,技术要规避网络波动造成的问题。
ccde8259
2021-10-08 12:44:12 +08:00
技术逻辑上先用安全的未定义行为填掉,再跟产品反馈补齐产品逻辑。
xrxsh
2021-10-08 13:26:32 +08:00
不要那么在意是产品的问题还是技术的问题,本身就是一个团队的问题。产品想不到的逻辑,技术看到了,可以告知网络波动可能的情况,以及技术的解决方案和建议,让产品在文档上补充逻辑就好了,如果一定要确定是谁的锅自然推进不下去,只会扯皮
Jooooooooo
2021-10-08 13:41:09 +08:00
这是技术应该帮产品想的产品逻辑.

技术没有提前想到, 能力不过关.

产品没有提前想到, 很正常. 产品能想到是加分项.
binux
2021-10-08 13:47:08 +08:00
后台没有收到订单的情况 是技术问题
没有收到订单前端没有提示 是产品问题

你不能说写文件失败的时候 crash 是因为产品没有需求定义吧
AslanFong
2021-10-08 15:26:14 +08:00
case review 的时候 回过这个场景吧。
首先 PRD 这种场景就要覆盖。
TD 也会覆盖这样的场景。
yufeng0681
2021-10-08 15:45:39 +08:00
因为技术问题引发的产品问题。最后通过产品经理完善后,落实技术实现。
假设有 4 款终端(移动,Web,Pc,电视),难道四个终端的开发人员都整一套逻辑去应对异常?显然要统一收口。
1 )出了问题,都要打板子,技术应该比产品提前想到,预计到异常分支流程要处理(评审时提意见)
2 )产品经理要加强技术储备,知道哪些异常会引发严重问题,小问题其实研发也不怎么会甩锅,可以随手改掉;而重大异常分支,就不是随手改了,好几天工时呢。

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

https://www.v2ex.com/t/806341

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

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

© 2021 V2EX