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

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

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


用者界面,而且大部分的功能都不会用。当他们看到了研
究结果,有些程序设计师的反应竟然是:“我们是打哪儿
找到这么笨的使用者?”他们没想到笨的不是使用者,而
是他们的使用者界面。
如果您的程序设计师有意无意间流露出使用者是笨蛋
的想法,请尽快纠正这种态度。把使用者当成笨蛋的程序
设计师,不会认真倾听使用者的抱怨,不会从其中试图找
出改善产品的方向;那些认为使用者很聪明、有分辨能力
的程序设计师,才能做出真正适合使用者的产品。组员对
使用者的基本评价,会对产品产生重大的影响。
217
微软研发·致胜策略
态度问题下载
小心次功能
我过去总以为,给使用者一个慢得不像话、限制一箩
筐的功能,也总比完全没给的好,至少在我们下一版做得
更好以前,急需的使用者可以将就应急一下,没鱼虾也好,
这是我的理论。但是后来我才发现,我错了,使用者其实
不能体谅我“有总比没有好”的用意,当他们拆开包装、
执行软件后,发现这项功能运作远逊于预期,心中反而升
起不满和抱怨:“为什么总是要做两次,才能做好?”。
由于经常看到使用者的这种反应,我决定凡是雏型已
具、未臻理想的功能,我都不把它放进正式版中。使用者
既然从来未曾拥有,也就谈不上失去。如果我给他们质量
次的功能,反而造成使用者对产品质量存疑的印象,对产
品的信心开始打折扣,也许就想换别家的来用用看。
我很不愿意这样说,当您看到一个功能质量做得还不
够理想,即使它再怎么有用,您都不应该把它放进正式版。
等到下一版,这个功能已经完全符合质量标准了,再让它
出门。万一这项功能非常重要,甚至可以考虑为它延后推
出新版的时间,但是,一定要把它做到好,绝对不要有次
品。
218
微软研发
致胜策略下载
不要给使用者次品,宁愿延期交货,务必追求质
量完美。
程序设计师要懂得顾客心理
在第1章里,我提过一位负责开发窗口函数库的组长,
他从来没有把函数库的使用者当作“顾客”看待,所以他
从未想过版本不兼容的话会对其他的组员造成极大的困
扰。我看过太多类似的事例,因此,我认为程序设计师都
应该有这样的思考能力—把程序的使用者当作“顾客”,
去了解他们的心理,使程序更能满足他们。
当Windows 版的Excel 小组打算重写一部分的程序
代码,使它也能在Macintosh 上执行时,有一位程序设计
师采用键盘操作的方式来做菜单(keyboard…driven menu),
这是很多企业用户强烈要求,但是在Macintosh 上却做不
到的,对于Macintosh 使用者来说,这一部分向来是用鼠
标来操作的。由于在Macintosh 上没有标准的“键盘驱动
菜单”可以遵循,所以这位程序设计师采用了Wi n d o w s
219
微软研发·致胜策略
态度问题下载
的按键惯例来写键盘驱动菜单,这样的话,程序会最好写,
因为这样就不必为Macintosh 另外设计一套操作的流程和
逻辑。他完成了这一部分的程序,就到我的办公室来示范
给我看,他的Macintosh 版键盘驱动菜单和Windows 版的
看起来完全一样,做得非常精彩,我不禁暗中叫好,我操
作把玩他的程序时,忍不住发出赞叹。但是当我稍微冷静
下来,我想起了一个问题,我问程序设计师道:“我现在
不想使用Windows 界面的话,该怎么做?”
他显得非常纳闷:“你为什么想这样做?用键盘来操
纵菜单并不干扰鼠标啊,没有理由非把Windows 界面移
除不可吧。”
他的反应让我惊讶,因为在那个时候,随便找一本苹
果计算机方面的杂志,上面都充满了对Windows 的憎恨,
苹果的使用者对于Windows 的“超人气”非常反胃,他
们认为Windows 不过是个靠模仿起家的三流产品,
Macintosh 才是有看头的好东西,只可惜世人眼光多短浅,
竟把它当成古怪的玩具。对所有的Macintosh 迷来说,
Windows 是个不折不扣的大坏蛋。
所以,我对这位程序设计师说:“如果我们的E x c e l
采用Windows 习惯的菜单操作方式,势必造成Macintosh
220
微软研发
致胜策略下载
迷的强烈反感,如果我们把Macintosh 上的Excel 做得跟
Windows 完全一样,注定会被杂志批评得体无完肤的。”
这位程序设计师不太愿意修改他的程序,他认为自己
已经完成了这一部分的工作,而且他急着去做下一项工作。
后来我们找了几个比较有关的程序设计师来讨论这个敌对
性的使用者界面问题,结果大家意见一致: Macintosh 版
的Excel 不但要看起来像是Macintosh 的应用软件,它还
要打从骨子里流着苹果的血统,要让别人看着它时脑中浮
现苹果那六条鲜艳的颜色。于是这位程序设计师只好回去
改他的程序了。
过了一会儿,他从隔间里跑出来,给我看他的最新作
品。这次我真的是大惊喜,他不只是为Windows 式的按
键菜单做了开关,他还做出了Macintosh 式的按键菜单,
还有,他做了一个相当聪明的设计,程序在预设情况下以
Macintosh 式的按键菜单出现,使用者可以用热键的方式
在Macintosh 式和Windows 式之间切换,还不只这些,他
甚至把对话框也比照办理,使用者切到Macintosh 式的按
键菜单时,连对话框也一并自动变成Macintosh 式,使用
者切到Windows 式的按键菜单时,对话框立即自动变为
Windows 式。这回我们可以“通吃”啦。
221
微软研发·致胜策略
态度问题下载
程序设计师必须经常以使用者的观点来看自己写
的程序,程序设计师必须能体会使用者的感受。
产品的整体观
长久以来,微软的“程序语言部”里,把编译器、除
错工具( d e b u g g e r )、链接器(linker) 等等程序语言的软件
分别当作完全不同的产品。这样做是符合开发的观点,但
以使用者的观点来看则未必合理。因为对于使用者来说,
编译器、除错工具、链接器是他同时要用的,是同一个产
品,这一点实在显而易见,如果我不说,您可能根本不会
想到这些组件是属于不同的部门在制作。
很不幸,在微软的程序语言部并没有这种共识。全
世界的程序设计师都在要求改善除错工具,但是除错工
具小组没有足够的人力完成这个需求,而同时,编译器
小组却兴高彩烈地进行优化(code optimizations)设计,而
优化设计只有少数使用者需要。他们脑中想的是“我们
要不断改进本组的作品”,而不是“我们要不断改进整个
222
微软研发
致胜策略下载
产品”。
也正因为如此,微软的链接器长久以来都做得很差,
速度非常慢,而竞争者的链接器却强得不得了。微软内的
程序设计师全都知道自己的链接器是乌龟在爬,但是没有
什么改善的行动。公司虽然派了一位程序设计师来为链接
器想点办法,但是他还有其他的职务在身,虽然他已经尽
力了,但由于他没有很多时间来改善链接器的速度问题,
所以实际作用也有限。除此之外,程序语言部里似乎有种
观念,认为编译器才是最重要的,链接器只不过是个辅助
工具。但是使用者肯定不会这样想,因为他不会刻意去分
编译器或是链接器,对他来说,所有的东西都是同一个产
品:微软的××语言开发环境。
微软内部至少就有一组开发部门放弃本公司的链接
器,干脆去用竞争者做的链接器;而在应用软件部门,大
家也被功能低下的链接器弄得苦不堪言,被逼得宁愿自己
另写一个阳春型的链接器,还好用些。最终程序语言的部
门开始正视这个问题,改良链接器,让它和编译器搭配成
一整体。
最后,经过几次高层管理的人事变动,程序语言部终
于获得整合,把自己的产品定位为“程序开发环境”,而
223
微软研发·致胜策略
态度问题下载
不是编译器。结果Visual C++,一个令世人耳目一新的产
品,一个令微软的程序语言部改头换面的产品,才在这样
的理念中诞生。
在包装盒里的每一件东西,都是产品的一部分。
重复就是浪费
前两节中我提过的那位程序设计师,在为Excel 开发
“键盘驱动菜单” (keyboard…driven menu) 时,另一位程序
设计师也正在为Macintosh 版的Word 写同样的程序,两
者相距仅十步之遥。虽然我向Excel 的程序设计师提过这
件事,也分别向Excel 和Word 的项目经理商讨过,希望
避免性质重复的开发工作,但是没有实际效果。两边的
程序设计师仍然分别写自己的键盘驱动菜单,且都正确
执行,两个都很完美,但使用者界面就是截然不同。我
认为这是非常可惜的,我觉得我们错失了一个让Excel 和
Word 的使用者界面互相整合的机会,这样可以减少一半
的开发时间,也可以建立起一套菜单的函数库,顺便可
224
微软研发
致胜策略下载
供其他的应用软件小组使用。因为他们的态度是“这东
西不是本组写的”,所以一定不适用,以致没有人在意我
们的程序设计师在做重复的工作,结果是无法产生标准
的微软菜单惯例。
我个人对开发工作有一个原则:凡是别人写好、测试
通过,而我可以使用的程序,我一定二话不说就把他的程
序抓过来用。基于这样的态度,我在开发自己的程序时,
总是尽可能为潜在的使用者设想,写出一个别人可以使用
的程序。我虽不能把程序做到完全的可移植性,但我尽量
做到“让程序代码可以重复使用” (reuse),在其他条件相
同时,我永远选择让别人分享我程序的做法。
在Excel 的最早期版本中,有一位程序设计师做出了
一个很棒的功能:打印预览(print preview),让使用者在
打印之前,预先瞧瞧一下大概的样子。这个功能设计得非
常具有直效性,可以一页页往前或往后翻,而且连图形也
能显示出来,还有整份文件的预览。
这个打印预览受到使用者的极大好评,因此M a c i n t o s h
版的Word 小组奉命在Word 里也做一个打印预览的功能。
他们做得比Excel 的打印预览精致得多,相形之下,Excel
的打印预览反而显得粗糙,不够精良。所以我也奉命将
225
微软研发·致胜策略
态度问题下载
Excel 的打印预览改得更完美,要像Word 一样好得令人
刮目相看。
我的第一个想法是放弃Excel 的打印预览程序,而把
Word 那一套拿过来用,这样不但减少开发的人时,而且
可以使Excel 和Word 两种产品的使用者界面更统一。当
我把这个想法告诉一位Word 的程序设计师,他告诉我他
们的打印预览程序与Word 主程序是紧密结合的,只适用
于Wo r d,别的产品恐怕很难引用;他说他可以修改这个
打印预览程序,但是他从来没想过我们会想要这个程序,
毕竟Excel 已经有了另一个打印预览程序。真是令人伤心,
我不能用他们做得这么棒的打印预览程序。
最后虽然我把Excel 的打印预览修改得更精致,功能
更强,但还是Word 的效果比较好。更令我沮丧的事情是,
由于Excel 的打印预览具有可移植性,反而其他的应用软
件都是使用Excel 的打印预览程序,而非Word 的打印预
览程序。
我曾说过,撰写新功能最好的方法是引用别人已经写
好又测试过的程序,也就是程序代码的重复使用( c o d e …
r e u s e )。虽然大部分的程序设计师都很认同这一点,但是
他们潜意识里觉得别人写的程序很难拿来使用。
226
微软研发
致胜策略下载
为了增加程序代码的价值,程序设计师应该培养新的
态度,注意自己写的程序是否具有“可再利用性”,要满
足这一点,程序设计师就会尽量减少子程序与主程序之间
的关连性,让子程序独立,才能被别人使用。这个问题就
和避免直接使用global 变量一样,有时候的确无法避免,
但还是有技巧可以排除这个问题。
程序设计师应该随时自问:
这段程序代码是否对别的(或是未来的) 程
序有用?
或是反过来问:
这段程序代码是否确实只有我一个人需要,
别人不太可能引用?
如果“可再利用性”的答案是肯定的,这个程序就应
该写成很独立的方式。像键盘驱动菜单或打印预览这类的
程序,当初就应该做成独立的、可再利用的程序。也就不
会造成现在Word 和Excel 得做重复的工作,但没有双倍
的效果。
227
微软研发·致胜策略
态度问题下载
将程序的可共享性当作优先考虑的目标之一,
否则程序设计师将经常做重复的工作。
杠杆的效应
如果您的部门想要比别人更成功,就得学会善用“杠
杆原理”,就是设法使投入的有限力量得到更大的报酬,
也就是事半功倍的意思。每位组员都应该牢记这个原则:
充分利用现有资源或创造新资源,以便从
每一项工作中获得更大的价值。程序代码的再
利用,就是很好的例子,当然,还有其他的地
方可以运用“杠杆原理”。
我在第6 章提过训练新兵的原则就是一种“杠杆原理”
的运用,您让新加入的程序设计师优先学习公司内使用最
广的技术,最后再让他接触只有本项目会用到的技术,如
此一来,这位程序设计师对公司的价值就会被提升了。对
您的项目来说,新加入的程序设计师学习的先后顺序都无
228
微软研发
致胜策略下载
所谓,但是万一这位程序设计师被调到其他的小组,这个
顺序就很重要了,因为结局只有两种:程序设计师很快进
入状况、或是完全重头开始学习。
只要您用心发掘,大部分的工作里都有杠杆存在的。
举例来说吧,有一回,我在审核使用者界面函数库时,技
术经理拿了一份加强该函数库功能的提
返回目录 上一页 下一页 回到顶部 0 0
快捷操作: 按键盘上方向键 ← 或 → 可快速上下翻页 按键盘上的 Enter 键可回到本书目录页 按键盘上方向键 ↑ 可回到本页顶部!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!