近来常和需求方打交道,遇到了不少的坑,在填坑的过程中也得到了一些反思。
本文通过遇到的一个小坑,反思一下“不能只站在用户角度思考”这个问题。
需求方提的需求
“我需要在管理后台增加一个企业用户管理模块。”,需求方说了很简单的一句话。
在和需求方一番沟通之后,对需求进行了细化,然后脑中快速出现了常见的用户管理后台的界面及功能:
1、页面中用一个列表把用户核心信息展示出来,包括用户id、用户姓名、所属企业名称、手机号码、企业邮箱等;
2、列表上方包含按注册时间进行筛选、按关键词进行搜索等功能模块;
3、还有增删改查及导出等基本功能;
从用户角度思考
在根据需求进行功能逻辑设计时,很自然地站在了用户的角度去思考,如何才能让每一步操作都更加便捷。
比如“按关键词搜索查询”这个小功能,按以下逻辑进行设计:
1、可以输入所有用户信息字段(比如:用户id、用户姓名、企业名称、手机号码、企业邮箱等)进行搜索。
这样无疑自由度非常高,因为我只需要知道用户任意一项信息,就能把用户搜索出来了。
2、对关键词进行模糊匹配。
模糊匹配比精确匹配要方便许多,比如一个用户所属的企业名称是“深圳瓶子科技有限公司”,那我只需要输入“瓶子”,就能将该用户搜索出来;而如果是精确匹配,我则需要输入“深圳瓶子科技有限公司”才可以;
脑补完之后,心里反手就是一个赞:这搜索好方便好好用!!(崇拜脸)
开发的提问
开发同学看完需求文档,针对上述功能提了2个问题:
1、一定按所有字段进行搜索吗,有些字段是不是没啥用?
2、一定要模糊匹配吗,精确匹配行不行?
“不是开发实现不了,而且这样的设计会增加开发工作量。”,开发同学给出了解释。
面对开发的提问,我心里也在问自己,“为了让功能更便捷更完善而增加开发成本,划算吗?管理员在后台进行用户搜索时,真的需要用到用户id这些字段吗?”
结合整个项目的业务逻辑来分析,需求方更多的是会从企业的角度来管理用户。那么按企业名称进行搜索查询,已经可以满足需求了。
从预估的用户体量来看,这个项目的用户体量是很小的,而精确匹配是可以满足需求的。而花更多时间去做出来的模糊匹配,也许只是锦上添花。
反思
站在用户角度去思考,可以让产品或功能更完善,也会让用户体验更好,这没有错。
但不能只站在用户角度去思考,其中涉及到的一点是成本问题。项目成本包括很多方面,而开发成本在其中的占比非常大。通过采用不同的功能逻辑实现方式,在满足需求的同时,尽量减少开发成本,则是产品需要修炼的能力之一。