人月神话--读书摘录
核心:概念的完整性
1、缺乏合理的时间进度是造成项目滞后的最主要原因,他比其他的所有因素的综总和影响都大
2、关于进度安排,作者的建议:1/3计划、1/6 编码、1/4构件测试以及1/4系统测试
3、小型、精干的队伍是最好的--思绪尽可能的少
4、对于真正意义上的大型系统,小型精干的队伍太慢了
5、概念的完整性是系统设计中最重要的考虑因素
6、为了获得概念的完整性,设计必须由一个人或者具有共识的小型团队来完成
7、对于非常大型的项目,将体系结构方面的工作和具体实现相分离是获得概念完整性的强有力方法
8、纪律、规则对行业是有益的
9、尽早的交流和持续的沟通能使设计人员有较好的成本意识,是开发人员获得对系统的信心,并且不会混淆各自的责任分工
10、即使是大型的设计团队,设计结果也必须由一个或者两个人来完成,以确保这些决定是一致的(作者默认设计人员的优异性是不可或缺的)
11、需要尽可能的将设计思想,用形式化的方式表现(文档的不可或缺性)
12、项目的失败很有可能是缺少交流或者是交流的结果------组织
13、团队应该以尽可能的多的方式进行相互之间的交流,非正式地进行简要的技术称述的常规项目会议,共享正式的项目工作手册
14、实时更新手册是必要的
15、每一个人员都应该能看到应有的手册内容
16、
17、项目经理的职责是使每一个人往一个方向前进
18、增量式开发-,快速原型--渐进的精化(这个就和敏捷开发的思想有点像了)
19、开发人员交付的是用户满意程度,而不仅仅是实际的产品
20、程序员不愿意为设计书写文档,不仅仅是因为惰性,更多的是源于设计人员的踌躇------要为自己尝试性的设计决策进行辩解。
21、学会使用更好的语言和设计理念
22、自上而下的设计能更好的保证设计的完整性
祸起萧墙
1、一个严格的进度表来控制大型项目的第一步骤是制定一个进度表,包括日期和具体的,特定的,可以量化的事件
2、如果里程碑定义的非常明确,以至于无法自欺欺人是,程序员很少会就里程碑的进展弄虚作假
文档
1、对于软件编程产品来说,程序向用户所呈现的面貌---文档,与提供给几区识别的内容同样重要
2、文档的形式不是一定要求正式的,为了文档的易于维护,将他们合并到源程序是至关重要的,而不是作为独立文档而存在
很难相信作者能再1957就找到后世继续享用的精华,作者的长远实在令人敬佩
出入Java江湖的小白,这本书的大部分内容都还不太懂,不过也发现许多很受益的建议,有很多看似很小,确能带来良好的收益。
相信以后再来看此书,又是另一个莎士比亚