上一次程序员和产品经理的战争中,说得最多的是:产品经理每天就知道加功能蹂躏程序员。
但实际上,作为一个产品经理,我每天做得最多的事情就是砍功能:一是,删减产品需求文档上的功能,只保留最重要的功能;二是,已经决定了要加功能,但出现了突发情况,需要临时决定到底要不要砍功能。
第一种情况下,砍掉产品的哪些功能主要考虑每个功能对总体指标的贡献有多大,以及工程难度有多大;而第二种砍产品功能的情况往往出现在产品发布之前,还可能会涉及到和其他组合作的情况,需要考虑各个方面的因素,操作起来比较复杂。
平时在Facebook的工作中,我最常说的一句话是“这个是不是launch blocking?”,即没有这个功能会不会影响产品发布。我经常在以下两种情况下说这句话:
往往第二种问题会比较复杂,处理起来需要考虑的因素也非常多。所以接下来,我以一个实际产品为例给你分享一下,涉及到和不同的产品团队合作时,应该怎么处理产品发布前出现的突发情况。为了保护隐私,我稍微改动了一下产品细节,但并不会影响我要分享的要点。
我们产品要发布的新功能: 帮助一类明星用户宣传自己,让这些明星用户们获得更多普通用户的关注,从而提升明星用户的点击量。明星用户需要先完成一些任务,才可以得到宣传机会。所以这个新功能主要包括两部分:一是,普通用户的部分;二是,明星用户完成任务后开启这个新功能得到平台的宣传,并且可以查看因此增加的点击量。
要和我们的产品同时发布的还有其他几个针对明星用户的产品,这些产品对应的明星用户是一样的。
经历了一段时间的开发,第二部分明星用户的功能已经开发完毕,第一部分的功能也接近尾声了。突然,负责我们产品普通用户部分开发的iOS工程师说:“大事不好,我刚刚发现了一个Bug,也就是说这个功能上线后,只有5%的iOS普通用户能看到,而剩下的95%的iOS用户都看不到,我也不知道原因是什么”。
那么问题就来了,iOS一周才会发布一次新版本,新版本给到APP Store还要经过一周的审核,因此如果这个问题解决不了,那么这个新功能的上线就要延迟2周的时间。但是,这个功能在安卓平台已经测试完,并且参加测试的明星用户好评如潮。
所以,我们需要做出决定:是先解决iOS平台部分的问题,然后两个平台同时上线,那么上线时间就要延后两周;还是先在安卓平台发布新功能。
现在这个问题其实涉及到普通用户和明星用户:对普通用户来说,iOS有没有这个功能并没什么影响,因为这次的新功能只是增加了一个可以让他们看推荐的明星用户的版块;而对明星用户来说,我们需要显示这个新功能给他们增加了多少点击量,来保证他们有足够的动力完成预设的任务。
因为要同时发布的这几个产品对应的明星用户是一致的,所以如果我们产品的这个新功能在所有平台都晚发布两周,那么其他几个产品的功能就会不完整。但是,现在公关方案已经接洽好了,如果把这几个产品全部延后两周发布,那必然损失惨重。这是把安卓端和iOS端全部延后发布的风险。
如果只有安卓端的用户可以看到推荐并点击,那这个明星用户的总体点击量会因为iOS端的用户无法看到并点击而降低,而最先发布的两周时间里用户点击量的增加量,是明星用户评价这个功能好坏的关键。所以,如果这些明星用户看到点击量并没有因为这个新功能增加多少的话, 他们就会觉得这个功能不实用,以后也就不会用这个产品了,更不用说持续完成任务了。这就是提前给安卓普通用户发布这个功能的风险。
针对我们产品现在的情况,以及上面考虑到的风险,我们讨论出了三个方案:
其实,上面三个方案都不理想,我们需要思考一些更好的方法。所以,我们换了一个思考问题的角度:iOS平台的普通用户点击量对整体点击量的影响有多大?
针对这个问题,我们专门做了用户调研。用户调研结果显示:有些明星用户高达80%的访问量来自iOS平台,而有些明星用户的很多粉丝都在用安卓系统。
于是,我们针对调研结果,把明星用户根据大部分访问量的来源分成了两类,并提出了两个比较“聪明”的方案:
这样,明星用户可以先在这个两周的时间里做任务,毕竟做任务也需要时间,等所有的平台都发布完成之后,再给他们显示包含了所有iOS和安卓用户的数据,“好看”的数据可以激励他们更好地完成任务。
因此,先让明星用户形成使用习惯,再用数据激励他们继续使用,也不失为一个好方法。
这两种方式,我们产品的团队成员都可以接受,但是因为涉及到要和其他几个产品同时发布的问题,需要选择一个最优方案。其他产品的产品经理,希望他们的功能一步到位, 同时发布给所有的明星用户。
经过各种讨论、思考,最终我们愉快地决定, 选择更灵活的第二种方式:除了我们产品在iOS平台推迟两周发布普通用户部分的功能、并且在两周后才向明星用户显示增长的用户点击量外,其他产品照常发布。
我通过一个具体的案例,跟你分享了如何权衡取舍,以及在产品发布之前部分功能出现问题时如何统筹。
通过这个具体的案例,我要表达的内容包括以下四个方面。
第一是,要明确功能造成问题的风险以及受影响的人群,这个案例里涉及到了三类人群:使用我们产品新功能的普通用户、使用我们产品新功能的明星用户、使用其他产品的明星用户。
第二是,要列清楚所有可行的选项, 以及对每个群体的影响。
第三是,分析各个选项之间的风险。
第四是,要有大局观,选择最合适的方案。在这个案例里,我们最终考虑了其他产品想要完整体验、准时发布的要求,选择了最灵活、代价最小的处理方式。
针对本文案例的情景, 你还有什么其他的解决方案?欢迎你给我留言。
评论