友情提示:如果本网页打开太慢或显示不完整,请尝试鼠标右键“刷新”本网页!阅读过程发现任何错误请告诉我们,谢谢!! 报告错误
飞读中文网 返回本书目录 我的书架 我的书签 TXT全本下载 进入书吧 加入书签

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

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



题,我只能不断告诫新进人员,回复e…mail 要分批做,不
需要实时就做:早上一进公司时看、中午休息时看或是下
班前看一下,都可以。e…mail 的目的就是要让程序设计师
思绪不被打断,所以不必有事没事就瞧瞧它。
每一位程序设计师看的信息数量都是相同的,这是固
定的。您可以把e…mail 处理得很有效率,也可以让工作进
行得更有效率。
学习前人的经验
我经常用很多例子,向程序设计师或主管们说明策略
性工作方式的重要,小小的要领可以带来重大的益处,有
些人总是不相信,他们认为工作方式是拐杖:“你是在欺
骗那些人去倚赖经验,一旦他们换个角色,他们就没有学
习能力了。”
由于我深信策略性工作方式的好处,故而我也非常
在乎这些人的反应。我相信心存怀疑的人在读完本书之
后,也会迫不及待地想要运用更好的技巧来改进工作效
能。我认为本书和书中的经验法则并不会阻碍一个人的
54
微软研发
致胜策略下载
学习潜力。
最美妙的是,如果有完整设计的工作方式,任何小组
成员(不论他是新进人员或由他组调来的人) 都能立刻用最
有效的方式工作,不必费神去了解或摸索这种工作方式背
后的意义。我的建议是,对于每一项工作方式都详细解释
它的用意,您为什么如此规定,您期望组员做到什么。适
当的时候,组员自然会明白并感激您的巧妙安排,而且更
服膺这些道理,甚至自己也开始思考如何改进工作效能。
因此,您应该鼓励您的团队成员用心了解与改进工作方式。
不要把策略性工作方式当作训练的教条,应该向
组员解释这些工作方式的内涵与用意。
好方法要让大家分享
设计完善的工作方式是很有价值的,因为它很自然地
促使人们做对产品最有贡献的事情。策略也是非常重要
的,因为它是许多经验和思维浓缩而成的计划,让每个人
都了解它,并且付诸行动。将这样的策略或方法集合起来,
55
微软研发·致胜策略
策略性的作业方式下载
能够让个人的生产力和工作质量提升到更高的境界。
身为一位主管,您应该鼓励组员提出改进工作效能的
建议。以我来说,我对于软件的第一优先考虑点是没有错
虫,当然,我们都知道这是说来容易做来难的。即便如此,
我还是认真观察那些较少出错虫的程序设计师,研究他们
为什么比较能避免错误,我的结论是他们比较懂得在容易
出错虫的地方特别小心,懂得避开程序设计时常见的盲点
或陷阱,也比较懂得用有效的方法抓虫。换言之,他们懂
得写出无错虫程序的方法。
为了鼓励程序设计师学到避免错虫的策略,每次他们
在追查错误原因时,我都会问这两个问题:
如何避免这个错误?
我如何以更简单(或自动) 的方法发现这个
错误?
如果程序设计师经常思考这两个问题的答案,他渐渐
就能学会更高明的程序设计技巧。有些程序设计师是同样
的错误一再地出现,显然就是主管没有鼓励他认真思考这
两个问题,从错误中汲取教训。
当然,您的询问是否切中要害,也引导着组员的思考
56
微软研发
致胜策略下载
方法是不是问题的要害。您可以经常问自己这类的问题:
为什么进度总是一再落后?
有什么办法可以避免将来再发生进度落后?
虽然这两个问题很类似,都在问进度,但我想您的答
案不会相同吧。第一个问题着重在原因:互赖性的工作太多,
工具太难用,老板是个白痴,老在阻碍工作的推动等等。第
二个问题在问未来的预防方法:减少互赖性的工作,请购更
好的工具,与老板加强沟通,争取他的配合等等。这两个问
题的方向不同,第一个是探究原因,第二个是未来的改进方
法,因此,这两个问题的回答也一定不同,第一个导引出抱
怨,第二个才导引出解决方法(attack plan)。
即使您的问题非常好,完全正中核心,也未必能导出
正确的策略。项目的目标会因为定义精确而获得更好的效
果,问题也是一样,问得愈精确、问题愈有力,让我们来
看看这个问题:
如何保持每次都如期完成软件?
有些主管问这个问题的后果是逼迫组员加班;有些则
是以分红或主管掏腰包买晚餐,或是安排一场热门的夜场
57
微软研发·致胜策略
策略性的作业方式下载
电影外加爆米花(别只管笑,真有这样的事儿)来贿赂组员
加班。
但是,主管可以把问题问得更精确、更有建设性:
如何在不加班的前提下,而能如期交差?
这回的答案可不能一样了,因为逼迫加班和利诱加班
都被排除在外,既然不能增加工作时数,于是主管不得不
想法子加强效率,去找寻更有效的解决方案。为了不加班,
也许得雇用更多的人手,这是解决方案之一,但公司绝对
不会喜欢,至少这个方案会摆在最后再来考虑。这样吧,
我干脆再把问题说得更精确些:
如何在不加班、也不增加人手的前提下,
依然如期完成软件?
这可就真的迫使主管来点真正有创意的思考和认真检
讨工作本身值得改进的地方了。也许主管不认为所有的程
序一定要自行开发,他可以雇用一位短期的顾问,或是运
用公司内别的小组已完成的程序代码,或是买一套文件完
整的函数库,这都能够大幅减少开发程序的时间。也许,
可以把产品中较无价值的功能特色从目标中删除,这也是
58
微软研发
致胜策略下载
个办法。
理想的问题
您读完本书之后,会发现不必每周工作8 0小时就能如
期完成项目的方法还真是不少。当您用自问自答的方式来
引导策略性思考时,请不要忘了第1章所提的重点:“我到
底要完成什么?”没有一位主管喜欢自己的组员成天加班,
事实上,大部分的主管都希望大家能在愈短的时间内完成
愈多的任务。要提出最佳问题最简单的技巧是:想像一下
您理想中的项目应该如何运作,然后在您的问题中反映您
的理想。您理想中的项目,应该是对进程估计准确、每一
个里程碑都准时到达、没有人需要加班、每个人都乐于工
作,不是吗?有太多值得自我检讨的问题,同一个问题有
太多问法,您必须记得,在问题中反映您所希望的理想项
目,就比较容易得到接近理想的答案。
我们要强调的是,愈精确的问题,愈能促使人们朝向
更接近理想的答案思考,剔除那些不够好的答案,因为第
一个想到的往往是最简单、不够理想的解决方案,我们不
能这样就算了。一次比一次更精确的问题,可以刺激思考
过程,激发出更有创意的答案。
59
微软研发·致胜策略
策略性的作业方式下载
提出精确详尽的问题,可以引导出真正有效的策
略性工作方式,帮助项目目标顺利完成。
不要死守规则
当您提出并推动策略时,同时也要提醒开发团队,不
见得要1 0 0 %地遵循策略,最重要的是灵活运用。做事情
要用脑筋思考,理性判断,而不是盲目地人云亦云,一味
地死守规则。规则也有不太适用的时候。
有一项几乎是铁定的程序设计策略,就是不要使用
g o t o。但是,有经验的程序设计师一般都认为,在某些特
殊情况下—大部分是复杂的错误处理,用goto 反而使
程序代码清楚明晰。如果我看到程序设计师在写错误处理
程序时,极力避免使用goto,我通常会拿着程序代码和他
一起讨论,我会问道:
“你有没有想过用goto 来写这段程序?”
“什么?当然没有!goto 是程序设计的祸源,会使程
序既不稳定又难读懂,只有低能的程序设计师才用g o t o
吧。”
60
微软研发
致胜策略下载
我解释道:“嗯,说得对,不过在某些情况下goto 是
合理的,复杂的错误处理就是。让我们拿用goto 做的程
序和你的程序作个比较,你觉得哪一个的程序代码比较清
楚?”我拿用goto 做错误处理的程序代码给他看。
通常程序设计师都会不太情愿地承认是goto 版比较
好。
“那么,你将来打算用哪种方式来写程序?”
“我自己的,因为它不用goto。”
“等等,我以为你刚才同意了goto 是比较好的方式,
程序会比较好读,不是吗?”
“它是比较好读,但是用goto 的话,编译器会无法产
生最优的执行码。”
“让我们假设你的论点是对的,编译器所产生的执行
码的确差些。你想,执行这一段程序机率大不大呢?”
“很少会执行到,我想,因为它是错误处理。”
“既然不常执行到,那么对于这段程序而言,执行速
度和程序代码的可读性,那个比较重要呢?”
“程序代码的可读性。”
“所以,哪种方式是比较符合项目的优先考虑的顺序
呢?”
61
微软研发·致胜策略
策略性的作业方式下载
这时候通常会有一段较长的沉默。然后程序设计师终
于勉强吐出了一句痛苦的抗议:
“但是,用goto 不好嘛。”
首先我得说明,该用goto 的情况其实是很少的,大
部分的时候只要一看到goto 我就有点紧张,生怕这里有
问题。我虽不会对所有的goto 去之而后快,但我个人绝
不赞成用g o t o;大部分的goto 都是散漫的程序设计师,
一边哼哼唱唱、一边在键盘上随意敲打的低劣程序。然而,
我虽反对使用goto,我更反对的是对规则盲从,产品才是
最重要的。
这就是策略性工作方式的主要缺点,规则太明确了,
有时候反而让组员把它视为不容打破的定律,而不去活用
策略。僵化地死守策略无异于做傻事。
我知道学校里的老师在教程序语言时强调不要用
g o t o,基本上是出于善意;他们是对的,但我希望程序设
计师必须明白,尽量少�
返回目录 上一页 下一页 回到顶部 赞(2) 踩(4)
未阅读完?加入书签已便下次继续阅读!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!