RethinkDB创始人教你如何打造一个伟大的互联网产品
如何打造一个伟大的互联网产品
假如你认可“销售定乾坤”的原则,那么如果我说大部分初创企业在还没有把它们伟大的产品推向市场进行销售之前就已经把钱给烧光而铩羽而归的话,元芳,你怎么看呢?假如你面向的是一个爆炸性快速增长的市场,你需要找到一个打造一个伟大产品的方式的话,元芳,你又怎么看呢?[1]
打造一个伟大的产品是很困难的,如果你没有一个很好的去分析产品和功能的一个可行模型的话会让这种困难更雪上加霜。如果没有这个模型,你将会永无停歇的受困于产品功能点的漩涡中,这就好比在黑暗中摸索着靠感觉进行射击。当然不排除有那么一小部分人可以命中目标获得成功,因为他们从一开始就有着异于常人的对产品的直觉。但是,大部分我们这种普通人都不会一开始就具备这种超能力。
我一开始时对产品的直觉就非常糟糕(更糟的是自己并没有察觉到)。在过去的3年时间里,当我每天盯着我们的用户矩阵图查看,试图创造出一个反馈循环(feedback loop)来训练自己的大脑来找到如何打造一个好产品的模式。幸运的是最终我终于变得非常擅长于预测判断一个功能点对产品造成的冲击,所以我从当时就开始去考虑建立一个模型来尝试把我所领悟到的这方面的知识给捕捉下来分享给大家。
三个木桶模型
产品管理最重要的方面是要把一个产品的功能分门别类地放到3个不同的木桶里面去: 颠覆性的功能(足以改变游戏规则的功能),不可或缺的功能(必须的但又不会带来很大收益的功能),无关痛痒的功能(只能让用户“哦“一声的功能)。在我刚开始尝试创业的时候,产品的所有功能在我眼里基本都是差不多重要的。但随着时间的流逝,“三个木桶模型“在我的脑袋中逐渐成型,时至今日,我已经可以每碰到一个功能就能把它自动在上面提及的3个木桶中进行分门别类了。
举例说明。假如你现在正在打造一个新的移动手机产品。首先,该手机必须要能打电话吧,不然的话你这根本不能被称作为一台手机,鬼才会买了。但是反过来说就不行 - 人们不会因为你的手机提供打电话功能就会购买你的手机,因为市场上哪个手机不提供打电话功能呢。所以在这个范畴中,能够打电话这个功能在你的产品中就应该放在“不可或缺“这个木桶里面去。
另一方面,假如你的手机产品还可以将正在播放的视频投射出来,这其他手机可没有这个功能,所以该功能就应该放在“颠覆性“这个木桶中,因为该功能将会让大部分的用户尖叫。但另一种可能性是,有可能大部分用户对这种功能并不上心,那么该功能就应该放在“无关痛痒“这个木桶里面去了。
以上示例给大家介绍了给定的功能所应该归类到的3个木桶:
- 颠覆性功能: 用户会因为这个功能而乐意去掏钱包的功能。
- 不可或缺功能: 用户不会因为你有该功能而购买,但没有的话他肯定不会买。
- 无关痛痒功能: 这个功能跟用户是否选择你的产品关系不大。
实践证明,一个成功的产品会拥有一到三个颠覆性的功能,数十个属于不可或去的中庸功能,以及极少数的无关痛痒的功能。作为一个创业者,你需要做的事情就是去建立起一个敏锐的直觉来把不同的功能进行分门别类。虽然有时情况依然很微妙(试问一个内嵌的手机投影模块是一个颠覆性的功能还是一个无关痛痒的功能?),但,至少“三个木桶模型“给你提供了一个可以实施的出击计划。
三个木桶如何指导资源分配
如果你有足够多的时间可以去浪费的话,你当然也可以忽略掉“三个木桶模型“中所提及的那三个产品功能类别,并且通过不停的盲目的迭代以最终获得市场的认可。但是你并没有那么多时间去给你挥霍。你打造出一个伟大产品所需要的时间越长,你就越容易把你的钱给烧光,越容易把你的士气打击的一蹶不振,或者越容易看着市场的机遇在你脚底下偷偷的溜走了。“三个木桶模型“所带来的产品管理模型在此就显得非常的宝贵,因为它让你真正把产品管理当成是一个资源分配的问题来看待。
如果你把太多的资源投入到无关痛痒类别的功能里面,那么你是浪费资源。这已经显而易见了。
如果你把过多的资源投入到超过必要的不可或缺类别的功能里面,那么你是在浪费资源!当年iPhone第一代刚出来的时候其实是缺少了拷贝粘贴的功能的,该功能对一些用户来说也许是个不可或缺的功能,但是苹果非常正确的决定就算缺了该功能也会有足够的用户来购买他们的产品,所以不需要推迟iPhone1的发布。
如果你在一个不可或缺类别的功能已经达到既定的可接受程度的时候还继续投入资源的话,你是在浪费资源!iPhone1刚出来的时候通话质量其实是比较操蛋的,但是已经足够可以通话。大部分用户都选择可以接受。它可以打电话,而且也没有到听不清楚对方说话的糟糕程度。如果当时把通话质量提升10%的话对提升用户购买度意义其实并不是很大。
如果你在同时开发超过3个颠覆性功能的话,你是在浪费资源!实践证明,几乎没有一个颠覆性的产品是擅长处理很多个问题的。交付出颠覆性功能是有难度的。3个这种级别的功能也许就是你能接受的上限了,就算你的产品可以有一大片的颠覆性功能。
最后,如果你没有把足够的非常有创意的资源倾注在既定的颠覆性功能上面的话,你是在浪费资源!但是,如果一个颠覆性功能并没有把用户给囧倒的话,那么它就不大可能是一个颠覆性功能了 - 它仅仅是一个无关痛痒的功能而已。在这种情况下,你则没有必要进行妥协去浪费资源进去。
做产品的过程中范些错误还是可以接受的。没有多少产品在真正给用户接受之前是没有犯过错误的。但是大部分初次创业的产品经理却会不停的打破这些做产品必须遵循的规则,也许是因为他们根本就没有意识到这些规则的存在。那么你自己种的苦果只能是你自己来吞了。你比你的竞争对手所犯的错误越少你就越有机会胜出。每一个错误所要付出的代价可能都会是难以置信的巨大的。如果你犯的这些错误足够多的话,你的对手就可以轻松的把你抛出几条街了。
驾驭三个木桶模型的技巧
打造一个产品最考技巧的是需要去学习究竟如何才能把一个产品的各个功能点进行分门别类的放到“三个木桶模型“里面的三个木桶里面,然后还要知道什么时候这些木桶是已经装满了。返回之前提过的一个例子,究竟一个内嵌的投影模块对手机产品来说是属于颠覆性的功能还是无关痛痒的功能呢?如果是颠覆性的话,那么这个功能是否已经足够捕获大量用户的芳心呢?或者你还需要结合另外一个颠覆性的功能才能做到这一点呢?如果此时你把手机的通话质量提升50个百分比的话,那么这个改进会成为一个颠覆性的提升吗?还是依然只是不可或缺级别而已?那么200个百分比的提升呢?还有就是你究竟需要在不可或缺功能这个木桶中装多少个功能点才能打造出一个引人注目的产品呢?
因为我对手机市场并不熟悉,所以我并不能给这些问题给出对应的答案。如果是在我擅长的无结构数据这个行业的话,我可以非常轻易的把碰到的任意一个功能归类到其对应的木桶上面。虽然有时我会范些错误,但这没有多大问题,只要我比我的竞争对手少犯错误就行了。
建立这种直觉的方法就是和大量的人进行交谈。去和潜在用户聊。他们是怎么想的呢?去和你圈子中曾经创业失败的人去聊。你可以从他们的失败中获得什么经验呢?去和你的竞争对手聊。他们是怎么解决碰到的问题的呢?去和大公司的工程师聊。他们又会告诉你当前技术状态的什么信息呢?去喝相近行业的其他创业者聊,和投资人聊,和记者聊,和学生聊,和教授聊,甚至和持反对意见的人聊。要在一个圈子中获得灵敏的触觉最好的方法就是把你自己投身到该行业里面并和你能接触到的尽量多的人进行交谈。
兼听则明,偏信则暗
你越早熟悉你所处产业的历史,技术现状,潜在用户的想法,以及竞争对手的前进方向的话,你就越快的能对该产业描绘出一幅清晰的的蓝图,就能越早的为你的产品构画出一个独一无二的愿景。但是需要小心的是,在跟不同的人进行探讨的时候,有时会很轻易的就采纳了一些错误的人的建议的。
假如你决定了去以对讲机的形式去设计你的移动电话,瞄准的目标客户群体是建筑工人,并且你决定销售出去最好的方法是以自上而下的方式方式先去搞定建筑经理。如果你先去和建筑工人谈的话,可能他们会被对讲机的花哨的图标和一个独特的颜色外壳所吸引,那么你就会认为这些独特的设计在你的手机产品中应该是属于颠覆性的功能了。但是别忘记了,买不买你这对讲机不是建筑工人说了算,而是包工头,是建筑经理才又权利给你开支票的哦。对于包工头来说,漂亮的设计是不错,但这并对他来说并不是一个颠覆性的功能。因为这些漂亮的图标并没有帮助他比以前更好的去把他的事业推上另外一个台阶。
在复杂的企业营销中,你必须要小心翼翼的留意各个团体的情况并伺候好各个利益相关者以使得他们满意。如果建筑工人对包工头的决定是有着巨大的影响的话,那么多花时间在这些独特的外壳和图标设计上也许不是个坏事。否则,你将会是浪费资源。
这种需要考虑好各个团体和利益相关者的情况其实就算在一般的消费品中也是一样存在的。假如你所设计的是一款豪华版的手机,且它比其他市场上的手机都要贵的话,你就需要考虑好你的客户是否需要说服他老婆才能掏钱包买这种奢侈品呢?是否大部分家庭都是共同决定是否对奢侈品进行购买呢?还是家庭成员是各自独立决定是否进行购买的?如果他们需要说服他们的老婆才能进行购买的话,你是否有考虑过增加一个额外的功能让老婆们更容易接受更容易被说服呢?好好想想吧!
需要小心杂音 。学会分辨出哪些是会购买你的产品的用户,哪些只是对你的产品做出评论的人。创业初期根据产业权威人士给出的对产品功能点的反馈去设计出一个产品是很有诱惑力的。但是一个产品功能所以成为颠覆性功能是因为掏钱包购买它的用户认为它确实是颠覆性的功能,否则,该功能只能算是一个无关痛痒的功能而已。行业权威人士对你了解该行业的状况会起到非常重要的作用,但是他们往往不会是购买你的产品的用户。如果你是完全围绕着他们的反馈来打造你的产品的话,你会最终发觉你的产品根本卖不出去。
由此可见,你如果不能体验像你的目标用户一样生活,一样食用,一样呼吸的话,你是不可能打造出一个伟大的产品的。你需要精确的定位出哪些是你的用户,他们碰到的问题是什么,他们会怎么看待你的产品,以及谁将会帮助他们做出购买决定。你的直觉需要精确的反射出你的客户是如何感知你的产品的。“三个木桶模型“的功能分类只有在你能正确的预知你的真实目标客户对该功能点的反应的基础上才会起作用,否则你根本不能确定该功能点究竟是应该放在哪个木桶里面,那么你将会是在浪费着你的生命。
聚合的颠覆性功能不可取
这里开始讨论下我们之前没有讨论过的关于“三个木桶模型“的一些微妙之处。有些独立的功能点自身其实并没有足够的吸引力的,但是一旦和其他功能点聚合在一起就会立刻摇身一变成为颠覆性的功能。比如,假设你现在在为你的手机产品设计一套图的的图片。这会是一个颠覆性的功能点吗?很有可能不是。那么单独的一套独特的漂亮颜色组合模版呢?这看起来也不像是一个颠覆性的功能。那么配套上一个独特类型的手机外壳呢?你应该很难想象一个人会因为一个漂亮的手机外壳就去买个手机吧?[2] 这不成了买椟还珠的番外篇了?那么如果你把上面这些功能都放在同一个产品中呢?一个独特的设计方向就冒出来了,一个拥有新奇的图标设计,独特的颜色组合模版,配套的别具一格的手机外壳这样的一个聚合功能听起来就足够成为一个颠覆性的功能来吸引足够多的消费者了。
用功能点聚合的方式去打造出一个聚合的颠覆性功能是非常危险的一个选择,原因有三:
- 首先,你很难去选择究竟哪些功能点的聚合是/不是一个颠覆性的功能点。
- 其次,去实现聚合的颠覆性功能点的代价是非常昂贵的 - 相比之前你只需要为一个颠覆性功能点做出一些正确的决定,你现在却需要为好几个功能点做出大量的正确的决定。
- 最后,这让你很容易说服自己只要再增加一个功能点,你就会成功的获得一个颠覆性的聚合功能。
所以说,打造一个伟大的产品已经非常困难了,现在又加上这些微妙的情况就更是雪上加霜了。
不可否认其实还是不少产品是采取这种方式获得成功的,但是,如果可能的话,尽量避免这种情况。如果你真的没得选择只能采用聚合功能点的方式来形成颠覆性的组合功能,那很有可能预示着你现在所处的市场其实已经非常成熟。好吧,那没有办法只能这样做了,但是也许你也是时候深刻的自我反省下了 - 这真是一个值得你投入进去的市场吗?还是你应该去寻找下一个你可以相对更容易做出创新的市场会来得更合理些呢?
产品使命验证法
假设你现在已经可以将你已建立好的对产品的直觉用来把“三个木桶模型“应用到你所处的行业中,你已经可以轻易(且正确地)把功能点归类到不同的木桶里面,那么你已经比大部分产品经理优秀了。但,这还不够。你要知道这个方法其实是存在一定的瑕疵的:
- 如果你仅仅是通过凭空臆测的直觉来对功能点进行分类的话,那么你将很容易在犯错误之后,被你脑海中另一把声音的花言巧语所说服而自以为做了个正确的决定。
- 当你在打造该产品的时候,你势必需要对每个大大小小的决定都事必躬亲,因为其他人根本没有东西作为指引。
- 你的攻城狮们将会充满挫败感,因为他们会认为你凭空臆测所做的决定是毫无根据的。
- 在该产品出来之前你势必需要很多其他人来给你提供帮助 - 记者,投资人,潜在雇员,以及客户。去说服这些人将会非常的困难,因为你做的这些决定都是凭直觉的。
解决这些问题的一个很好的办法就是去把你的产品使命给定义出来。你可以把它想像成是一个接受以指定功能点作为参数然后返回值是三个木桶之一的一个函数。一个好的函数的定义必须是简洁的,可读性强的,可复用的。理想的状态下,在阅读了这个产品使命后,你的团队中的大部分成员都可以像你一样能够自行把功能点归类到对应的木桶里面。
以下就是我们为RethinkDB想到的一个成效斐然的充满幽默感的产品使命定义:
数据库工具应与魔术无异
提供开发人员梦寐以求的开发工具来帮助他们构建实时和数据驱动的网络应用来令他们感到惊喜和不可思议。并给打造伟大软件产品的过程带来纯粹的趣味性和简单化。
表面上看这两个句子其实好像言之无物,但如果你挖深点的话,这个产品使命其实是充满浓厚的信息量的。它告诉人们我们正在打造的是一个数据库产品;它告诉人们我们首先是将该产品当作一个开发工具来对待的,这就让开发者相关的功能(比如数据库的查询语言)和软件运行相关的功能(比如监控)之间的紧张关系得到缓解。要知道我们所有的颠覆性的功能都是围绕着解决开发者问题而展开的。我们把数据库该如何运行方面的功能点看做是不可或缺的功能。该产品使命解析了我们对用户应该如何使用RethinkDB的期望(用它来构建实时的,数据驱动的网络应用)。该产品使命还让大家了解到我们对特定功能会实现到什么程度(惊喜和不可思议)。对于开发人员来说,足够好是不够的。这些人每天都会把大量的时间投入到我们的产品使用上面 - 我们需要让他们在这个过程中感受到愉悦。该产品使命还暗示了我们将会接受更多的复杂的实现来让我们的用户活得更加轻松。它指引我们去实现让开发者能编写出新型的而不是已经存在的应用的功能。它拥有着自我意识并体现了作为一个团队的我们所拥有的一种健康的幽默感。这就让大众对我们究竟是一个什么样的团队有个大致的认知了。
有了这个产品使命之后,我们就可以使用它来验证所提议的各种功能点了。再在此基础上加上一些团队共享的知识后,我们的团队成员就能独立的用大体一致的方法来将功能点进行分类了。
在想到这个产品使命之前我们花了三年的时间来去搞得足够清楚我们究竟在搞什么飞机。如果我们在第一天就定义好这个使命得话,我们的开发时间可能可以缩半,也许更多。当你在打造一个产品的时候,产品使命应该是你首先需要搞定的。如果你有足够好的心智模型(mental model)来编写出一个可以鼓舞你公司所有人的产品使命的话,其他事情也就自然而然的可以迎刃而解了。
[1]我这里的意思并不是想暗示说找到一个好的市场会比打造一个产品容易。事实上,这两者应该反过来,相比找到一个好的市场,产品管理是显得相当的容易的事情,所以这里我才打算先把这个问题跟解决掉而已。要成功,除了需要一个伟大的产品和快速增长的市场之外,还有很多其他的方面,如发布,经济学,受管制的市场,以及其他。但是一个初创企业因为这些原因而以失败告终的情况比起因为选择了一个小众市场或者没有办法及时的往市场推出一个伟大产品而把企业作死的情况简直是小巫见大巫了。
[2] 现实中常有发生的是人们确实会因为手机的独特颜色和外壳而进行购买。但这里我们忽略这种微妙的方面,我们先去关注大的方面。
———完———-
英文原文:http://www.defmacro.org/2013/09/26/products.html
作/译者:Slava Akhmechet/天地会珠海分舵
微信公众号:TechGoGoGo
CSDN:http://blog.csdn.net/zhubaitian
RethinkDB创始人教你如何打造一个伟大的互联网产品的更多相关文章
- RethinkDB创始人教你怎样找到创业点子
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemh1YmFpdGlhbg==/font/5a6L5L2T/fontsize/400/fill/I0JBQk ...
- [.NET] 打造一个很简单的文档转换器 - 使用组件 Spire.Office
打造一个很简单的文档转换器 - 使用组件 Spire.Office [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/6024827.html 序 之前,& ...
- [后端人员耍前端系列]AngularJs篇:使用AngularJs打造一个简易权限系统
一.引言 上一篇博文已经向大家介绍了AngularJS核心的一些知识点,在这篇博文将介绍如何把AngularJs应用到实际项目中.本篇博文将使用AngularJS来打造一个简易的权限管理系统.下面不多 ...
- Linux强化论:15步打造一个安全的Linux服务器
Linux强化论:15步打造一个安全的Linux服务器 Alpha_h4ck2016-11-30共28761人围观 ,发现 8 个不明物体专题系统安全 可能大多数人都觉得Linux是安全的吧?但我要告 ...
- 在sublimetext上打造一个兼容virtualenv的web&python开发环境
利用Sublimetext3&virtualenv 打造一个Web&Python IDE 注: 环境:window|python3;以下使用的sublimetext插件均用packag ...
- AngularJs打造一个简易权限系统
AngularJs打造一个简易权限系统 一.引言 上一篇博文已经向大家介绍了AngularJS核心的一些知识点,在这篇博文将介绍如何把AngularJs应用到实际项目中.本篇博文将使用AngularJ ...
- [.NET] 一步步打造一个简单的 MVC 网站 - BooksStore(一)
一步步打造一个简单的 MVC 网站 - BooksStore(一) 本系列的 GitHub地址:https://github.com/liqingwen2015/Wen.BooksStore 简介 主 ...
- [.NET] 一步步打造一个简单的 MVC 电商网站 - BooksStore(二)
一步步打造一个简单的 MVC 电商网站 - BooksStore(二) 本系列的 GitHub地址:https://github.com/liqingwen2015/Wen.BooksStore 前: ...
- [.NET] 一步步打造一个简单的 MVC 电商网站 - BooksStore(三)
一步步打造一个简单的 MVC 电商网站 - BooksStore(三) 本系列的 GitHub地址:https://github.com/liqingwen2015/Wen.BooksStore &l ...
随机推荐
- TextView于getCompoundDrawables()使用演示样本的方法
MainActivity例如下列: package cc.testcompounddrawables; import android.app.Activity; import android.grap ...
- Tuple
Tuple(组元)是C# 4.0引入的一个新特性,编写的时候需要基于.NET Framework 4.0或者更高版本. 在以前编程中,当需要返回多个值得方法中,常常需要将这些值放置到一个结构体或者对象 ...
- Struts2 拦截器—拦截action
对于拦截器的基本使用这里我就懒得打字了,我这里就讲下如何用 Struts2 拦截器 拦截action.这是我个人的想法,如果有什么不对的,或者你们有什么更好的方法.请多多留言! 拦截器的默认拦截的方法 ...
- Android开发之合并文件的几种方式
以下介绍合并文件的几种方式,并通过合并amr文件来举例介绍合并文件的详细流程.amr格式的文件头是6字节,所以在进行文件合并的时候要减去除第一个文件以外的其它文件的文件头. 注意:不同文件的文件头是不 ...
- android 实现悬架控制
实现桌面View 如桌面歌词 1)将要显示在桌面的view,通过WindowManager.addView.挂在到WindowManager下;注意,WindowManager对象 ...
- 播放视频的框架Vitamio的使用问题
曾经用过这个牛逼的框架,后来又任意搞了下.发现播放不了视频了.搞了老半天才搞好,今天又随便整了下,发现又不行了.我勒个插! 如今最终又搞出来了,发现我总是把步骤搞错或少写了些东西 总的步骤: 一:导入 ...
- JBehave
JBehave 上篇我们说到如何从Github上clone出一个JBehave项目,既是为了学习JBehava,也是为了熟悉下Github.从clone下来的项目看来,基本没什么问题,稍微捋一捋就可以 ...
- C#版的抓包软件
C#版的抓包软件 [创建时间:2015-09-10 22:37:04] NetAnalyzer下载地址 不好意思啊,NetAnalyzer停更有点长了,今天继续填坑^&^ NetAnaly ...
- Unity3d 镜面反射 vertex and frag Shader源代码
Unity3d 镜面反射 网上能找到的基本上是固定管道或表面渲染的shader. 特此翻译为顶点.片段渲染的Shader, 本源代码仅仅涉及shader与cs部分. Editor部分使用NGUI绘制的 ...
- 新安装Win10
随着微软发布Windows 10下载技术预览版.现在,您可以免费下载Windows 10技术预览ISO档,安装和开放经验. Windows 10技术预览提供的第一部英语.中国简体.葡萄牙语,含32位. ...