微软的秘密读后感
半个学期的时间阅读了四部作品,分别是《梦想金山》、《Borland传奇》、《软件开发的科学与艺术》和《微软的秘密》,使我受益良多,其中,《微软的秘密》最使我着迷。
尽管十多年过去了,《微软的秘密》却没有被历史丢进垃圾堆,它仍是解析微软内部的密码之一,被许多国家翻译再版,这除了归功于两位作者当时40多次的深入采访,也得益于他们独特而专业的分析能力。作者在序言里特别提到,尽管本书是由他们两人撰写完成,但在写作过程中,“我们也收到了不同阶段的产品的具体说明书样本,还有为产品设计和实施而准备的训练材料,有关工具(用于编写其他软件的特殊软件程序)的文件,测试计划,客户问题报告和一份内部职员调查表。”可以说,《微软的秘密》一书盛销不衰的原因正是在此:微软王朝的核心们透过他人之手来完成的研究报告。有人说,读了《微软的秘密》,对你而言,微软就没有了秘密。
书中多次谈到如何决定产品的优先级。当产品面对非常多特性的时候,我们究竟是要全部完成还是只完成一部分。从scrum开发来说,解决方案非常明确的。我们每个月甚至每两周收集项目的需求,然后对需求做综合的评价,决定未来一个月需要完成那些特性或者项目。如果我们把不重要、或者把当前紧急的项目给搁下了,事后上峰review项目进展的事后,肯定会追究责任的。不过这种优先级排定也有弊端,比如一些可以改进用户体验,但是不重要的事情,很难排上日程。这也是大网站某些时候用户体验改善慢的原因。
微软总是处于被声音包围的位置,声音或是指向“用极短时间跻身一流企业的阵营”,或是“发家路上充满心机和投机”,但是微软显然不在意这些,他们总是微笑着说“希望让人们了解微软取得的进展”,所以书里含有对微软内部运作机制和市场营销手段的大篇幅探讨和分析。微软使用的许多管理方法并非首创,但却是“将其使用得非常行云流水的”,其中尤为人称道的,是微软使用的产品开发和小组管理的方法——同步协调、兼求稳定过程。在产品开发方面,同步和稳定过程方式使微软能够将创业早期松散结构的小团体方式升级,从而相对迅速且低成本地建立起复杂的软件系统。许多公司和团队常见的问题是,为了在较短时间内完成复杂作品,需要建立大型团队,继而会面临管理的问题。微软采用多种措施来限制产品的规模和范围,将项目小型化,依据产品任务划分出不同部分,每个部分再交由不同人员负责。这一改变使微软迅速度过了“软件作坊”的过程,很快步入王朝时代。
在有幸拜读这本着作之后,我想到了以下几点:
1、成功是不能复制的。
首先,对于盖茨其人,没有人能比的上他的聪明,中学二年级时便自学了BAISIC语言,14岁时就可以和艾伦保罗一起通过编写和测试计算机程序来赚钱了。也很少有人比得上他的魄力,毅然从最好的学校辍学。至于其商业头脑,在公司的发展中更是体现得淋漓尽致。
其次,从公司的组织来看。微软是人才的聚集地,是聪明人的俱乐部。3%!微软只录用最顶尖的人才。这是微软的雇人原则。对于,网罗这么多的顶尖人才,非得有巨大的财力不可。微软招的人必须既懂技术又善于经营的精明人士。
最后,微软创立时期正是互联网刚好起步的时代,其他主要的企业主要是生产硬件,如IBM、苹果等。软件行业是一片蓝海。而现在,各种软件公司正在“大规模厮杀”,进行着激烈的竞争。
虽然,微软的其他优势,比如让各部门专家自行定义其技术专长并负责招聘专业人员,员工边干边学的导师制,利用大规模促销和签署专属合同确保公司的产品成为行业标准等高招可以学习,但以上的三点无论如何是不可能复制出来的。
2、永远没有最好的组织。
微软虽然组织很活跃,没有官僚主义。看似是一个完美的组织。但也有一些弊端。
首先,中层管理者不足。微软喜欢将开发人员提升到经理的位置,其主要依据是他们的技术能力和成就,而不是他们的管理才能。而且,在80年代到90年代高速发展,以致非常年轻的开发人员也能承担起了非常重大的责任。中层管理人员的短缺是一个严重的问题,因为几乎任何公司里中层的经理人员都是使整个组织有效运作的中坚力量。
其次,就是比尔盖茨的明星效应太强。
最后,微软产品单元不断增加的相互依赖性,可能会削弱它们的市场聚焦度。
3、实现大而不倒,大而不傲是有可能的。
首先,小团队管理使得微软尽管人数众多,但仍然能高效工作。根据将产品划分为特性的原则,项目可以将产品任务分为多个片段部分,每个片段部分都由很少的几个人负责。每个小团队通常由一名程序经理和3-8名开发人员在脚上一名特性小组小组长组成。同时,同步与稳定法、每日构建、发布日确定等多种制度都促进了小团队的高效工作。
其次,微软努力在构建着学习型组织,通过不断的自我批评,反馈和共享进行改善。事后分析、过程审计、pss等都是这方面努力的结果。同时,“向未来出击”的战略也鞭策着微软不断前进。
4、赢得市场不能只靠营销或专心生产产品。在这方面,微软的做法是很值得称道的。如:
(1)尽早进入演变中的大市场,或者用“好的”产品刺激新兴市场以建立行业标准。
(2)不断完善新产品,定期淘汰旧产品。与其被竞争对手的产品打败,不如自己淘汰自己的产品。
(3)利用大规模促销和签署专属合同的方法确保公司的产品成为或继续成为行业标准。只有通过规模销售,(meiwen.anslib.com)才能提供物美价廉的软件。史提夫鲍尔默说过:“软件行业属于固定成本的产业。因此规模销售代表着一切,因为你可以将固定成本在广泛的范围内进行分摊。”微软通过向硬件公司出让廉价授权、捆绑销售、拓展海外市场等手段极大的促进了其规模销售。国际市场的产品复杂度一般会提高3%-5%.但相比之下市场规模却能至少扩大一倍。因此,微软目前40%以上的收入来自海外市场这一事实并不会让人觉得意外。
(4)充分发挥作为标准提供商的优势以推行新产品和关联产品。
(5)整合、扩张,并清晰化产品以进入新的大众市场。依靠信息高速公路,微软在新的大众市场取得了极大成功。
书里的观点虽然写于十多年前,但它提出的微软弱点仍然值得思索。首当其冲的就是盖茨本人,虽然不可能打上“败也萧何”的标签,但他确实是微软关键的一环。当你读到《微软的秘密》中记录的种种缺陷,进而比较盖茨离开后的微软,会不得不佩服十多年前微软人的自省能力,而反垄断规则和市场强制力量或许才是他们给出的,阻止微软做出“越矩”行为的方法。
微软的秘密所透露出来的微软开发过程最后是落实在了自动测试和每日构建。这是微软所有软件开发的基础框架,而且自动测试和每日构建和软件体系结构密不可分,但在最后交付软件时却可以完全删除。有点类似加工机械对最终用户来说这套体系是看不见得。不过自动测试和单元测试是和软件工程在设计过程和实施过程中是密不可分的。自动测试和每日构建的基石是项目分解,而项目分解的基石是程序经理。微软提出的4个小时到3天的分解单位是也许另有目的,程序经理分解的任务也许牛人4个小时就搞定了而普通的程序员需要3天,这解开了一个困惑就是微软的普通开发人员的时间是自己确定的。自动测试和每日构建是大规模软件开发中质量控制的基石,这点才最为重要的也是我们软件工程苦苦求索的部分。所有产品级软件开发最终目的是要做出一个质量可靠的产品给用户。方法也许很简单但颠覆我原来对软件工程认识,现在写软件要想想,再想想,自己做自己的程序经理。