发新话题
打印

not-invented-here 症状

not-invented-here 症状

not-invented-here syndrome ,NIH症状,文中常用
NIH症候群指某些人或是企业,对自我创新的能力颇为自负,并拒绝采用或购买他人或别的公司所发明的技术)

http://www.eda.ac.cn/ctb/index.p ... 0ff2685659b350e682c
乐乎设计,乐乎生活~

TOP

不过也有人给它辩护。


http://www.csie.ntu.edu.tw/~p92005/Joel/fog0000000007.html
为非我发明症辩护
作者:周思博 (Joel Spolsky)
译:Paul May 梅普华
Sunday, October 14, 2001
A part of Joel on Software, http://www.joelonsoftware.com

猜谜时间到了。
1.程序代码重用是
a)好的
b)不好的
2.重新发明轮子是:
a)好的
b)不好的
3.非我发明(Not-Invented-Here)症是
a)好的
b)不好的

  当然啰,每个人都知道应该要善用别人的工作成果。所以正确答案 当然就是1(a) 2(b) 3(b)。
   
  确定吗?

   别说得那么快!

  非我发明(NIH)被公认为典型的管理病状,指某个团队拒绝使用不是自己创造的技术。NIH症的患者显然只是很小家子气,只因为没办法居功就拒绝为整体组织的利益贡献(对吧?)。你可以在当地大书店的沈闷商业史区找到一堆故事,说愚蠢的团队花了几百万美元和12年的时间,却只做出某些只要9.99元就能在Egghead(译注:线上零售商)买到的东西。任何人只要有注意过去三十年间计算机程序设计的进展,就会知道重用是所有现代计算机系统的圣杯。

   没错,我也是这样想的。所以我在做第一版Visual Basic for Applications的项目经理时,就很小心的联合了四个(注意是四个哦)微软内不同的团队,要做出Excel VBA里的定制对话盒。整个想法非常复杂而且各部门间相互牵连。有个叫AFX的团体在制作某种对话盒编辑器。然后我们会利用OLE团体新写的程序把一个应用程序嵌入在另一个程序里。而Visual Basic团队则是提供里面的程序语言。经过几星期的协商,AFX和OLE还有VB团队原则上都同意这个作法。

   我去到Andrew Kwatinetz的办公室。他当时是我的经理而且我知道的一切都是他教的。「Excel开发团队绝对不会接受这个方法,」他说:「你知道他们的格言吗?『找出相关性,然后去掉。』他们绝对不会接受这么不独立的东西。」

真-有-趣-啊。这事我竟然不知道。我想这解释了Excel团队有自己的C编译器的原因了。
现在我确定很多读者已经笑到在地上打滚。「微软真是笨啊,」你会这样想「他们拒绝用别人的程序代码,而且只是为了一个产品还自己做编译器。」

  别说得这么快,老弟!Excel团体粗鲁的独立心态意味着他们总是能如期上市,而且出来的程序代码都有一致的高水平。另外他们的编译器(由80年代开始的)会产生pcode,所以不必修改就能在Intel计算机和麦金塔68000芯片的系统上执行。pcode也使得执行档在Intel平台上只有原本的一半大小,所以由软磁加载时能更快激活而且需要较少的内存。

  「找出相关性,然后去掉。」
   当你在一个非常非常优秀,有着伟大程序员的团队工作时,其它人的程序坦白说都是有虫的垃圾,何况其它人都没法子准时上市。如果你是法国蓝带学院的主厨,需要新鲜熏衣草时你会自己种而不是去菜市场买,因为有时候新鲜的熏衣草可能会缺货,有时候店家可能拿不新鲜的熏衣草假装新鲜卖给你。

  事实上最近的网络热潮中,一堆装内行的企业作家说未来的公司会完全虚拟化,公司变成只有几个时髦的家伙待在起居室里喝着白葡萄酒,所有事情都外包出去做。这些换气过度的「梦想家」并没有注意到市场机制是为所增加的价值而付钱的。一个客厅加上两个雅痞,向A公司买一套电子商务引擎,拿B公司做的货来卖,再找C公司处理库存和送货,客户服务则交给D公司,这种作法实在没有增加什么价值。事实上如果你曾经把很关键的业务拿去外包,就会了解外包其实是个地狱。不能直接控制客户服务,客服就会烂到不象话,烂到像某人在网志上写的,想在电话公司找个人(任何人都好)去做些最最简单的事都办不到。如果物流外包出去,你的物流包商或许对实时送达会有不同的认知,而你的客户就会不太高兴,可是你一点办法都没有,因为重新找一个物流包商要花三个月。何况事实上你根本不会知道客户不高兴,因为他们找不到你,因为你设立了一个外包的客户服务中心,宗旨就是不要让自己听到客户的声音。至于你买的电子商务引擎?绝对不可能像Amazon用obidos做的那么有弹性,obidos可是人家自己写的(否则Amazon跟买那种东西的竞争者相比就没有优势了)。另外也没有现成的web服务器在速度上比得过Google自己亲手制作并最佳化的服务器。

  很不幸的这个原则似乎与「重用程序代码好,重新发明轮子坏」的想法直接冲突。

  我能给的最好建议是:

如果是核心的事业功能,不管是什么都要自己来做。

   找出你的核心事业能力和目标,然后在公司内执行。如果是家软件公司,写出优越的程序代码就是成功的方法。公司餐厅和光盘压制都可以外包出去。如果是家药厂,就去写药物研究的软件,可是不要写自己的会计软件。如果是家网络会计服务公司就写自己的会计软件,不过别想做杂志广告。如果有客户的话就千万不要把客户服务外包出去。

   如果你在开发计算机游戏,而且地图(plot)部份是你的竞争优势,大可去用其它厂商提供的3D链接库。不过如果游戏特色是很酷的3D特效,3D程序部份最好自己来。
我怀疑这个规则唯一的例外,就是当你自己的人完全比不上别人,不管自己做什么都会失败。没错,这种地方很多。如果是这种情况,我就帮不上忙了。

[ 本帖最后由 happyfan 于 2007-7-25 22:18 编辑 ]
乐乎设计,乐乎生活~

TOP

发新话题