产品线上交付阶段出现的两次显著Bug分析

前言

近期,部门内部的A项目在线上使用时出现了两次较为明显的Bug。作为负责A项目需求梳理、原型设计和功能验收的产品经理,我将从这一角色出发进行思考和总结。

问题描述

  1. 前端页面编辑一个输入框时,显示"入参错误"。
  2. 前端页面修改模块 A时,模块 B和模块 C的同一参数输入框出现联动,都变为了模块 A的值。
  3. 前端页面调用的字段和后端定义的功能没有对应上。

问题分析

  1. 问题一的主要原因是后端相关的功能只发布在了开发和测试环境,而正式环境没有发布。
  2. 问题二的原因是模块 ABC中同一参数是抽取复用的,但前端在处理时,没有使用对象解构赋值 {...parameter} 来创建一个新的对象副本,而是直接引用了同一份 parameter 对象导致。
  3. 问题三的原因是需求文档显示,前端在开发时,已经和后端同事约定好参数字段一一对应,但在后端实现时, 沟通 上面信息没有同步到位,字段和预期的不一致,导致功能出现异常。前端开发人员没有真正从 用户角度 出发,验证功能是否完善。产品交付时,产品经理没有依据需求文档进行验收,做好输入和输出两个关键部分,形成 闭环

经验教训

  1. 当需求中出现大量专业性较高的参数字段时,需要在需求文档中说明清楚,确保信息同步,毕竟这些不是像 usernamemobileemail等常识类的字段。
  2. 前端在开发功能后,通常容易陷入只要保证自己实现的功能页面增删改查没有问题,就可以了。很少多想一步,从用户角度出发,模拟用户的使用场景,然后再次确认功能是否正常,这个意识还是很重要的。因为一个功能模块不仅仅涉及前端,还有后端,功能的验收要结合后端进行,这个时候没办法把职责划分那么清晰,只能前端主导,后端配合,把整个功能模块验证流程都走一遍,而不是浮于表面。
  3. 在部门里,期望产品同事参与到项目中,具体除了整理需求文档和原型设计,最终的交付也是很重要的,这就需要产品切实参与到版本功能的验收,确保和预期的需求一致。这方面曾涉及到对研发的 信任问题 ,其实和信任没有关系,能力再出众,功能做得再好,如果理解错了需求,最终交付的不是需求的本意,那也是有问题的,所以产品参与最终版本的功能确认,是很关键的一环。就好像封装一个函数,输入和输出,先不管函数里面到底是怎么实现的,最终还是以函数输出的结果为重,函数给的结果都不对,里面用了多好的技术和巧妙构思,都显得苍白无力。所以,产品对于每一个需求点,需求->验收,应形成 闭环
  4. 潜意识里还是觉得是内部的项目,导致重视程度不够,而且,忙并不是借口,对于负责A项目的产品工作来说,验收形成闭环这一块确实懈怠了,本就应该按标准的项目流程去走,必须做的就要去做,没办法省略掉。

预防措施

  1. 验收环节需提供详细测试用例,并且分为三个环节:研发自测、项目负责人验收和产品交付验收,基本覆盖了这个功能的开发人员、这个项目的负责人和这个需求的提出人。
  2. 发版节奏放缓,确保各个环节都做到位。贪图求快,功能质量出现问题,工作结果还是大打折扣的。

本文由mdnice多平台发布

相关推荐
蚂蚁集团数据体验技术18 小时前
一个可以补充 Mermaid 的可视化组件库 Infographic
前端·javascript·llm
华仔啊19 小时前
还在用 WebSocket 做实时通信?SSE 可能更简单
前端·javascript
木易士心20 小时前
深入剖析:按下 F5 后,浏览器前端究竟发生了什么?
前端·javascript
xump21 小时前
如何在DevTools选中调试一个实时交互才能显示的元素样式
前端·javascript·css
Front_Yue21 小时前
深入探究跨域请求及其解决方案
前端·javascript
风止何安啊21 小时前
JS 里的 “变量租房记”:闭包是咋把变量 “扣” 下来的?
前端·javascript·node.js
有点笨的蛋21 小时前
深入理解 JavaScript 原型机制:构造函数、原型对象与原型链
前端·javascript
晴栀ay21 小时前
JS中原型式面向对象的精髓
前端·javascript
3秒一个大21 小时前
JavaScript 原型详解:从概念到实践
javascript
Amy_yang21 小时前
js 封装时间格式化,将单位有秒(s)的数据转换为'00:00:00'格式
javascript