了,要更改所有的函数名称、变量名称成本是极高的。这
些工作对于日后程序的维护很重要,但是没有策略上的重
要性,因为它对改善产品完全没有帮助。
不错,您可以把这类一时没有生产成果的工作当成对
日后程序可维护性的投资,这些努力终究有助于改善产品
的,但是要停下所有的开发工作代价实在太高。如果您想
取其优点、去其缺点,我的建议是不要停下开发工作,而
要求程序设计师在这次用到的函数上面,顺手补齐它的标
注。如此一来,程序设计师一周下来,多花的时间也许只
有一个小时,当然如果欠缺标注的函数很多,时间就会花
得多些。这种方式固然无法非常彻底,但无论如何,是比
较符合投资效益的。
然而,如果您要停下所有的开发工作,在全部的程序
中加进除错用的程序代码,那就是另一回事了,这是能改
善产品质量的,而且成效立见。
109
微软研发·致胜策略
保持进度下载
偶尔我会看一下乌斯奈特(Usnet) 的文章,我曾经看
过一位程序设计师写道:“我们正在把所有的C 程序改写
成C + +,但我无法了解C++ 如何做某事某事。。”我看
到这里,忍不住战栗了一下,我希望这位程序设计师—
事实上是他的主管不要浪费大量的时间重写程序,这样太
伤害程序设计师的生产效率。
同样的道理,您可能认为把汇编语言的程序用C 全
部重写,会使程序代码更具可移植性,日后也比较容易修
改和维护。但是,用C 重写Pascal 程序,或是用C++ 重
写C 程序,并不能直接翻译,有很多地方是要从地基再
开始盖到顶楼,所以我个人非常怀疑这种做法。我猜想,
这类的重写工作大都是来自沉迷于科技潮流的主管所下的
命令。当C++ 刚开始蔚然成风时,微软内部也有一些程
序设计师很想用C++ 来写程序,而忽略了原来的程序代
码是否能继续运作的问题,他们固执地认为,就是要用最
新的技术,重写所有的程序。所幸大多数的微软人是很冷
静的,这种主张重写所有程序的声浪终于逐渐平息,公司
最后决定的政策是对象导向只用在新开发的程序,必须是
真的有策略上的需要才考虑重写。
110
微软研发
致胜策略下载
不要把时间浪费在无法改善产品的工作上,
即使这么做在将来会有潜在的利益,
也要与现在投入的时间成本做个衡量。
生产效率的迷惑
用C++ 重写C 程序的理由中,我最常听到的是对象
导向的方式可以提高程序设计师的生产效率,他们也许是
对的,但是忽略了一个很重要的细节,那就是所有的时间
都要耗在重写,用C++ 重写C 程序不是逐行翻译,而是
完全彻底重写。
如果您带的程序设计师中有人向您建议把C 转成
C + +,您不妨了解一下,他们是真的认为本产品有必要利
用C++ 特有的优点,还只不过对C++ 有兴趣,想借此机
会学习一种新的技术。如果确定要重写,您必须慎重衡量
二者之间的利弊得失,重写所耗费的大量时间成本,是否
能得到相对的产品改善和获益的结果。
111
微软研发·致胜策略
保持进度下载
避免干扰
到目前为止,想必您已经很清楚什么样的工作才是应
该全力投入的:与目标一致的策略性工作。但是这样还不
足以让您保持进度,您还得尽量撇开“免费”的附送软件,
克制大家追求“酷”的欲望,尽量减少对产品没有改善效
果的工作。如果您无法学会说“不”,或无法了解别人真
正需要的是什么,您就会发现自己深陷泥沼,净做不该做
的事情。
要想确保项目依照计划进行,没有脱序或偏离,其关
键就在领导者完全明白该做什么,并且不让该做的事受到
不当的干扰。这也就是为什么详细的项目目标是那么重要
了。
重点提示
不要让意外出现的问题打乱项目的脚步,如
果您要项目顺利进行,您得花点时间思考未
来。今天做个小小的动作,可以防范许多意
想不到的问题,即使真发生了无法避免的灾
难,您也能在风雨中稳稳掌舵。如果您随时
112
微软研发
致胜策略下载
问自己:“有什么事情是我今天能做的,而
且可以帮助项目在未来几个月内顺利进
行?”您就会知道该采取什么行动。
在您准备解决一个问题之前,先确定您找
到了问题的症结。还记得对话框函数库的
例子吧,Word 小组的抱怨不小心误导了问
题的症结,使得函数库小组极力设法优化,
却徒劳无功。因此,在您企图解决任何问
题之前,请务必确定已经对问题有了彻底
的了解。
在投入大量时间于任何一件工作之前,请
想一想这件工作是否能满足真正的需求。
您还记得那怪异的下拉式列表框,其实应
该是个级连式菜单的例子吧。当您接获任
何一项要求,最好了解一下背后的原因,
提出这项要求的人究竟想要做什么。这样
可以节省很多宝贵的时间。
基于非常多的原因,有些主管很难对提出
需求的小组说“不”。在比较严重的情况下,
113
微软研发·致胜策略
保持进度下载
主管会“知其不可而为之”,答应对方自己
做不到的承诺。如果您发现自己常常不好
意思说“不”,请将心比心替对方想一想,
万一到时候做不出来,是不是会造成更严
重的后果?如果您是需求小组,您对该到
货的东西迟迟不见,是不是焦急又恼怒?
您必须对其他的小组负责,就像您希望他
们也能对您要求的工作负责一样。
每当您接到一项请求,要您在产品中加入
某一项功能特色,请先想一想这项工作在
策略上重不重要,如果不,就不要开发
它;至于这个功能特色是否免费、是不是
很酷、竞争对手有没有,都不是重点。特
别是有些整组的功能,它们看起来很重要,
因为它给您一种没有它就不够完整的感觉。
您必须牢记,产品的策略性比完整性重要。
如果您不敢确定这项功能特色是否有策略
上的重要性,只要想一想这项请求的动机,
就可明白大半了。
114
微软研发
致胜策略下载
下载
第3 章
保持进度
3
Chapter Three
我们都会希望项目按照事先规划好的进程来进行,
但是事实总是无法尽如人愿,有时候项目会有一
点超前,有时候会落后些,但不会与计划差太多。项目的
进行大都是以迂回的方式前进。
即使是进行最顺利的项目,也无法完全按照计划执行。
但是如果您放任项目随意进行,有一天您猛然发现项目脱
轨太远,无法把方向扭过来,剩下的时间也不够,也就是
说,项目完蛋了。项目就像是一枚瞄准月球的火箭,只要
有一点点不够精确,到时候就无法命中目标,差之毫厘,
失之千里,实在不可不慎。所以,绝对不要让项目有一点
点脱轨,不论是多么小的偏差,倘若您没有立即修正错误,
它很快就会愈跑愈远、无法抓回。
聪明的主管懂得这个道理,他们会经常注意项目的进
度,随时修正方向,保持项目不偏离计划进行。本章将介
绍一些很有效的策略,帮助项目保持进度。
高架道路
我一直相信,项目之所以脱轨,主要的原因在于人们
并未认真思考如何使项目保持进度、顺利前进。如果没有
未雨绸缪,只是坐待问题发生,到那时候就太迟了。一个
74
微软研发
致胜策略下载
月前没有花3 0分钟思考这个问题,现在得浪费几小时或几
天的时间去修正。这就是所谓的“被动式行动” ( w o r k i n g
on reaction),而很多主管都是如此。
解决这种被动式行动的方法,就是化被动为主动,发
掘潜在的问题,并设法避免。以我们在第一章的搬移房子
的比喻来说吧,假定拖车原本缓慢而稳定的行驶,突然在
转角边上动弹不得了,原来是有个高架道路拦住了去路,
这下子只好掉头绕道行驶,结果前方又多了一些电话线,
真是气死人了。本来在地图上看来都是平路,上路了才发
现是这么崎岖,不仅要爬坡,还加上坑洞,怎么办呢?事
先没有勘察好路况,没有准备好应付路况的辅助工具,临
时手忙脚乱不说,还得老天保佑车子别翻了。要是主管用
心做好“向前看”的工作,事先把路铺好,把障碍扫除掉,
这些麻烦都不会发生。
主管不愿意认真地“向前看”,因为不看似乎比较轻
松。您可曾听说过某个主管在面临一个始料未及的障碍时
说:“啊,要是我事先多花点时间想想,就可以避免这件
事了。”以我的经验,很少有主管会这样承认的,反而是
在意外出现时不以为意,他们认为,意外难免发生,很正
常嘛。
75
微软研发·致胜策略
保持进度下载
您得驱逐这种被动式的想法,要积极防范意外才行。
有很多方法和技巧可以训练自己“向前看” ( w o r k
proactively),但总结起来不过是一句简单的要诀:
定期暂停手边的工作,然后往前思考,随
时做必要的修正,以避免未来的大障碍。
只要您懂得向前看,要事先避免大障碍并不困难。比
方说, Windows 版的软件完成后,自然得继续开发
Windows NT 版,或是准备一些示范用的软件。这些事看
似小,但是如果不及早做出相应措施,后面的事情就很难
收拾。就好像开车进入山区之前先把油箱加满是一样的道
理,小小的动作可以避免在山区里加不到油而必须跋山涉
水的窘况。
我已有十年以上的习惯,每天花1 0到1 5分钟思考下面
的问题,并且列出答案:
有什么事情是我今天能做,而且可以帮助
项目在未来几个月内顺利进行的?
这是一个十分简单的问题,但是如果主管定期用它来
检讨、思考,必定能想到许多保护项目不受意外打击的妙
76
微软研发
致胜策略下载
方。请不要把这个问题的答案想得太复杂,事实上,答案
应该简单到能在几分钟之内写完,通常是这样的:
◆ 订购MIPS 和Alpha 处理器的技术手册,以便
Hubie 需要时,随时可得。
◆ 发个e…mail 给Word 的工作部门,提醒他们如果有
任何功能要加在这次的新版里,请在下周一前提出
需求。
◆ 发个e…mail 给负责Graphics 的各位经理,我们需
要的函数库预计在3个星期后用到,确认他们届时
可以交货,没有问题。
没有一件事占掉我很多时间,但是却能省掉我将来可
能面对的麻烦。订购MIPS 的技术手册显然是件小事,但
是手册若是3星期后才送来,万一这中间MIPS 发生了问
题,没有手册,工作就无法继续,那项目就延误下来了。
订购手册要花多少时间,1 0分钟够了吧?现在花1 0分钟让
手册早点有得用,比起急需要用时再花1 0分钟订,再等3
星期,那事情都甭做了。
经常用这种方式思考,您就会想到许多也许会发生的
情况,也许G r a p h i c s小组会晚两周,也许Word 小组不知
道该早点告诉您需求,因为他们以为不急于一时嘛。如果
77
微软研发·致胜策略
保持进度下载
没有经常“向前看”,到时候可能突然发现Graphics 小组
延误了。这下可惨了,所有的工作都会因此