继续读Joel on software,^_^,除了继续忍受中文版翻译的不佳外,还是享受着Joel的一些想法,痛并快乐着吧,好了,不废话了,这几天主要读了冰川下的密码到动机激励机制的几章,这几章引起的共鸣更强。
1、冰川下的秘密
这章Joel阐述了一个熟为人知的秘密,那就是对于用户而言软件什么是最重要的,是用户界面而不是别的,引几句Joel的话(可能和书中有所不同,凭印象写的):
"程序开发人员采用的是一种语言思想,而市场销售人员采用的是另外一种语言思想,所以程序开发人员和市场销售人员是没法沟通的。"
"当你用PPT、PS等工具给用户看了漂亮之极的界面时,用户会认为这个程序已经完成了,当你基于这个界面开始花费一年的时间做程序的开发时,用户会根本不知道你在干什么,他们会认为程序编写不就是如此嘛"
Joel在这里还评论下XP的现场客户的问题,Joel举了个例子觉得也是实施XP的团队值得思考的,"假如你要装修厨房,然后请建筑师来给你出谋划策,建筑师这个时候反而需要你在场,而且要问你这样那样的细节的时候,你会怎么想呢?"当然,XP对于现场用户的要求不是这样,XP要求现场用户要评估的其实只是需求功能的实现。
Joel在这里也以程序员的观点去告诉我们怎么去应对冰川下的秘密,那就是"让用户就装饰的材料采用瓷、大理石还是别的讨论200次以上,而不是纠缠于厨房柜该放哪",同时,Joel也说到,不能过早的让用户看到很好的界面,否则的话当你后期有几个月的时间去完成功能的开发时,会很容易造成用户的不满,因为很多时候对于用户来讲看到界面他们就已经认为程序开发已经结束了。
2、漏洞抽象机制
Joel所说的漏洞抽象机制就是通常所说的元数据描述通常出现的不完备性的现象,不过Joel这里所说的主要是指各类各样的框架,软件在不断发展的多年中,从低级语言到各种高级语言,从面向过程到面向对象,所做的事都是在不断的提升抽象能力,而就像Joel所说的,确实抽象机制提升了软件业的生产能力,让软件业逐渐的有能力做以前所不能做的项目,而同时其实它也对程序员提出了更高的要求。
说到这块,很有感觉,就像MVC框架这种热门的东西,在java界常用的估计都有10几种,每种都完成了一定的抽象的实现,而就像joel所说,抽象机制通常能解决的是90%的问题,而另外的10%的问题只有在你深入了解其各种思想、相关技术才能真正的解决,而抽象机制解决的90%的问题的方式也许你只要3天就能学完,而剩下的解决那10%的问题,也许需要你花费10年才能学会。
Joel举例说到一个程序员的职业挑战的问题,"在3:1这样的职位招聘的情况下,也许不会感觉到什么压力,但如果是在600:1这样的招聘的情况下,招聘方自然是愿意招那种懂解决10%的问题的人",可以参照自己对比下,自己现在到底是一个掌握基于抽象机制实现解决90%问题的人,还是超过90%呢?
个人对这个还有的一个想法就是其实掌握抽象机制的人带领了业界的发展,改变了业界对于开发人员技能的要求、开发方式、招聘方式,而如果永远都只是跟随抽象机制的发展,而不是影响甚至引领抽象机制的话,那么就只能永远的作为代码工厂,而且被淘汰的可能也是非常的高。
Joel所说的一样,不要视图对多个领域进行深入研究,能在一个领域上达到深入已经非常的不容易了,能够在多个领域深入的人完全可以成为改变整个业界的人。
3、动机激励机制
动机激励机制其实是以一种别样的方式来说明现在几乎所有公司都采用的考核激励机制,就像Joel所说的一样,当在不能完全掌控员工的情况下,采用考核激励机制只能让员工变得只是如何让自己的考核变得更好,而不是关注工作本身的内容。
那么到底什么才是有效的机制呢?这估计是MBA级的问题.......