V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
0kaka
V2EX  ›  问与答

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

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


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

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

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

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

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

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

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

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

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

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

    你不能说写文件失败的时候 crash 是因为产品没有需求定义吧
    AslanFong
        19
    AslanFong  
       2021-10-08 15:26:14 +08:00
    case review 的时候 回过这个场景吧。
    首先 PRD 这种场景就要覆盖。
    TD 也会覆盖这样的场景。
    yufeng0681
        20
    yufeng0681  
       2021-10-08 15:45:39 +08:00
    因为技术问题引发的产品问题。最后通过产品经理完善后,落实技术实现。
    假设有 4 款终端(移动,Web,Pc,电视),难道四个终端的开发人员都整一套逻辑去应对异常?显然要统一收口。
    1 )出了问题,都要打板子,技术应该比产品提前想到,预计到异常分支流程要处理(评审时提意见)
    2 )产品经理要加强技术储备,知道哪些异常会引发严重问题,小问题其实研发也不怎么会甩锅,可以随手改掉;而重大异常分支,就不是随手改了,好几天工时呢。
    mxT52CRuqR6o5
        21
    mxT52CRuqR6o5  
       2021-10-08 15:46:53 +08:00
    网不好,是技术和产品都知道会出现的 case
    但网不好具体会产生哪些问题就只有技术才知道了
    技术得先列出来可能会产生一二三四五六七八条问题,产品才可能去出解决方案
    oIMOo
        22
    oIMOo  
       2021-10-08 17:55:00 +08:00
    我有个可能类似的场景,我用微信充值公交卡。
    在付款完、返回公交卡 app 之前,弹出了个隐私提醒,我的付款流程就中断了。
    等了几分钟( 5 - 10 的样子?)然后就收到了退款和重新激活的优惠券。
    这个流程感觉还可以借鉴下。
    0kaka
        23
    0kaka  
    OP
       2021-10-08 18:35:20 +08:00
    总结就是:产品逻辑和技术逻辑不可分,都是系统逻辑,关键在于问题是由需求还是技术引发。
    顺延例子,用户扫码提交订单以后,产品却没提出要做订单详情提醒,这是需求没理清楚;用户扫码提交订单突然断网,数据不一致,这是技术问题。
    而技术引发的问题,就该技术 1 2 3 列出来让产品定方案
    0kaka
        24
    0kaka  
    OP
       2021-10-08 18:36:53 +08:00
    @0kaka 当然 产品肯定要尽可能在前期在文档里覆盖这些影响业务核心的逻辑异常
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2596 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 15:31 · PVG 23:31 · LAX 07:31 · JFK 10:31
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.