友情提示:如果本网页打开太慢或显示不完整,请尝试鼠标右键“刷新”本网页!
恐怖书库 返回本书目录 加入书签 我的书架 我的书签 TXT全本下载 『收藏到我的浏览器』

微软研发致胜策略-第4部分

快捷操作: 按键盘上方向键 ← 或 → 可快速上下翻页 按键盘上的 Enter 键可回到本书目录页 按键盘上方向键 ↑ 可回到本页顶部! 如果本书没有阅读完,想下次继续接着阅读,可使用上方 "收藏到我的浏览器" 功能 和 "加入书签" 功能!


我想他也知道函数库中应该只有大家都要用的程序,但他
在做决策的同时并没有确实把握这个原则。他的目标只是
26
微软研发
致胜策略下载
“为MS…DOS 的应用程序提供像Windows 环境的使用者界
面函数库”,有没有办法说得更详细些?
目标是为MS…DOS 的应用程序提供像
Windows 环境的使用者界面函数库,只包含对
每个小组都有用的程序。
如果把目标定义精确些,就可以发现很多程序其实是
不应该放在函数库中的。在我们检讨完工作清单后,我开
始研究另一个问题:“很多小组抱怨,函数库中每次一放
入新版的程序,就会发生链接失败,这是怎么回事?”
“喔,那很简单,他们只是忘了修改自己程序中的函
数名称而已。”
这我就不太懂了,于是我请他给我一个实例。他的小
组修改过函数库中的b u g了,或是加强了该函数的功能,
然后就连名称也顺手改了,用另一个更能表达其功能的函
数名称;或者是做了一点小小的修改,然后把函数名称一
道改了,以强调所改的差异部分。
这位组长不了解其他小组怎么会如此大惊小怪,不过
是改个名字而已,非常简单啊。他从来没想过,有20 个
小组要因此检查所有的程序,把所有用到函数库的地方都
27
微软研发·致胜策略
奠定基础下载
改过来;他也没有想到,经常链接失败的函数库是很不好
用的,函数朝令夕改,别的小组会无所适从,根本不知道
程序应该是什么模样才对。
如果这位组长稍微花点时间,从别的组的角度来看看
这个函数库,他就会明白放入新版程序时,与旧版能兼容
是多么重要。大家都希望既用到新的程序代码,希望所有
的程序都能链接成功,没有任何失败。
于是,我们把项目的目标再更具体化一些,那是:
目标是为MS…DOS 的应用程序提供像
Windows 环境的使用者界面函数库,只包含对
每个小组都有用的程序,而且必须和其他部分
的程序版本一致。
现在我们理清了影响这个函数库的重要相关因素,我
和组长一起定出了清楚而明确的项目目标。我们发现,只
要用心考虑各因素之间的关系,考虑一项行动会造成什么
影响,很多细节就会变得显而易见,而且是可以事先建立
正确的规范,避免事后再来花更多时间收拾残局。只要在
做出决定之前想一想,“我要这个函数库能做到什么?项
目的目标是什么?”很多问题都能迎刃而解,组长可以轻
28
微软研发
致胜策略下载
易决定什么是该做的,以及该如何做。
如果做得更彻底一些,组长可以花几个小时,甚至几
天来订出详细的项目目标,这些目标不一定要博大精深,
只要目标能够写下来贴在容易看见的地方,随时提醒、随
时指引,让项目朝着正确的方向进行就可以。
如果函数库中都是全部小组需要用到的,函数库就会
体积小些、精简而标准化,新增的功能特色就比较容易做
出来,开发小组就不必拼命加班做一大堆只有少数人用得
到的函数。想想看,只要把目标稍微理得清楚些,整个项
目的方向就会有惊人的改变。
理清详细的项目目标,可以避免在不必要的工作
上浪费时间。
相互依赖
项目失控最有可能的原因是小组之间工作上的相互依
赖:一方必须依赖另一方把工作做完才能进行自己的工作,
而且若是彼此的配合或沟通不够好,整体工作必然受到不
29
微软研发·致胜策略
奠定基础下载
利的影响,依赖愈多,愈容易失控。使用共享函数库有很
多好处,这是人尽皆知的事。但是身为组长的人,必须衡
量是否该把这部分的程序代码放进函数库,所获得的好处
与必须忍受的缺点—让其他的工作依赖于它,孰轻孰重。
任何领导者,必须牢记并且实践以下的座右铭:
尽可能减少项目中小组彼此间的依赖。
想想看,万一函数库的开发工作进度落后了,又未能
及时采取改善措施,对其他的小组有多大的伤害!负责函
数库开发的小组会拖累大家的进程,使大家不由自主地一
起延误,若不能及时挽救,项目就真的失控了。
另一方面,如果依赖函数库的小组听说开发函数库
的小组无法在规定时间内完成要求的工作,也不该强迫
他们。因为函数库的开发是很多其他工作的基础,绝不
容许发生丝毫错误。如果强迫开发函数库的小组必须在
某个期限内完成过多的工作,等于是不恰当地依赖开发
函数库的小组。
以上所谈的道理似乎简单浅显,但是做起来可不然,
我看过很多重复发生的错误,有许多小组真的耗费了大量
时间在函数库的依赖性问题上纠缠。
30
微软研发
致胜策略下载
努力要有代价
有些管理学的书喜欢把设定目标看成一种神秘的哲
学,让您读起来会有这样的感想:“我不知道究竟为何要
设定目标,只知道经过研究证实,有明确目标的团队,会
比目标模糊的团队更有生产力。”
我不知道这些管理学书籍为什么把设定目标这件事
弄得这么玄,设定目标只不过是把“你要完成的事”用
清晰的语言描述出来,让每个人都有明确的概念。如果
您的目标是买一栋这样的房子: 2 0世纪初期的维多利亚
式三彩建筑,有四间卧室两间浴室,后院还要一尊法兰
西斯雕像,您大概会先看过一大堆的房子,然后才确定
自己想要的是哪一栋。目标越是明确,达成目标的过程
就会越有效率,因为您能马上拒绝不符合脑中未来景像
的事物;明确的目标之所以带来效率,正是由于它能帮
助您挡掉别的项目丢过来的不相干的垃圾,让您专注在
本项目的策略性事项上。
不幸的是,在软件开发过程中,没有任何事件能迫使
领导者停下来想一想,却有庞大的压力迫使领导者没有时
间思考,反而忽略了设定目标这么重要的事。当项目已经
落后了一大截,都快失控了,谁还有时间去设定详细目标
31
微软研发·致胜策略
奠定基础下载
呢?有些主管不设定目标则是基于完全不同的理由:别人
都没有设定目标,我们为什么要这样做?不论理由是什么,
凡是没有明确目标的小组,必定遭遇额外的挫折。
如果您希望项目进行顺利,就一定要花点时间设定详
细的目标,这不是什么有趣的事,但这一两天的功夫让您
的项目不会偏离方向,相对的报酬是非常值得的。组员的
努力应该有代价,而长期加班、饱受压力的小组,多半是
工作漫无目标的后果。
不要因为制定目标需要花很多时间,或是别人
都没有做,就省略了目标的制定。制定明确详
尽的目标所花的时间,绝对会让团队得到更大
的好处。
程序设计的优先考虑
如果您请三位朋友顺路到超级市场帮您买些芦笋、绿
豆、玉米,结果其中一位买了罐头蔬菜因为最便宜,第二
位买了冷冻蔬菜因为最容易煮,第三位买了新鲜蔬菜因为
32
微软研发
致胜策略下载
最健康也最美味,您会觉得惊讶吗?至少,您觉得这样的
事情会发生吗?
这三位朋友买了不同的蔬菜,因为在他们心目中,强
调的优先考虑不同,程序设计也是一样的道理:即使同一
个程序,由三位程序设计师写出来的程序代码必定不同,
第一位程序设计师强调程序代码应该越简炼越好,第二位
认为容易使用最重要,第三位则喜欢追求执行速度。
假若您的产品必须快得让人目不暇给,而程序设计师
却认为写程序的第一要点是轻薄短小,那么做出来的成品
不太可能会使用特别的加速方法,执行速度也不太可能令
人惊喜。假若您的主要目的是在最短的时间内做出高稳定
性的软件,但是您的程序设计师却喜欢追求执行速度,而
不太在乎稳定性,结果一定无法令人满意。如果程序设计
师心目中理想的考虑顺序和项目目标并不一致,想得到满
意的产品就好比缘木求鱼。
项目目标和程序设计的优先考虑并不相同,但二者常
会发生部分重叠,主要是因为项目目标能帮助考虑顺序的
确立,以下是重要的基本观念:
◆ 项目目标引导项目进行的方向。
◆ 程序的考虑顺序影响程序设计的过程。
33
微软研发·致胜策略
奠定基础下载
假定项目的目标是做出世界上最快的M a n d e l b r o t
plotter (一种画几何图形的程序),效率就是程序设计时的
第一优先考虑。
暂时不谈程序设计的优先考虑有何重要性,在我的
经验中,主管很少注意到这个问题。程序设计究竟该以
什么为最优先考虑?速度?体积?稳定与坚固性?可移
植性?可维护性?每一位程序设计师对于程序设计的优
先考虑看法不同,并且反映在他们的作品中。如果大家
各自随意,就很容易出现不一致的情况:有些人为了容
易维护而坚持写干净漂亮的程序,另一些人认为速度是
最重要的,所以写了一大堆别人看不懂的程序代码或汇
编语言。
如果您希望小组工作有效率,能够精确地达成项目目
标,您就得建立最适当的程序设计优先考虑顺序,并且让
所有的程序设计师确实遵守。最低限度,您应该为以下的
程序设计考虑点排出一个优先级表:
◆ 体积大小(size)
◆ 速度(speed)
◆ 坚固性(robustness)
◆ 安全性(safety)
34
微软研发
致胜策略下载
◆ 可测试性(testability)
◆ 容易维护(maintainability)
◆ 简洁(simplicity)
◆ 再用性(reusability)
◆ 可移植性(portability)
这张顺序表中唯一需要解释的是安全性,如果您认为
安全比速度重要,您就得选择重安全而轻速度的方式,优
先要求程序中没有b u g。比方说,程序有两种方法可以选
择,一是表格扫描( t
返回目录 上一页 下一页 回到顶部 1 0
快捷操作: 按键盘上方向键 ← 或 → 可快速上下翻页 按键盘上的 Enter 键可回到本书目录页 按键盘上方向键 ↑ 可回到本页顶部!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!