已经看完,觉得这本书是越看到后面越精彩,Joel的很多观点引发我的思考,觉得这本书对于技术人员而言绝对是本好书,会很大程度的调整看软件、做软件的观点,不废话了,继续写最后看的这部分的读书笔记。
1、Rick Chapman解读愚昧
在这个章节中joel强调了一个观点,就是真正会有良好发展前途的软件公司需要既懂商业又懂技术的领导层,对这个观点极度拥护,尽管很多人都不这么认为,只懂商业的领导层是不能带着软件公司良好发展的,软件公司的发展需要有对于技术发展的敏锐嗅觉,而只懂技术的领导层就更不能带着软件公司良好发展了,毕竟是公司,是企业,需要良好的商业运作本领,但这里对于领导层懂技术的概念并不是说懂webwork、struts这些东西,是思想,^_^
2、吃自己的狗食
这个说法很直接,但也够形象,很容易理解,Joel的意思就是自己做出的软件自己去用过吗?尽管这个观点很多人都认同,但有多少人是真正的去用过自己的软件的呢,估计用过后很多时候会给予连狗食都不如的评价,其实Joel在这里强调的主要就是现在越来越受重视的软件可用性的问题。
3、只管去做事
作为XPer其实对这个观点就会比较容易理解些,Joel在这个章节中的意思其实是不要以各种理由来推卸对一种自己认同的好方法的执行,如持续集成、测试驱动、简单设计、重构什么的,不要以团队不执行就自己也不执行为借口,即使团队不执行其实自己仍然是可以执行的,很多XPer容易理解的原因是因为他们知道很多东西自己也是完全可以执行的,而且能逐渐的影响到整个团队。
只管去做事,这点很重要,不能什么都是光想不做,光看不做,然后就乱扣帽子,乱加评价。
4、信任你的员工
5、扩张风险
例如你是一个好厨师,开了家小饭店,生意越来越好,你只好开更多的店,这个时候你发现为了保证质量,要制定规则,尽管也许这样饭菜的口味是一样的,但其实总体的质量是有所下降的,毕竟你要推陈出新的速度就慢了,可以想想,如果全是好厨师,会怎么样呢?那么你就会希望不制定规则去限制他们,^_^,这个是MBA级问题了....
6、动手实施任务前好好的设计一下
Joel说的是做任务前好好的想想在系统中这样做真的是最好的方式吗?往往会发现本来想的很复杂的实现方式其实可以变得很简单,其实这里强调的仍然是可用性的问题。
7、"有条不紊"模式和"圈地"模式
这是两种不同的商业运作模式,对于公司进入竞争强的行业或没什么竞争的行业的运作方式。
8、向后兼容的重要性
Java中最典型的问题就是向后兼容问题,向后兼容的问题很大程度会影响商业策略的成功与否,可以想像windows,如果从win95升级到win2003上N多程序都运行不了的话,你认为还有人升级吗?
要让用户觉得,这是个新东西,但即使试用失败也可以正常的用旧的方式去操作,毫无问题,那么用户自然就会接受的,而且慢慢会享受到新东西里面的好处。
9、大件与80/20神话
这个在java行业中也很典型,那就是分发运行版本的系统时其实里面有很多的lib都是没用的,典型的大件问题,其实这看起来是个小问题,但有些时候会实际的影响到商业上的运作。
80/20神话是指认为系统中只有80%的功能用户会用到,另外的20%根本就不用,这个时候通常会做的一件事就是砍掉另外的20%,Joel在里面说了个观点,如果这个软件是面向大众的,很容易出现的问题就是其实每个人用的那80%是不一样的,那么这个时候就会出现问题,那就是对于某些用户来说这个软件的功能是缺失的,那么你就失去了这些客户。
10、让配属品日用化
这是一个重要的商业策略,例如现在IBM的商业策略,几乎将自己所有的软件产品开源化,它的目的很简单,就是让它的产品的应用变成日用化,这个时候的结果就是它的服务就会成为必要的东西了,^_^
另外一个例子就是windows,当硬件变成日用化的东西的时候,享受到最大利益的是windows,因为操作系统你必不可少。