遇到要做但是有“隐患”的需求怎么办?

1 评论 3988 浏览 2 收藏 11 分钟

编辑导语:作为产品经理,做需求是本职工作,但如果在打造产品的过程中,产品本身某一类功能存有不健全结构时,即存在所谓“隐患”问题,该如何调整状态面对并解决呢?本文将对其进行方法的分享,值得阅读学习。

我是一个产品经理,做需求是我的本职,但有一类功能我真的是不想做但又不能不做——技术实现不复杂,用起来容易有很多小问题,存在“隐患”。这种功能做了就很麻烦,弄不好就未必能够有正面评价。

今天之所以谈这个,自然是因为最近又遇到了这类功能。

最近,我收到一个需求:后台的某个城市选择功能,除了单独勾选外,需要新增批量上传的功能,允许直接导入excel表格,批量勾选城市。

经过进一步了解后这个需求可以翻译为:新增批量上传的功能,操作的时候使用的同事直接上传excel表格,上传后通过技术手段从表格中读取出城市,将这些城市和数据库中的城市自动匹配,然后自动勾选匹配上的城市,由于上传的时候表格里面的城市是中文名称,所以需要使用中文进行匹配,不预设上传模板。

如果是技术的同事看到应该就知道这个功能其实不好处理,不是指技术不好实现,而是说实际用起来会有很多问题。

我们展开聊一下这个功能。

需求的起源是什么呢?是因为在实际操作的过程中,一个个勾选城市很麻烦。

大家可以想象一下,类似在app上的城市选择组件,如果要多选,就需要先选择省份再选择市一级单位。如果是整个省都选就还行,如果是这个省里面只有部分城市,那就必须先进入这个省,然后再选择对应的城市,确实麻烦。

尤其是如果参照的城市列表城市不是按照省份来列的,那就更麻烦,每次都得看这个城市是哪个省份的,然后进去勾选,然后到下一个省份勾选,如果这个省份有十个城市,搞不好就得进十次,非常麻烦。

这还是你知道所有的城市归属到哪个省份,如果不知道你还需要百度,然后再勾选。

活虽然不复杂,但是操作起来是很麻烦的,如果还需要多次重复操作的话简直可以说是噩梦般的体验,分分钟眼睛就花了。

所以才有了批量上传匹配这种需求,需求是十分合理的。

虽然合理但是不意味着这个需求不麻烦,问题就出在这个【按照中文名匹配,不预设模板】上面。

我们先说说如果是技术来处理一般是怎么处理的:

在技术实现层面,一般来说数据库里面预存的城市是同时包含了城市名和code的,code可以理解为城市的唯一编码,是一串数字,技术部门在内部使用这些城市数据的时候实际上是以code为准的,因为精准不会出错。

所以如果是技术做处理的话一般是让使用的同事导入城市名+code两列,技术根据code进行匹配,城市名是给使用的同事识别用的。

而且这些城市名和code是技术会预先给模板数据的,需要在模板数据里面选取对应的城市然后导入。

操作上就是使用的同事拿着要勾选的城市名单,然后从模板数据里面选出这些城市,最后导入数据库。

操作起来的确是不那么方便的,如果说多次重复操作的话也能节省时间。

但是在使用的同事的层面来说,使用code显然是不合适的,最便捷肯定是有名单就可以直接导入。

使用的同事的城市名单来源可能是多样的,可能是第三方给的,或者自己从某个地方导出的,或者从页面上复制的,无法预判,换句话说很可能是不符合规范的。

注意我说的这句话——很可能是不符合规范的,虽然使用的同事使用的表格在人工使用上没有问题,但是技术层面要识别的话必须符合特定的技术规范,而使用中文名进行匹配就很容易识别失败。

譬如表格里面的内容有空格/符号,内容里面还有隐藏字符,数据库预存的城市带有市/州但是上传的时候没有,上传的表格有其他格式设置等等,虽然人工使用没有问题,但是技术层面就会匹配失败。

所以这个功能技术实现不复杂,读取表格的城市名匹配一遍,匹配成功的勾选,匹配失败的不勾选。

对于匹配失败的提示,最基本的就是提示一下上传了多少条,成功了多少条,如果两个不相等就肯定有失败的,进阶一点的就追加一个需求点,把匹配失败的展示在弹窗上,这样就能更直观的知道有哪些城市需要再次处理。

使用的同事在看到提示以后去修改相关的城市数据,然后再次上传。

如果顺利一般操作两次,如果不顺利不好说。现实情况往往就在这个不好说里面。

我过去用过类似的功能,有些城市反复上传都无法成功,问技术也不知道问题在哪里。然后就没有然后了。

一旦反复遇到这种匹配失败的情况,使用的同事的体验就不会很好,然后会继续提要优化的问题。

问题就在这里了,没法优化。产品经理需要解释为什么无法优化了,很可能是解释不好的,最后的结果是虽然使用的同事接受了解释,但仅仅是接受了解释。

要是领导问起来,使用的同事对这个功能的评价就是不高的,那么对于做这个功能的产品来说就是做了一件不讨好的事情,技术觉得不合适、同事用着不好用。

所以我遇到这种需求真是不想做,后续的处理和解释比较麻烦。

遇到这种情况,有一点是可以明确的,那就是做是必须做的,毕竟需求的合理性是存在的。

但是你也必须做一些前期工作,避免后续的麻烦:

首先是必须合理管理使用人员的预期。一定要在前期的时候把可能会遇到的情况和使用的同事讲清楚,管理好预期。

提需求的同事肯定是不知道这里面还有这么多名堂的,这就要靠你科普了。

你需要把这个问题用最简单的语言讲清楚,使用的同事如果比较容易沟通的话就还好,不容易沟通的通常不会在意你说的这些,他们会觉得自己肯定不会犯这些问题。

不管是哪一种你都需要在前期多做一些沟通,这样至少在后面的沟通里面占据主动。

其次,你需要和主管领导也沟通一下这个问题,让他心里有数。

把具体的需求和沟通的情况都说一下,如果后续遇到被其他部门质疑的时候,你的主管领导能在第一时间做出合理的处理,不至于一脸懵。

不要给领导添麻烦,尤其是可以避免的麻烦,领导也是人,不会喜欢麻烦的。

最后你还需要和技术的同事做沟通,讲清楚这个需求的使用场景。

像这个批量上传城市的需求,对于技术的同事来说,如果你不说场景,只说需求,他们肯定会提出来异议,说要按照预设的模板上传,按照code进行匹配,这就和需求不匹配了。

你需要说清楚场景,解释清楚为什么不是按照更精确的思路实现,而是采用这种方式。

讲清楚关键的地方,技术自然也能理解,也就知道不是你这个产品经理坑,而是确实需要这么做。

这三步下去就能把后续的影响降到最低。

产品经理在这里面做的工作并不仅仅是整理需求,还有大量的沟通工作,实际上沟通本身就是产品设计解决方案的一部分。你需要让大家知道你设计方案的思路,确保符合需求同时也保障落地实现。

产品经理还是需要懂得保护自己的合理利益。

因为正好遇到这么个需求,所以分享一下,希望对大家有个启发。

我说的不包含全部,仅仅是一种思考的分享。

 

本文由 @产品人玄青 原创发布于人人都是产品经理。未经许可,禁止转载

题图来自 Unsplash,基于 CC0 协议

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
评论
评论请登录
  1. 人民有了需求,产品有了更新的动力,有了流量,有了很多

    来自山东 回复