相關閱讀 |
>>> 技術話題—商業文明的嶄新時代 >>> | 簡體 傳統 |
软件中的八二原则
软件中的八二原则(一)
Joel on Software 的博客中,提到“在行进中开火”,oK,我认为他是对的;提到所谓的“膨胀软件”问题,OK,我认为他的观点是对的。Joel也提到八二原则在软件中的一些问题,观点包括:
很多搞软件开发的人,被"80/20"的老规律引诱了。这个规律好像很有道理:80%的人只用20%的功能。所以你以为,只要实现20%的功能,就能得到80%的销售量。…
不幸的是,那从不是同样的20%。每个人都用到不同的功能。再过去十年中,我大概听说过几十家公司,下定决心不互相吸取教训,企图出版“轻形”版本,只有20%的功能的文字处理软件。…
当你去推销你的“轻形” 软件时,你跟人家说:“嗨,这个软件很小巧,只有一兆。” 人家听了一般都很高兴,然后就会问你有没有对于他们来说很重要的功能,要是没有,就不会买你的软件。…
基本概要是:如果你的战略是“80/20”,你就很难卖出你的软件。事实就是这样。这个战略自从软件工业开始时就有,从来没有胜利过。令人吃惊的是,很多倒闭了的公司的高级主管还觉得它是个好的主意。…
Joel是对的吗?Joel是在说“我们应该写功能尽可能全的软件”才能卖掉吗?
-----------------------------------------------------------------------------------
Joel曾是微软的工程师和经理,这很符合微软的调子。比如:微软的office系列等。Joel是透漏了微软的制胜之道吗?这与比尔盖茨始终倡导的“让PC和software进入每个人的桌面”并尽可能傻瓜是否相悖呢?在译言网上有个帖子提到“刚刚好才是真的好,世道变了”(意思是那种大而全功能强劲的东西未必符合潮流了),他们谁是正确的?不少国内的成功的商务软件公司,比如任我行公司(管家婆系列软件)基本上就是明确提出八二软件是他们倡导的,他们错了?……还有很多类似的例子。
我很想怀着“批判性思维”的方式,豪迈的得出这样的结论:Joel错了!那不符合国情,不符合时代。 但我知道那家伙不是省油的灯,结论不应该那么轻易的得出。
因此我需要琢磨琢磨。另外,这个观念对一个公司整体运营思路很重要,它的导向会影响到产品的整体布局和开发思路,并最终导致一个公司是被fucked,还是活着。因此,也更值得琢磨。
------------------------------------------------------------------------------------
我认为结论是这样的:
1、Joel是对的! 如果你的战略是“80/20”,那么你很难卖出你的软件。
2、但,这不等同于“必须开发出大而全的,100%的软件”才能卖掉你的软件。
这似乎是自相矛盾的。其实不矛盾,只是“侧重点”不同、“维度”不同、“度”不同。
3、在“战术”层面上,在某些具体应用时,在局部的实现方面,应用八二原则是明智的。
软件中的八二原则(二)
1. 八二原则(80/20)本身
1.1. 八二原则错吗? 没错。
1.2. 八二原则在软件领域不适用了吗?适用。很多理论,比如八二原则、长尾理论、摩尔定律等,它们是大道,而非仅适狭窄局部的小规律。(当然,它们也有其范围和范畴,没有老子的“道可道”的道那么大。老子到底有多大,我也不知道。)
1.3. 那么,为什么那些八二的公司会被fucked? 因为他们一刀切的,武断的在运用这个规律。没用对地方。
2. 支持Joel的个案
Joel简单的说到了他的观点,很多话我想他没有讲。(多半并非他不知,而是没说到那里去,省略了很多。)
如果简单的枚举几个例子,试图通过此来证明Joel是错的话,那么我也能举出一些反面的例子,是否能证明Joel是对的呢?其实都不能,因为都是“以偏概全”。但提到这些例子还是有必要,比如其中两个:
2.1. 我的经历——在LIMS、LIS、ERP等领域的情况
我在LIMS(实验室)和HIS(医疗)领域有很多实践,有大量这样的案例。当一个具有20%功能(它能满足80%需求)的软件卖到客户手中,客户会提出一些“个性化的需求”,绝对在20%非常规需求之列,那些往往是很个性的,有时甚至很无厘头。你能够拿着仅有20%的东西向客户收钱吗?你也可以很个性,坚持自己的原则。但是结果是剩余的尾款20万你就甭要了。你是要保持个性还是那10万、20万?事情还不仅如此,当这样的客户出现几个,你就会出现一些“烂尾楼工程”,接下来你的口碑就坏了,那么在这个市场上你就甭做了。那么,为何不与客户讲道理呢?也许客户无知?他们不知道八二原则?你去给那些高学历并老江湖的所长院长们讲讲看,教教他们什么是八二原则,然后争取让他们在某些功能得不到满足的情况下付出那20万的尾款。如果你能做到,那么恭喜你,你可以比肩乔布斯,他能创造需求进而获取财富,你能在不满足需求的情况创造财富。
结论是:那是不现实的。我碰到过很多很多次,憋着开发商为了某个个性化需求做定制开发。(虽然通过一些工作,比如客户洗脑(ERP的惯例),勾兑(返点、波推打炮之类的手段,中国商业的惯例)可以在局部的点上好办些,但那不是道。)在LIMS、ERP、OA、HIS、LIS等领域,指望“我只提供20%,然后卖拷贝争取占有80%的市场”是真的在做梦。
2.2. 小众软件和仇富型愤青
“善用佳软”和“小众软件”两个网站都不错,我常看。其中很多“小众产品”精致小巧,介绍的文章都会说这儿不错那儿不错。但有个问题,既然都不错,那为什么它们没有获得市场的成功?为什么没有把这种不错变成纳斯达克坚挺的股票指数?因为还不够。要么只是在某些局部的点上不错,要么本身客户对象就是小众的,要么就是只20%了。
相反,国内和国际有个反微软阵营,包括我所在的公司也有个这方面的积极分子。典型特征是凡微软必骂,只要微软的产品能不用尽量不用。但微软是最赚钱的公司之一,产品是他赚钱的来源。那么,为何不借鉴一下微软的思路呢?我称那些反对者为“仇富型愤青”,情绪让他们偏执了。举个例子:wps和office。很多人在替wps唱赞歌,如何如何好之类的。抛开爱国情结不说,wps真的比office好? 对只需要一个办公软件的个体来说可以选择wps,但对于开发商就不能这么想了。这是角度的不同。wps可能只是20%,其实也不止20%了,而office则是典型的超20%。(除了wps,国内还有永中office,以及国际上还有很多类似的,包括sun公司有款不错的,我一时忘记名字了)。他们为什么失败?在对office一片骂声中,为什么它鹤立鸡群?我们看到的office和常用的office功能一般就够了,但那只是冰山一角。我们曾在1999年时试图解决客户千变万化的报告问题,怎么处理那些报告呢?最终采用了集成office的方式。我们可以对office再编程,并使之与我们的程序无缝集成,进而满足客户该需求。如果没有用它会怎样呢?会导致开发量、开发难度、开发周期大为增加。wps能做到吗?做不到。其实那个时候,wps还是完全有机会的。一个开发商集成了office,卖出几百上千套产品,那么无形中office就被部署到了客户中,每个客户再有几十个终端,那么几千上万套office就被实际用户在用。逐渐它成势了。 我知道office的成功,当然不只是这么简单。但这里想强调的是,面对同样的客户群体和80%的共性需求以及20%千奇百怪的个性需求,office的做法是值得借鉴的。office也不能满足100%,但它的20%比wps等的20%大的多,并且它的20%是随着时间和版本的升级在不断的放大。
3. 20%和80%指的是什么?
就像经纬度一样,我认为80/20应该从两个方面来看: 经度的功能(为了满足某项需求),维度的功能(满足该项需求的程度)。 对于此,有个不错的诠释是正航ERP中的T357系列。在ERP领域,客户的共性是有的,但个性化更多,怎么应对这么局面呢? 有个原型版本做定制开发是可以,但那样的结果是当你的客户多了时,产品(版本)管理以及部署实施会有一连串的麻烦。对此,SAP有其办法,但SAP的高度不是随便哪个公司都能效仿的到的。简单点,正航T357系列的做法值得借鉴。
简单的说明:订单、客户、库存、财务、计划,这算几个功能,那么还有其它的吗?当然有,比如某客户需要其ERP系统与设备进行数据采集,或需要与另外的系统进行数据交互(比如lims)。后两者可以被看做个性化的需求,一般的ERP标配中未必含有这功能。这只是一个层面,功能的经度。再来看常规的“功能”中,订单、客户、库存等功能,,它们有什么不同吗?当然有,而且区别很大。同样是实现“客户管理”的功能,可以简单到只有一个客户列表,能支撑系统其它模块跑起来就行,也可以复杂到时一个价值几百万的全面的CRM系统。这像是从一个极端走向另外一个极端,在这两头就会有很多“点”,,这些“点”决定了你这个部分实现的怎么样。我把这叫做“维度的功能”。再进一步,在同样的维度上,还涉及UCD(客户体验如何)。这里把安全性等性能问题先放到一边。 当这种“经度+维度+UCD”的功能综合起来,决定了一个产品的品质,它是参与市场竞争的手中的牌。
这就是经纬度的问题。很多时候,把某项“维度的功能”往前提升一步,会比多增加两个“经度的功能”要难很多。
Joel在他的帖子中,主要指的是经度方面的功能,,但这里其实也会包括维度方面的功能问题。
软件中的八二原则(三)
4. 关于管家婆和译言的说法
4.1. 管家婆
任我行在进销存领域是不错的公司,其管家婆系列在小型商户中很畅销,我与其创始人曾在一个楼上办公。因此,我知道管家婆的来龙去脉,他们到目前为止是成功的。那么,当翻阅其宣传单时会发现,其明确提出80/20的理念。大概意思是在告诉客户:存在着这么个规律,我们的产品是能满足80%客户“经度的功能”需要的。画外音是:你那20%的另类功能要求先放一放,我不给你这种期望和承诺,当没了这种预期,以希望最终的客户满意度会高一些。或者,也“名正言顺”的不给客户提供定制开发。
管家婆是这么说的,但实际情况是怎样呢? 管家婆是靠此来获得成功的吗? 我看不是,剖析一下看:
首先是价格。 一套中小型进销存软件,是卖包装盒的形式,并以几百上千的价格在出售。在这种格局下,客户自然不会提出你要给我定制开发某个功能的要求。这不同于ERP、LIMS、HIS等动则几万几十万甚至上千万的软件。此时,客户可以放弃他的20%另类需求被满足,是因为价格低。而不是因为他领悟到了并理解了八二原则。
其次是竞争态势。当初经销存软件刚起步时,自然每一家的功能都更少更20%,同时也希望能满足80%的要求。然后开始诸侯混战了,此时某一家坚守20%的话,他早就出局了。因为,它的20%比别人的20%缩水。当客户发现有更多的更好的选择时,就会放弃你。此20%已经不是彼20%了。 它的范围越来越广,标准是某一个时段业界普遍能提供的功能界限。我称之为“门槛”。你说的20%只有至少达到这个门槛是才有意义,否则,单方强调八二原则的理论就跟书呆子上战场一样,必死无疑。同样的情况在OA中也是一样,看看10年前的OA是啥样,再看看现在OA是啥样,看看那些标配的功能。难道这期间客户最基本的功能需求发生了本质的变化了吗?没有,还是那些。 只是开始的时候,大家对这些需求领悟的不深,或者还没有来得及去实现好它。 回到管家婆的例子,管家婆是经历了将近8年的时间、在进销存的领域、在大量客户应用和反馈的基础上,不断的完善和改进其产品。此时他们强调的20%,已经是不简单的“20%”了。
因此,要正确的解读他们的宣传口号的话,不是“我只提供20%,然后就能卖80%”,而是:
1)通过此说法,一方面强调自己抓住了重点(宣传自己的理念),另一方面先打消客户稀奇古怪的想法(满意度=得到的/预期的)。
2)其20%其实已经超过很多人在很多领域碰到的80%功能了。那是个文字游戏,语言陷阱。
3)其功能是由少到多,在经纬度两个方面都在不断发展完善的。但在这个发展的过程中,其指导思想是抓主要矛盾,先满足最能够体现八二原则的,然后再进一步再这么往前推进。逐渐的产品就丰满了。他们不是,我就停留在那里当方面的、静态的强调八二原则。
4.2.译言的说法
在“刚刚好才是真的好”中,有电话、影视、图书等例子,特别是包括google的Sketchup软件和Autocad的一个例子。他们是因为只20%就能卖80%吗?我想不是,而是因为抓住了“便利性、灵活性、低价格”。这在很多时候,与强调功能大而全的同类产品的客户群体是不同的,或者满足同样客户群体的需求类型是不同的。因此他们有市场。
其中,google的Sketchup软件和Autocad的例子。google的Sketchup真的能取代Autocad在实际工作中的王者地位吗? 那价格的差异是50美元和4000美元,即使如此也不能。一个工程师你说我会google的Sketchup但不会Autocad,你去找工作试试看。 至今,或以后不断的时间内,在该领域Autocad的王者地位是无可替代的,google的Sketchup还撼不动它。 但google的Sketchup也会有其市场,因为它的侧重点不同,强调的是轻量级。 未来会怎样呢? 要么,google的Sketchup坚守在它的轻量级领域保持其特有的客户群,两者分别在高端和低端占有一席之地。要么,google的Sketchup要想撼动AutoCAD,就必须实现AutoCAD那些花哨的功能,并且还要做的更好更强大更易用才有机会。此时,google强调20%功能有意义吗? 没有意义。 再做另外一个假设,如果另外一家也推出了此类轻量级应用呢?功能堪比google的,并且客户体验更好,价格类似或者更低。那么,会逼着google在此产品上往前推进和完善。到了最后,大家会逐渐接近此领域的“真理值”(它也是随着时间变动的)。大家也会不仅拼经度的功能,还会拼维度的功能,拼客户体验。这些都决定了其自身的品质,这是他们手中的牌,再配合价格,市场运作等打牌的策略和牌技。最终,胜者王侯败者寇。胜了,怎么说怎么有道理,可以随便宣传随便说。但那个时候说的往往不是真相而是宣传和作秀。
这种情况,同样适用于目前正在起步的物联网M2M领域。
以上是一些想法。
那么,软件中的八二原则到底是怎样在运转的呢? 我们应该怎样合理的运用它呢?
软件中的八二原则(四)
1. Joel语录是对的:如果你的战略是“80/20”原则,那么你就很难卖出软件(甭想成为王者,很有可能成为fucked者)。
不要天真的认为“80%的人只用20%的功能。所以,只要实现20%的功能,就能得到80%的销售量。”
开发商的视野与某个客户的视野是不同的。开发商可以认为某功能是小众需求不在其关键的20%之列,但客户不这么认为。因为每个20%可能是不同的,你面临的是全部客户群。
2. 经纬度: 面对需求,软件的功能是分“经纬度”的。
“经度的功能+维度的功能+更好的客户体验+性能=产品本身的品质”,它决定了对需求满足度。这是开发商手中的牌。
3. 牌和打牌:良好的经纬度功能(手中的牌)配合不同牌技和打法才能决定胜负,仅好牌未必赢,坏牌也未必肯定输。这其中,价格杠杆非常重要。其它重要的是营销和运营手法。从开发商的角度,这两者是需要协同作战的,单强调一个方面不行。单独给开发团队施压,以为产品做到最好了就能卖的最好是一厢情愿,事情往往未必如此。
4. 起点:在刚进入某个领域时,需要八二原则来处理提供的功能和预期满足的需求。想办法把握80%的共性需求,然后用最精炼的20%功能去满足它们。此阶段期望一步到位的做到100%是不明智的,敏捷开发的开发模式和运营思路是解决此问题的良药。此时,如果已经存在某市场和竞争者,那么20%的功能至少应达到业界的“门槛”值,达不到门槛要求来强调八二原则如秀才纸上谈兵。
5. 时间性:客户的需求是因地域时间等不同的,20%和80%的界限是在变化的。同样,为了满足需求的功能也是随着地域时间等而不同的。“不断让自己的20%的经度功能的范围越来越宽、同时维度功能越来越深,并且在不失性能的情况下提供越来越好的客户体验”的公司,才有可能成为其领域的王者。这个过程,是迭代似发展的,迭代的速度重要。三年过后,自己回头看时对20%和80%的看法往往会不同,原地停滞不前而指望客户理解八二原则只有被fucked。
6.在具体到某个功能点实现时(我称之为”战术”层面),应用八二原则是明智的。在那个点上,调研和思考八成的用户会怎样,最常见的操作习惯会怎样,实现并满足它。而此时,开发人员偏偏又会忘掉八二原则,为了少数人或难得一见的操作,让大多数人大多数操作不方便,这不明智。
Free Programmer 2015-05-19 00:38:51
稱謂:
内容: