首先技术上其实真正很难实现的功能很少,大部分是耗时多和耗时少的区别。

但是确实也有因为产品经理对技术实现的认知程度不同导致出现的预期时间偏差。

有哪些产品经理认为很简单,实则开发很难的技术?

曾经刚毕业的时候,写一个B/S的ERP/CRM系统,前端+后端,主产品线逻辑的功能完成后,领导看了一下,很轻松写意的说了一句:别人系统有件都是有很多操作选项的,我们这个产品分类树上也加一个吧,上面有一些基本操作就行,巴拉巴拉。

我当时就震惊了,那个时候我们的产品交互原型基本还都是基于C/S架构来的,然后js主要是用原生写的(现在类库和各种框架已经很成熟了),所以这种web上仿系统实现功能的方式之前都没有实现过。但是由于我当时也是个菜鸟,所以也没太明白右键菜单到底有多难做(且是在一棵递归实现的无限分类树上实现),光冒泡事件这一个问题就困扰了好久,不同的浏览器做下各种hack的兼容,还好最后还是实现了,但是远远超过了领导的预期时间。

模仿基本上都是产品设计线上的一条捷径,但是当底层支撑的平台和框架基础不同,可能会导致不同于预期的难度。


看似简单但不明确的需求:加一个商城,做一个小游戏……这类需求就像“给我来一份肯德基”一样难以实现。

2. 仿操作系统实现功能:比如上面说的web端自定义右键菜单。

3. 跨平台实现需求:平台本身又不支持,比如微信公众号中实现唤起支付宝支付。

4. 比较常规的流程需求:但是比较核心,比如退款。

5. 改变核心业务逻辑:比如增加sku,从供应商系统到商家用户,甚至包括物流清关以及系统优惠,有些功能追加起来比重新做要难得多。

6. 技术框架底层架构不合理,不便于扩展,导致简单功能变得复杂(当然,这是技术架构的问题,但是产品经理肯定是不知道的);比如增加一种支付类型。

7. 看似简单的性能优化,界面展现上可能没有任何变化。比如同样是一个搜索框,变成自建搜索引擎。

8. 技术上不支持:比如微信小游戏或者小程序中获取用户的朋友圈列表,以用来制作排名等信息;很多不熟悉这里的产品经理会看到微信官方小程序上有,就想实现这个功能,但实际上只有腾讯系的相关产品才能获取这些数据的权限。

9. 市场上的新技术,需要庞大的服务器或者带宽支持,但是看起来简单搭建,比如直播。

10. 平时经常用的看似简单的功能:IM在线聊天。

11. 把东西做出来和做精区别很大:比如发邮件,考虑各大邮箱网站的垃圾邮件筛选机制,消息队列,第三方服务的调用权限等等。

12. 涉及技术含量高而且高法律风险的功能:比如入侵对方服务器(对于你们这些程序员来说不是像装个电脑一样简单的事情么?)!!!

看起来罗列了这么多,基本都很难在普通的产品线上规避这个问题,但是实际上并不是很难解决的:
目前入职了公司vpgame,产品经理在需求评审的过程中都会先向开发了解复杂度,并适当的去调整预期。同时在这种沟通的过程中也能积累对技术实现难易程度的认知范围,下一次评估类似功能的时候就会减少偏差。

所以只要能够有效沟通,这些问题也就可能都不是什么问题了。