爱爱小说网 > 其他电子书 > 微软研发致胜策略 >

第16章

微软研发致胜策略-第16章

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

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



己的作品已经能与市场上的其他两个编译器竞争了,我们
的兴奋真是笔墨难以形容!
不要忘记细节
前面列出的阶段性目标是为了说明上的简洁扼要,事
实上并不那么简短。“连结单段的应用程序,让它能够执
行”是一个概念,并没有表达出足够的细节,真正的阶段
性目标还要更明确:
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
微软研发·致胜策略
学无止境下载
好了,但其实还有精益求精的空间。而另一方面,项目经
理只关心那些功力还不够的程序设计师的学习状况,不太
有时间对已经合格的程序设计师加强训练。
如果程序设计师只是完成份内的程序设计工作,那还
不够好,一位讲求效率的管理者应该不断提高对属下的要
求标准,就像花样滑冰选手的教练一样,当您提高了对组
员程序设计功力的要求,也会带动整个公司的程序设计功
力水平向上提升。
五年资历的笨蛋
有时候我看到有五年(或更久) 资历的程序设计师,
一直都在同一个团队,做同一个产品,做得久不是问题,
问题是他还在做同样的工作。如果他当初被分派到E x c e l
的项目,负责开发M a c i n t o s h版特有的功能,那么他就一
直做下去,五年下来成为此特定领域的专家;如果他当初
被分派到负责编译器的优化工作,那么多年后他还是与世
隔绝地做着同样的工作,当然已经变成专家了。
从项目的角度来看,为了发展最精良的产品而把旧人
留在原工作小组,是个不错的主意,任何人都是做自己熟
悉的事情时速度最快,但是如果没有适当地教育他们,结
170
微软研发
致胜策略下载
果就适得其反,您等于是剥夺了他们扩展新视界、学习新
技术的机会,对程序设计师不利的话,最后也等于是对项
目、甚至公司不利。
假定有一位新聘的程序设计师,在第一年时成为档案
转换的专家,于是在以后的四年里专门为各种产品的档案
格式写转换的程序,这件工作绝对是重要的,但是他的技
术只有在第一年里大幅提升,其余的四年都在重复旧的工
作,没有学新的技术,事实上他是停滞不前了。他有五年
的工作资历,但不是五年的工作经验,他只是用五年的时
间重复第一年的经验罢了,他的五年,其实是五个一年。
如果他在后面的四年里接触应用软件的其他部分,他
的技术范围就会比较宽广,如果他一直在开发某一个
Windows 或Macintosh 的应用软件,每年都在一个主流领
域中负责不同的工作,那么他五年下来可能具备完整的历
练,他会知道以下的各种技能:
◆ 如何制作使用者界面函数库,包括菜单管理程序
(menu manager)、对话管理程序(dialog manager)、
窗口管理程序(windows manager);并且利用这些
函数库来作为使用者界面的基本组件。
◆ 如何使用线上求助函数库(help library),为应用程
171
微软研发·致胜策略
学无止境下载
序中的各个对话框提供适宜的辅助说明。
◆ 如何运用绘图函数库(graphics library) 在屏幕上显
示各种不同的形状,位对映图(bit map),处理调色
板,控制各种不同的显示装置等。
◆ 如何自打印机打印输出结果,并让每种打印机都发
挥最高质量,充分运用每一种打印机的独特功能,
例如支持P o s t S c r i p t的打印机,就能绘出水印和极
细的线。
◆ 如何处理国际版中不同语言的字码问题,例如双位
字节(double…byte),某国特有的时间和日期的格式、
文字排列方向等等。
◆ 如何处理在网络环境中执行应用软件所可能发生的
各种问题。
◆ 如何与别的应用软件交换资料,从最简单的剪贴簿,
到极复杂的Windows 动态数据交换函数库
(Dynamic Data Exchange library) 或对象链接与内嵌
的函数库(Object Linking & Embedding library)。
◆ 如何撰写跨平台的程序,让本软件能够在市面上流
行的各种操作系统— M S … D O S 、Wi n d o w s、
Windows NT、OS/2与Macintosh—上执行。
172
微软研发
致胜策略下载
◆ 。。
您大概可以看出来了,以上是一位在微软的Wi n d o w s
或Macintosh 的应用软件有五年开发经验的人应该养成的
技术—如果他在不同的领域都锻练过,新的要求、新的
工具都会促使程序设计师学习与成长。
请比较以下的两种方式:当您在建立一个新的部门时,
有一位专才和一位通才让您选择,两位都是五年经验,您
会比较倾向用谁?
通常项目经理在分派工作时,很自然会让最擅长这件
工作的人去做这件事。他会让最精通档案转换的人去做档案
转换,这位仁兄做了五年的档案转换,肯定没有人比他更行
了。除非所有的档案转换专家都扬言再不让我做自己感兴趣
的东西,我就跳槽,否则项目经理是不会改变主意的。
项目经理的理由是:“如果不让最擅长做档案转换的
人来做,反而派一位新手负责档案转换,不就慢得多吗?”
再不然就是异曲同工的:“如果没有把每件工作都派给能
做得最快的人,那不就徒然增加开发的时间吗?”
如果您把项目当成一件临时任务,着眼点是追求时效,
那么,这样的想法并没有错。但是如果您把项目当成一种
长远的理想来追求,那么,您就应该培养组员各方面的专
173
微软研发·致胜策略
学无止境下载
长,固然目前的工作速度会慢些,然而几年后您就拥有一
个阵容坚强的团队,任何一位组员,都有能力处理任何一
种问题。万一出现一个难缠的错虫时,您不必去找那唯一
的一位专家,任何一位程序设计师都能解决这个错虫。如
果您要在产品中增加一项跨领域的功能,任何一位程序设
计师都能做,而且所有的程序设计师都能了解如何共享子
系统和其他人的程序,就可以避免重复写同样的程序,并
且有能力改善整体的产品设计。最终来说,通才的培养对
整体效率还是有利的。
您的组员在新的领域中摸索时,难免会多花点时间,
也因此才会学到足够的经验,花在学习的每一分钟,将来
可以节省更多时间,因为他们可以在各种不同的领域应用
学到的技巧。所以,持续性的训练、培养是必要的投资,
以后会带来不可限量的回馈。
不要让程序设计师的学习停滞不前,
要让程序设计师有机会磨练不同领域的技术,
培养十八般武艺样样精通的组员。
174
微软研发
致胜策略下载
受用无穷的技术
在微软,一位新聘用的程序设计师刚加入一个项目时,
通常会派给他基础性的工作,例如追踪错虫、修改程序等
等。渐渐地,这位新人比较熟悉这个软件了,就可以增加
工作的难度,直到他能够一人承担一个程序或全权负责完
成一项功能。这种循序渐进的方式很合理,因为新人对这
个软件完全不了解,不可能让他做太重要或太困难的事情。
对于这种训练新人的模式,我唯一不同意的是,微软分派
工作是以难度来区分,而不是以新人学习范围的广度来区
分。当您分派工作时,千万要把“在工作中学习”的观念
牢记在心,设法让每个人都能在所分派的工作中学习到新
的技术,即使要让一位新手做困难的工作也无妨。这种做
法不单是为了培养人才,对公司也很有益处。

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

你可能喜欢的