Windows3、0早期的创造过程,便是一个好例子。1987年,微软和IBM达成协议,共同开发OS/2。在1987年推出Windows2、03之后,微软便全心开发OS/2,同时对外界表示在10月推出改进的Windows,它能够同时进行多项程序,而且能够充分利用中央处理器的资源。基于这个构想,华尔斯和亚利桑那大学物理教授沙展合作,私下秘密地改进Windows。华尔斯对这一个挑战非常着迷,夜以继日地开发,到8月开Windows产品功能策划会议时,华尔斯日夜辛劳的结晶,大体上已经完成。当华尔斯在策划会议上示范给比尔·盖茨、史蒂夫·鲍尔默以及其他Windows开发团队人员看时,大家都非常惊讶。一个能够同时进行多项程序、充分利用中央处理器的资源,而又能支持所有DOS以及Windows应用软件的操作系统,正是微软所需要的产品,这无疑是一份上天赐给微软的礼物。基于华尔斯这一成功的示范,比尔·盖茨批准继续开发Windows。21个月之后,微软便推出Windows3、0,从此改变了整个计算机行业以及微软的历史进程。
在产品创造的过程中,有许多项目需要做决定,一个软件或高科技公司成功与否,和它做决定的速度息息相关。因为软件产品的周期很短,负责人员往往需要当机立断,很快做决定。当年,IBM公司开发OS/2失败,一个很大的因素是因为IBM公司做决定的程序与时间太长。那时在IBM公司,每一个产品的开始,都首先必须具备一份规格说明,而这份规格说明必须经过长期的讨论才能被决定下来,然后便不容许任何更改。这样,要在这个产品内增加新的功能,便很不容易。IBM公司这种官僚形式的管理令它对市场及用户的反应奇慢,而且把机会拱手让给自己的竞争对手。可以这么说,每一个决定有两个结果,好的坏的机会均等,不做决定只有一个结果——坏的。
一个公司做决定的速度,往往受做决定的程序影响。基本上,公司做决定的程序有两种形态,一种形态是依靠众人的共识,过程十分费时,但是好处是能得到多方面的思想与反馈,而且能笼络人心,得到众人的支持。日本公司典型的决定程序便是如此。另一种形态,则根据军队管理的模式,做决定的权力全在一两个人身上。这种形态的决定程序,在强悍的领导之下,效率非常高。微软的公司及产品政策决定程序便是这种形态。
早期的微软,公司规模还小,所开发的产品有限,比尔·盖茨自己对微软的所有产品都非常熟悉。所有有关产品的决定,自然都是由他亲自下达最后的判决。他这种早期的作风,确定了微软后来的操作方式。后来公司不断地成长,产品不断地扩张,比尔·盖茨自然没有时间为所有的产品做所有的决策。但他始终对产品的发展非常关注。微软每一个部门以及产品,都要定期给他检阅和示范。所有重要的产品,最后都是由比尔·盖茨亲自判决。在这一点上,比尔·盖茨在微软始终扮演一个很重要的角色。他能综观整个公司所有的产品发展并配合他对未来科技发展趋势,以及竞争对手动向的判断,为产品以及公司整体策略做定夺。
比尔·盖茨在技术及销售方面天资过人,几乎对各项新科技都了如指掌,而对市场销售,更是思想敏锐,观察入微。在报告和示范会议上,他往往能很快地切入重点,质问负责的经理的想法和对策。与比尔·盖茨开会的经理们,往往非常忧虑,心惊胆战。大家在“面圣”之前,必定会演习一番,找人扮演比尔·盖茨角色,自我严厉批评一番,然后挖空心思弥补不足之处,免得自暴其短。因为比尔·盖茨总会找出产品技术设计上或商业策略上最大的弱点。而且,比尔·盖茨在检阅会中向来都不客气,对不合格的表现,更是不能容忍,往往大发雷霆,直斥其非,且经常以粗言恶语相责,不留情面。
除了以上所述的各种步骤、原则和决策过程外,微软在项目管理方面有以下几个策略及实施重点是十分值得其他科技公司借鉴的。
(1)把一个大项目分为多个小项目和多个短期目标。把一个大项目划分为多个小项目和多个短期目标,能够让计划经理、软件工程师、测试工程师等人员分工合作,集中精神与力量把每一部分的项目做好,而且能够更好地把握与控制时间。对大型的软件工程(例如Windows2000或Windows98)来说,因为它的工作量特别庞大,开发时间表很长,往往需要众多人员以多年时间长期艰苦奋斗,才能完成。把一个大项目化整为零,不仅能够把各个小项目分配给多人同时进行,提高开发的效率,而且能够充分利用各人的软件技术特长,令开发过程更有效。大项目有时流于空洞遥远,将之分为短期的目标,能令参与者较易明了工作性质,而且做好了短期目标,在心理上也会对长期目标产生更大的信心。在大机构、大项目中,分工不完善,参与者没有明确的责任,就会流弊丛生。而将大目标细分为每人的责任,便更容易辨认出影响进展的环节,对目标和结果做出实时的调整。所以,确定各人的目标职责,制定以表现为依据的赏罚制度,是控制进展的最佳方法。
(2)利用产品梦想与规格说明来引导产品的发展。但是把一个大项目划分为多个小项目和多个短期目标之后,虽然能够促进产品开发时间及资源上的协调,也容易使各个小项目的负责人只顾埋首自己的这一部分,忘了大目标、大前提。产品的梦想和产品规格说明在这一方面扮演很重要的角色。虽然梦想与产品规格说明随着科技或市场的需求而改变,但它们提供了整个产品开发的大前提,以此来引导产品逐步发展。对一个庞大且长期的软件项目来说,明确的最终目标非常重要,是激励大家共同努力的明灯。若一个产品没有明确的目标,在开发过程中,便往往会因为各种外界的影响而脱离目标,到后来变得东不成西不就,一败涂地。所以项目越大,终点目标越明确,越能和参与者产生共鸣。比如说,“成为世界上最成功最畅销的软件”是一个很不明确的目标,什么为之成功?在哪个行业最畅销?反之,“将微软应用软件业务在一年内提升百分之百”是一个很明确的目标,因为它清楚界定了竞争方向,衡量成功的标准。所以在实施上,需要精确地将大目标分为小目标,在检定进度表的时候,要不时仰望大目标,两种项目管理的方法都要同时采用,以补不足。
(3)积极利用信息反馈来决定产品功能开发的优先次序。一个软件产品的成功与否,在于它是不是能够满足用户的要求。因此在开发过程中,需要积极利用信息反馈来决定产品功能开发的优先次序。在这方面,微软优先考虑用户使用软件的场合。在作产品计划的时候,计划经理与产品经理将软件使用者所需执行的工作,或者产品可能需要支持的情况,先分解成二三十个“情景”,然后试图将这些情景与产品功能配合。在情景分析的过程中,计划经理与产品经理会花很多时间、精力检查软件用户如何完成他的工作,尤其是这过程中需要执行的活动,然后利用这些用户的反馈来设立产品的目标以及所需要的功能。这一步骤并非仅在一个产品的开始阶段执行。用户的反馈意见在软件开发过程中也会与工程进展以及技术要求一起考虑,然后再决定产品功能需要做出怎样的调整,务求在客户、科技与成本之间达到平衡。
(4)同时进行多个项目,并经常调整。因为软件产品发展的周期很短,而且产品的推出需要多方面的准备,成功的软件公司要能够同时进行多个项目,才能节省时间。与此同时,软件公司也需要确保大家经常互通消息,配合项目的发展,以及经常调整任何不配合的部分。这一点,不仅在软件开发的过程中特别重要,对产品创造、开发,到推出的整体过程来说,也一样重要。同时开发几个项目还有一个好处,就是同时利用共同的资源。有些软件的组成部分可以在几个产品中应用,同时开发,就能省时省力。
(5)使用借力原则,充分利用所有资源。在创造软件产品的过程中,往往需要各种各样的资源。产品越大,所需的资源越多,就是在大公司内,公司能够给予某个产品开发的资源也有限,尤其是新而又没有证明成功的产品。要成功创造和开发新的产品,不但需要学会充分利用所有的资源,而且还要学会借力,利用他人或外界的人力物力和技术,来达成自己的目标。在这一方面,微软可说是精于此道的老手。
这些基本原则并不是微软独家专有,很多公司也有同样的系统。然而微软特殊的地方正在于它推动这些重点的积极性,这也是它能成功的原因。但是这些基本原则对任何制造产品的公司都能派上用场,至于要如何实施,能达到多少效果,那就要看公司管理者的能力与决心了。