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

编辑导语:作为产品经理,做需求是本职工作,但如果在打造产品的过程中,产品本身某一类功能存有不健全结构时,即存在所谓“隐患”问题,该如何调整状态面对并解决呢?本文将对其进行方法的分享,值得阅读学习。
模板|遇到要做但是有“隐患”的需求怎么办?
文章插图
我是一个产品经理,做需求是我的本职,但有一类功能我真的是不想做但又不能不做——技术实现不复杂,用起来容易有很多小问题,存在“隐患”。这种功能做了就很麻烦,弄不好就未必能够有正面评价。
今天之所以谈这个,自然是因为最近又遇到了这类功能。
最近,我收到一个需求:后台的某个城市选择功能,除了单独勾选外,需要新增批量上传的功能,允许直接导入excel表格,批量勾选城市。
经过进一步了解后这个需求可以翻译为:新增批量上传的功能,操作的时候使用的同事直接上传excel表格,上传后通过技术手段从表格中读取出城市,将这些城市和数据库中的城市自动匹配,然后自动勾选匹配上的城市,由于上传的时候表格里面的城市是中文名称,所以需要使用中文进行匹配,不预设上传模板。
如果是技术的同事看到应该就知道这个功能其实不好处理,不是指技术不好实现,而是说实际用起来会有很多问题。
我们展开聊一下这个功能。
需求的起源是什么呢?是因为在实际操作的过程中,一个个勾选城市很麻烦。
大家可以想象一下,类似在app上的城市选择组件,如果要多选,就需要先选择省份再选择市一级单位。如果是整个省都选就还行,如果是这个省里面只有部分城市,那就必须先进入这个省,然后再选择对应的城市,确实麻烦。
尤其是如果参照的城市列表城市不是按照省份来列的,那就更麻烦,每次都得看这个城市是哪个省份的,然后进去勾选,然后到下一个省份勾选,如果这个省份有十个城市,搞不好就得进十次,非常麻烦。
这还是你知道所有的城市归属到哪个省份,如果不知道你还需要百度,然后再勾选。
活虽然不复杂,但是操作起来是很麻烦的,如果还需要多次重复操作的话简直可以说是噩梦般的体验,分分钟眼睛就花了。
所以才有了批量上传匹配这种需求,需求是十分合理的。
虽然合理但是不意味着这个需求不麻烦,问题就出在这个【按照中文名匹配,不预设模板】上面。
我们先说说如果是技术来处理一般是怎么处理的:
在技术实现层面,一般来说数据库里面预存的城市是同时包含了城市名和code的,code可以理解为城市的唯一编码,是一串数字,技术部门在内部使用这些城市数据的时候实际上是以code为准的,因为精准不会出错。
所以如果是技术做处理的话一般是让使用的同事导入城市名+code两列,技术根据code进行匹配,城市名是给使用的同事识别用的。
而且这些城市名和code是技术会预先给模板数据的,需要在模板数据里面选取对应的城市然后导入。
操作上就是使用的同事拿着要勾选的城市名单,然后从模板数据里面选出这些城市,最后导入数据库。
操作起来的确是不那么方便的,如果说多次重复操作的话也能节省时间。
但是在使用的同事的层面来说,使用code显然是不合适的,最便捷肯定是有名单就可以直接导入。
使用的同事的城市名单来源可能是多样的,可能是第三方给的,或者自己从某个地方导出的,或者从页面上复制的,无法预判,换句话说很可能是不符合规范的。
注意我说的这句话——很可能是不符合规范的,虽然使用的同事使用的表格在人工使用上没有问题,但是技术层面要识别的话必须符合特定的技术规范,而使用中文名进行匹配就很容易识别失败。
譬如表格里面的内容有空格/符号,内容里面还有隐藏字符,数据库预存的城市带有市/州但是上传的时候没有,上传的表格有其他格式设置等等,虽然人工使用没有问题,但是技术层面就会匹配失败。
所以这个功能技术实现不复杂,读取表格的城市名匹配一遍,匹配成功的勾选,匹配失败的不勾选。
对于匹配失败的提示,最基本的就是提示一下上传了多少条,成功了多少条,如果两个不相等就肯定有失败的,进阶一点的就追加一个需求点,把匹配失败的展示在弹窗上,这样就能更直观的知道有哪些城市需要再次处理。
使用的同事在看到提示以后去修改相关的城市数据,然后再次上传。