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

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

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


来做函数,很好用但容易有危险。
如果您愿意利用某些C 语言编译器特别提供的inline
指令,就可以充分享用宏的好处,而不必冒潜在的风险,
惟一的问题是, i n l i n e不具有可移植性,在不同的编译器
之间未必兼容。对我而言,安全比可移植性重要,所以我
宁愿选择用inline 的方式来保护宏函数。
37
微软研发·致胜策略
奠定基础下载
当机立断
您可能听过很多极为成功的人士都有当机立断( s n a p
dicision) 的倾向,事实上,一般人如果过快做决定,大都
是颜面尽失的悲惨下场。差别是在于,那些成功人士早就
已经设定好清楚的目标和优先考虑的顺序,遇到任何问题,
或是要裁决某个建议时,只要把它放到脑海中的决策“尺”
一量,立刻就会有答案。另外,成功人士不会轻易改变主
意的,改变主意等于是背叛了自己的信念。
事实上,成功人士并不是未经思考就草率决策,只不
过他们把目标和优先级订得非常清楚,所以他们不必想太
久,也不必为无关紧要的事情浪费时间;结果是:他们不
必花太多时间来做决定,而是花时间去做已经决定的事。
严守基本原则
回顾本章的讨论内容,我们可以总结出软件开发的基
本观念:“确定您要达成什么样的目标及如何去做,让每
位组员都明白目标,并专注地朝这个目标努力,设定程序
的优先考虑顺序,以及相对的质量规范指导。”这些都是
很基本、很简单的观念。
现在,回头看看您公司内的各个部门,有多少个部门
38
微软研发
致胜策略下载
有清楚的项目目标?有多少程序设计师接到关于程序优先
考虑顺序的明确指示, 以及质量规范指导?然后问问自
己:“程序设计师真的全力投入在改善软件的工作中吗?”
再看看您公司内的项目主管们,他们是否习惯在会议
中讨论一些芝麻小事,或是在讨论真正重要的事情?他们
是否常常扔些与产品无关的工作给程序设计师,例如写报
告等等,或是认真为程序设计师清除所有阻碍工作的障碍
呢?
本章所讨论的全都是相当基本的概念,但在我的经验
中,很少人对基本的东西认真思考。而我相信正因如此,
您随手抓起一本《信息世界》( I n f o World) 或《M a c周刊》
(MacWEEK) 之类的专业杂志,里面就充斥着“某个项目
已再度落后六个月”之类的报导,或是某位程序设计师为
了工作连家都不能回的故事。
重点提示
公司聘请程序设计师,是为了开发高品质
的软件,但如果经常被杂事打扰、分心,
就无法保持专注在真正该做的事情上。主
39
微软研发·致胜策略
奠定基础下载
管必须确定程序设计师能专心投入在具有
策略价值的工作上,而不是打杂,凡是会
阻碍软件开发的东西,主管应该毫不犹豫
地把它排除。
然而,有很多杂事其实是无法避免的,大
公司尤其如此,那就只好将它的负面效应
尽量减少,方法是不断自问:“我到底想要
完成什么?”“我该怎么做才能既保持这件
工作的好处,又能避免它的坏处?”要满
足实质上的需求,而不是表面上的作业程
序。
拥有明确目标所带来的好处虽然不是立竿
见影,但没有明确目标所造成的混乱绝对
是显而易见。没错,建立明确目标是一件
费时又无趣的工作,但比起项目延误或失
控的危险,肯定是值得付出的。请记得使
用者界面函数库的实例,项目目标只要稍
微改好一些,就会明显地减轻压力,项目
目标再修正一次,问题就几乎都迎刃而解
40
微软研发
致胜策略下载
了。
每一位成员都必须有一致的程序优先考虑
顺序,程序的可维护性是最重要的吗?可
移植性?体积?速度?为了让软件产品符
合项目的目标,必须让程序设计师明白本
项目的程序优先考虑顺序,他们在程序设
计时才知道该如何取舍。同时,您还得对
每一项优先考虑点事先建立质量规范指导,
以避免到时候质量不合格又得重写部分程
序,导致时间浪费和项目延误。愈早定出
质量规范指针,愈能省时省力。
41
微软研发·致胜策略
奠定基础下载
下载
第2 章
策略性的
作业方式
2
Chapter Two
虽然我从事软件设计已达2 0年,但我写技术文件或
文章时,从不使用文字处理器,听起来很意外
吧?我仍然用最传统的纸和笔做最初的草稿,然后再输入
计算机去编辑。
我肯定自己没有计算机恐惧症,而且我很清楚用纸笔
绝对比不上计算机方便,但我仍然这么做。
很久以前我就发现,当我使用文字处理器时,每写完
一句我就忍不住用编辑功能东修西改的,最后一天下来写
不了多少东西。由于在文字处理器上编修文字远比撰写文
字简单,我常常沉溺其中不可自拔,太分心在编修上,忘
了写作内容才是本旨。反正早晚得修饰嘛,现在编修并没
有什么不对,只是我拖延了自己的工作效率。
有一天我终于领悟到,原来我一直在破坏自己写的作
品,我必须寻找提高写作效率的方法,我试着在用文字处
理器时专心写作,不去使用编修功能,却没有什么成效。
我需要的是撰写比编修容易的东西,那只有纸和笔了,于
是我不再使用文字处理器来写作,我只用它来编修那些已
用纸笔写好的几页文稿。
我的新方法解决了我在写作时分心编修的恶习,因为
它让我只管写作。
44
微软研发
致胜策略下载
从这里我们可以看出,在程序上的一点小小改变,可
以造成非常不同的结果。以前我写五段的时间,现在我可
以写出五页,这样的进步是因为我成了一位有经验的作家
吗?还是因为我的工作时间加长了吗?都不是。我的生产
效率提高,是因为我了解到我使用的工具有个缺点,而我
找出了另一种比较有效率的方式。
当您读完本章后,您会看到更多小改变大收获的实例。
一旦您掌握了这个概念,把它应用在项目上,您可以大声
说自己确实是在聪明地工作,而不是辛苦地工作( w o r k i n g
smart; not working hard),并且您的工作能够事半功倍,再
也不用熬夜加班,也能如期完成项目。
浓淡合适的咖啡
在咖啡店里常常遇到的难题是记住哪位客人喝什么咖
啡:有些人要喝无咖啡因的,有些人要喝一般的咖啡。于
是有些咖啡店经理不惜花大笔金钱送员工去接受超强记忆
术(Kevin Trudeau’s Mega Memory) 的训练,在那里他们训
练学员如何把看似无关的事物作视觉联想:把客人点的咖
啡和他的衣着、领带等联想在一起,比方说点蓝山咖啡的
这位小姐正好有个特征是戴蓝框眼镜。而大部分的经理会
45
微软研发·致胜策略
策略性的作业方式下载
用更简单的方法解决问题,比方说规定某种咖啡要用某种
特征的杯子,这样服务生只要一看到杯子,就知道这位客
人喝哪种咖啡,续杯时就不会弄错。
常见的问题,也许只用一个微不足道的方法就可以解
决。
除了咖啡店的例子之外,我们来想像一下,还有没有
别的地方也可以运用这个原理解决问题。现在我们来看另
一个例子。
我家附近有两家咖啡屋。他们用一模一样的咖啡壶、
咖啡豆,连服务生都一样用的是大学生,怪的是,煮出来
的咖啡却大不相同:其中一家的咖啡一直是浓淡相宜的,
另一家却时浓时淡,有时甚至烧焦,简直令人难以下咽,
您根本不知道端上来的咖啡会是什么样的味道。
这两家咖啡屋的一切设施几乎完全一样,除了一个小
小的细节:质量稳定的那家,他们的咖啡壶上有一条横的
浮雕花纹,这就是简单而关键的质量体系(quality system)
的秘诀,靠着这条细细的横纹,他们可以提供品质稳定的
好咖啡。每次新的服务员到职,经理就指着这条横纹给他
上课,告诉他:
“你倒咖啡时,只要发现水位在这条线以下,就要立
46
微软研发
致胜策略下载
刻煮新的一壶,要立刻去煮,不要被任何事情耽搁。”
“万一那时候店里很忙怎么办?”
“即使一整队的芝加哥公牛刚刚打完球,全挤到这儿
来也不管,还是先煮新咖啡要紧,那怕你已经倒好一杯咖
啡要端给美国总统,只要看到水位在这条线以下,就要停
下所有的事,先去煮新咖啡再说。”
接着,经理开始解释,从一个空壶、放进磨好的咖啡
豆、到开始煮,总共要花1 5秒钟,这样虽然会让客人多等
1 5秒钟,但却可以避免这壶咖啡全空之后、新咖啡未煮好
前,让客人多等7分钟。
但是如果您走进另一间咖啡屋,坐下来,您可能会
看到服务生伸手拿咖啡壶却发现里面是空的,于是您得
等上7分钟。有时候,服务生为了让客人少等些时候,就
会看看从咖啡机滴到壶里的已经煮好的咖啡,如果能凑
成一杯的话,就把这杯倒给您。但是好的咖啡不是这样
煮的,应该等到这一泡咖啡完全从咖啡机里滴到壶中,
热水和咖啡的混合比例才会恰到好处,如果太早把壶内
的咖啡倒出来喝,就会太浓而难以入口,而后段的咖啡
又太淡没有味道。这就是这间咖啡屋质量不稳定的原因。
所以有时候倒出来的咖啡,虽然看起来很像咖啡,味道
47
微软研发·致胜策略
策略性的作业方式下载
却是咖啡渣加白开水,有时候喝到很正常的咖啡,有时
候咖啡竟煮焦了—为了快点煮好咖啡,咖啡机内只放
了一杯份量的咖啡和水,由于水太少,加热器不容易调
到适当的火力,结果咖啡就焦了。
这两家咖啡屋唯一不同的是,一家等到壶内的咖啡全
空了才再煮新的,一家却是壶内的咖啡到了低水位时就再
煮新的一壶。两家的作业方式几乎完全一样,就只有这点
小小的差异,结果竟然如此天差地远,而且这和人员的技
术毫无关系。
我举咖啡屋的例子,当然是因为这个原理和软件开发
很有关连。
如果我问您,软件开发过程中,正确的除错时机是什
么; 您会怎么说?等到所有的功能开发完毕后再一起测试、
除错,或是一发现有错误就立刻除掉它,或是无所谓,反
正花的时间都是一样的。
如果您认为何时除错都一样的话,那可就错了。这就
像咖啡屋经理误以为什么时候煮新的咖啡都无所谓,是一
样的错误观念。对于项目经理而言,最坏的情况莫过于被
错误整得团团转,根本无法追求项目目标;如果您想要控
制好项目的发展,最好是不要有任何的错虫,忽略了这个
48
微软研发
致胜策略下载
目标就等于是注定失败(我在《零错误程序》一书中有详
细的说明)。当我刚加入Microsoft Excel 工作小组时,他
们都喜欢把错虫留到后头再来清除,我指出这种作法可能
带来的种种问题,最糟的一个结果是,到时候会无法决定
产品究竟可不可以推出。因为实在太难估算一个错虫要多
少时间去把它逮到、消灭,再说,除错的动作可能带来新
的潜在错虫,这是测试小组无法确定的。
如果只管开发,把错虫留到最后再来解决,会让项目
的完成比率被高估。看起来好像已经完成开发的项目,高
层主管却惊异地发现还要用六个月的时间除错,而只有真
正在拼命除错的程序设计师才晓得为什么,因为到处都是
错虫,这个产品不能推出。
在好几项软件因为错虫太多而不得不宣告失败之后,
微软决定好好自我检讨一番,以下是这次检讨的摘要:
◆ 错虫愈晚清除,时间花得愈多。毕竟,您得知道程
序是怎么写的,才能判断那里出了错虫;刚写完的
程序记忆犹新,一年前写的程序可能早就忘了。
◆ 在开发的过程就立即除虫,可以让您早些学到经验,
然后就不会再犯同样的错误;相反地,如果到了项
目后期才发现,您可能已经犯过多次同样的错误而
49
微软研发·致胜策略
策略性的作业方式下载
不自知。
◆ 发现错虫而立即除错是一种缓冲器,提醒那些讲求
快速而不够谨慎的程序设计师,以后多加小心。如
果您坚持错虫全都清除了才能开发新的功能,就可
以防止所有的程序处于半完成状态,因为错虫太多
而使项目延误乃至无法推出;相反地,如果您允许
错虫的存在,等于是埋下了项目失控的地雷,最后
看似完成的项目,其实已经失控。
◆若能保持没有任何错虫,您就能比较准确估出项目
的完成时间。不必猜测3 2项功能和1 742个错虫共要
花费多少时间,只要估算3 2项功能的工作时间就行了。
更重要的时,万一到时候有些功能做不完,您可以做
多少算多少,因为软件一直保持在无错误状态。
我经常提醒每一位程序设计师,假若您发现了错虫,
而不打算立刻除掉它,请想想微软的惨痛教训。从别人的经
验中学习比较上算,要不然您想自己走一遍错误的道路吗?
一发现错虫就立即清除掉,别拖延。
50
微软研发
致胜策略下载
无法忍受的慢
在微软,有些小组把“错虫”的传统意义扩大解释,
包括产品的性能缺陷也算是一种错误;例如软件的执行速
度太慢了,即使所有的功能在逻辑上都是正确的,仍然被
认为是一种错虫。
如果他们有确实采取“一有错误、立即更正”的策略,
他们就得事先定义何谓“无法忍受的慢”,也就是必须早
点定出质量规范指导,这样的话,程序设计师一开始就知
道标准是什么,免得到时候又得重写部分程序代码。
这样做的缺点是程序设计师可能过度追求速度而写出
很复杂的程序,因为在写完之前他无法知道整体的执行效
率会如何,有时候会品质过高,不过一般来说这种缺点是
很容易被发现并改正的。
程序设计师应该把找错虫当成一件很重大的事,必须
立即采取相应的行动,不为任何理由而耽误,就像咖啡壶
里的水
返回目录 上一页 下一页 回到顶部 0 0
快捷操作: 按键盘上方向键 ← 或 → 可快速上下翻页 按键盘上的 Enter 键可回到本书目录页 按键盘上方向键 ↑ 可回到本页顶部!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!