太子爷小说网 > 杂集电子书 > 微软研发致胜策略 >

第19节

微软研发致胜策略-第19节

小说: 微软研发致胜策略 字数: 每页4000字

按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!



则在整个软件,去找出所有相关的工作,还有什么是该完
156
微软研发
致胜策略下载
成的。
任何没有主题的阶段性工作就得依赖工作清单来推
动,因为没有主题,您当然没法子找出与这主题相关的工
作,这样的话,整体工作的进行就比较零零散散;如果是
分成各有主题的小项目,整体工作的进行就会比较系统
化。
把长期的大项目,分成几个完整而独立的小项目,
各小项目必须有一个主题。
哇哟!真棒!
同样是从大项目切割出来的小项目,想想以下哪种较
令人兴奋?是完成某一主题的全部工作、还是完成许多不
相关的工作?我想用装璜房子的比喻来说明其中的差异。
您有一间新房子正在装璜,工作进行到了一半时您去看看,
下面那一种情况是您会感到很明显的惊喜?情况一是某间
卧房的墙壁粉刷好了、起居室的灯饰安装好了、客厅的地
毯铺好了,情况二是客厅全部完成,其他部分则是都还没
157
微软研发·致胜策略
进度狂下载
开始,我想答案是后者。同样的,当您完成了一个小项目,
最好能带来一种“哇哟!”的惊喜气氛,让每一个人—
包括整个开发小组、Beta 测试参加者、高层主管—都
明显感觉到项目又向前推进了一大步。相反地,如果每一
个小项目都是这里改点东西、那里加点东西,整体看起来
似乎没有明显的进步,就没有令人振奋的效果。
当然,唯一的难题是如何将大项目切割成小项目,才
不会在各小项目之间造成掣肘或冲突,不过以我的经验来
说,这个难题是可以解决的。
想办法创造一些“哇哟!真棒!”的欢呼吧,因为这
是激发小组创意的动力之一,对于士气的鼓舞是非常有效
的。
加强“哇哟!”的效果
如果小项目的目标是“把工作项目中最优先的全都做
完”,也就是依照总工作表的优先级划分小项目,那么,
小项目只不过是一大堆互不相干的工作混杂在一起。如果
小项目的时间紧迫,项目经理可以悄悄调整总工作表中的
优先级,这就掩饰了这个问题,也许可以让项目经理觉得
舒服些,但却埋下了隐忧。
158
微软研发
致胜策略下载
如果小项目的目标是“完成所有关于画面的程序,好
让文件小组确定手册中的执行画面”,这就是有明确主题
的目标,而且根据这个目标,很容易可以判定哪些工作该
做,哪些是不该做的。对于任何一件工作项目,任何人
(哪怕他是笨蛋) 都可以立即判断它是否会影响使用者界
面,应该现在完成,或是延后到下一个小项目。
您可以采用各种不同的方式来将项目切割成小项目,
只要记得您的原则是:小项目应该有一个明显的主题,能
够产生令人惊喜、振奋士气的效果,这样就对了。当我们
在开发M a c i n t o s h的C/C++ 交叉发展系统( M a c i n t o s h
C/C++ cross development system) 时,我们的各个小项目的
目标如下:
把编译器中所有英特尔80x86 的专属指令区隔开来,
以使编译器能够支持其他类型的处理器。
◆ 在编译器中加入MC680x0 的程序代码产生器。
◆ 撰写MC680x0 的汇编程序码表列功能。
◆ 撰写MC680x0 的对象文件(object file) 产生器与相
关的支持工具。
◆ 连结单段(single…segment) 应用程序,让它能够执
行。
159
微软研发·致胜策略
进度狂下载
◆ 连结多段(multi…segment) 应用程序,让它能够执
行。
◆ 在编译器中加入程序代码优化的功能。
◆ 。。
我之所以定出以上这几项小项目的目标,是因为它们
都可以在两个月内完成,且容易理解,同时,除了第一个
目标“隔离80x86 专属指令”之外,其他各小项目都有明
显可见、令人兴奋的结果。当我们第一次看到编译器能够
正确产生可执行码,以及第一次看到屏幕上印出正确的汇
编程序码时,全组都跳起来疯狂欢呼。当我们第一个测试
程序完成正确的链接而执行成功时,我们确定这个产品已
经合格了,而优化功能确实可以发挥作用时,我们相信自
己的作品已经能与市场上的其他两个编译器竞争了,我们
的兴奋真是笔墨难以形容!
不要忘记细节
前面列出的阶段性目标是为了说明上的简洁扼要,事
实上并不那么简短。“连结单段的应用程序,让它能够执
行”是一个概念,并没有表达出足够的细节,真正的阶段
性目标还要更明确:
160
微软研发
致胜策略下载
我们应该能把任何一条M a c i n t o s h程序,拷贝到一个
目录之下,更名为test。c,然后键入make 就能编译器程序,
并正确地链接函数库,而我们在直接联机到M a c i n t o s h的
开发用P C上,对此执行文件的图像双击左鼠标键,就能
执行这个Macintosh程序,执行结果必须完全正确。
从这段详细的描述中,您就可以了解,我们必须处理
编译器中所有尚待“收尾”的工作:包括支持M a c i n t o s h
特有的C 语言扩充功能,而这些扩充功能设计上的用意
是使它能与PASCAL 的程序兼容,像是p 可以支持
PASCAL 的字符串、call…back 的呼叫方式、ROM trap、占
4 个字节的长整数(long) 资料类别等等;还有修改8 0 x 8 6
的连结器,使其支持MC680x0 指令,并能产生在
M a c i n t o s h上的可执行码;此外,我们还得编写开始执行
的激活码(startup code),补充一些C 的函数库,还要写在
开发用的P C与测试用的M a c i n t o s h之间控制传送的程序。
。有一堆事情要做呢!
您不一定要设定如此积极的目标,实际上有些细节看
起来虽小,其实是很不容易做到的,尤其是可能影响别组
的工作,所以这方面可能难免需要妥协。我想最重要的是
目标要详细清楚,同时得注意不要忘掉细节部分。
161
微软研发·致胜策略
进度狂下载
我当然也可以照优先级来分割小项目,把比较重要的
工作排在前面,但是如此的安排就不可能产生那种惊喜的
效果,亦没有激励的作用,也就失去分割小项目的主要用
意了。
为了让小项目既能振奋人心,又够实际,我们不
采用简单的测试程序(像“hello world” 这样的),而
是在每一个小项目中做出真实、完整的应用程序,也
许规模小些,但该有的功能绝不能少。由于做的是真
正的程序,我们完全可以看出编译方面的搭配表现以
及一切细节,而这是在测试性的或是简化版的程序中
看不出来的。在工作清单上也能完全反映出真实性,
凡是事先无法规划到、临到头来却又非做不可的工作
(这是必然的,很正常),都会在小项目中适时冒出,不
至于快到了期限才发现事情怎么也做不完,日程表却
无法推进。
如果您的上级主管不了解分割“主题式”小项目的这
些益处,他也许会怀疑您是不是用射飞镖的方式随意安排
日程,因为传统的观念里,优先级高的事情应该先做才
对。
162
微软研发
致胜策略下载
为了保持创意的活力和团队士气,
必须让每一个小项目都有令人兴奋的结果。
理想的期限
人们常常忘记一点:日程表上的完成期限是推估出来
的,这个期限未必最符合成本效益,事实上也未必合理,
因为工作项目都是估计出来的,不能代表实质的工作项目。
简言之,日程表上的完成期限是个理想,有很多情况可能
使这个理想的期限变得不合理,因此它并不是真正的完成
日期。大部分的上级主管都不会乐意听到这些,但这却是
千真万确的事实。使用阶段性的小项目可以让事实更接近
理想,但也不是完美的做法。
身为主管的您,一定要时常提醒组员:产品的质量远
比遵守期限重要。请牢记本章所提供的经验教训:
最会误导项目发展、伤害产品质量的事情
就是过份重视进度,这不仅打击人员士气,还
会逼迫组员做愚昧的决定。
163
微软研发·致胜策略
进度狂下载
我相信尽力在期限前完成工作仍然是您的理想目标,
但请记得我强调过预定期限是理想而非现实,如果您发现
自己为了期限而得做不当的决定,请悬崖勒马,以免造成
后悔莫及的损害。
重点提示
如果您定的日程表使组员产生“落后恐惧
症”,为了赶上期限而牺牲了产品的质量,
那么该检讨的是这个日程表而不是组员;
如果您定出的日程表是个无法达到的目标,
只是为了从组员身上压榨出更多的工作时
间,那只不过是打击团队士气,对产品毫
无帮助。一旦组员发现自己身处绝境,那
您永远无法让他们表现出最佳状态,等到
项目结束(也许更快),他们就会另谋高就,
找个是人做的工作。
将项目分割成数个小项目,各有阶段性目
标的做法,可以让组员更加投入,并且营
造出“赢”的气氛,让组员受到项目有进
164
微软研发
致胜策略下载
步的鼓舞。理想的小项目期限大约是两个
月,这样给组员适当的急迫感,而促使他
们积极地工作,特别是当小项目有一个明
显又令人振奋的主题时。您应该试着把小
项目设计得令人兴奋又期待,使小组在完
成后有股冲动想说:“哇!看看我们完成的
工作!太棒了!”随着每一个小项目的完
成,小组会有愈来愈强的信念,相信自己
的工作是非常重要的,对使用者而言是非
常有价值的。觉得自己的工作有价值、有
贡献,这是一种很大的成就感,这种感觉
最能鼓舞组员凝聚团队的力量,共同创造
出最优秀的产品,而且会很快地做出来。
165
微软研发·致胜策略
进度狂下载
下载
第6 章
学无止境
6
Chapter Six
在今年的冬季奥运中,花样滑冰赛的电视节目带给
我很大的感触。节目中回顾2 5年前的赛事,早期金
牌得主只要靠几个后仰、蹲立、旋转、腾跳和高雅的舞步就
可以夺金,但是相同的表演在今天恐怕连个小镇的滑冰冠军
都拿不到,现在的参赛者要想在大赛中脱颖而出,至少得做
到三次三周跳跃、好几个花样跳跃、高难度旋转、以及充满
美感的舞步,更重要的是,整体的表现要有“个人风格”,
否则就只能拿到普普通通的分数,更何况赢得金牌。
有一次电视转播时,记者提到卡塔瑞娜·威特
(Katarina Witt) 小姐打算以她六年前赢得卡加立( C a l g a r y,
加拿大西南部的城市) 奥运金牌相同的舞步出赛,他随即
残酷地评论道,就算威特小姐的表现和六年前一样好,她
也不可能有好名次,因为六年前的东西在今天已经没有竞
争力了。
其实,仔细想想,现在的花样滑冰选手真的比2 5年前
的选手条件更好吗?当然是,但绝对不是人类体能的进化。
最主要的原因是滑冰选手每年、每季都在提高自己的标准,
因为他们都想胜过上一届的全国或世界冠军。2 5年前的选
手当然也可以做到今天的高难度动作,但是以当时的标准
来看不必这样辛苦,所以他们也就没有把自己的潜能开发
168
微软研发
致胜策略下载
到这种程度。
相同的情形也出现在程序设计的领域。在P e o p l e …
w a re一书中,作者汤姆·德马克( Tom DeMarco) 与蒂莫
斯·李斯特( Timothy Lister) 曾经比较过不同公司程序设
计师功力的差异。这两位作者举办了一场“程序设计大战”,
邀请不同的公司各派两位程序设计师参加。他们发现程序
设计师之间的表现可谓天壤之别,所需时间甚至有1比11
的差距。更令人惊讶的发现是:来自同一家公司的程序设
计师功力会差不多,如果一位很差,另一位也好不到那里
去,如果一位很棒,另一位也会表现不错,即使这两位程
序设计师分属不同部门也是一样。两位作者指出,公司培
养程序设计师的环境当然是因素之一,但是我认为高达11
倍的差异,最主要还是因为各公司对程序设计师的平均技
术要求不一致使然。
您上一次听到组长对组员说:“我对你很失望,你只
是做完了份内的工作,并没有追求进步。”是多久以前的
事?程序设计师是否功力到达了公司的平均要求水准之后
就停滞不前,即使还有很大的成长空间,也因为学习的压
力已经减轻,就不再求进步了?公司有没有察觉到这种现
像?程序设计师就像2 5年前的花样滑冰选手,觉得自己够
169
微软研发·致胜策略
学无止境下载
好了,但其实还有精益求精的空间。而另一方面,项目经

返回目录 上一页 下一页 回到顶部 0 1

你可能喜欢的