寒假读书笔记3

贯彻执行

1. 即使是大型的设计团队,设计结果也必须由一个或两个人来完成,以确保这些决定是一致的。

2. 必须明确定义体系结构中与先前定义不同的地方,重新定义的详细程度应该与原先的说明一致。

3. 出于精确性的考虑,我们需要形式化的设计定义,同样,我们需要记叙性定义来加深理解。

4. 允许体系结构师对实现人员的询问做出电话应答解释是非常重要的,并且必须进行日志记录和整理发布。

5. 项目经理最好的朋友就是他每天要面对的敌人——独立的产品测试机构/小组。

为什么巴比伦塔会失败?

1. 巴比伦塔项目的失败是因为缺乏交流,以及交流的结果的组织。

2. 因为左手不知道右手在做什么,从而进度灾难、功能的不合理和系统缺陷纷纷出现。由于对其他人的各种假设,团队成员之间的理解开始出现偏差。

3. 团队应该以尽可能多的方式进行相互之间的交流:非正式、常规项目会议,会上进行简要的技术陈述、共享的正式项目工作手册。

提纲挈领

1. 软件项目的要求:目标、用户手册、内部文档、进度、预算、组织机构图和工作空间分配。

2. 即使是小型项目,项目经理也应该在项目早期规范化上述的一系列文档。 这一章强调文档重要性,但并没有将一些教条主义的道理让你相信文档的重要性,而是给项目经理给出了实实在在的操作步骤。

干将莫邪

项目经理应该制订一套策略,以及为通用工具的开发分配资源,与此同时,他还必须意识到专业工具的需求。

祸起萧墙

1. 一天一天的进度落后比起重大灾难,更难以识别,更不容易防范和更加难以弥补。

2. 根据一个严格的进度表来控制项目的第一个步骤是制订进度表,进度表由里程碑和日期组成。

3. 里程碑必须是具体的、特定的、可度量的事件,能进行清晰能定义。

4. 如果里程碑定义得非常明确,以致于无法自欺欺人时,程序员很少会就里程碑的进展弄虚作假。

没有银弹

人狼的传说可能有人听过也可能没听过,人狼是一种具有人和狼两种特征的恐怖生物,而银弹是消灭它的一种最有效的子弹,如果看过《吸血鬼传说》也许就能和容易的理解这一点。作者将软件开发比作人狼,而将提高软件开发效率的方法比作银弹。作者预言未来十年,想要试图通过寻找一种有效地银弹将软件开发效率提高一个甚至几个数量级,这种银弹不可能出现。

没有银弹这篇文章里作者列举出了当时一些非常先进的技术或思想理念,例如Ada和其他高级编程语言、面向对象编程、人工智能、专家系统、“自动”编程、图形化编程、程序验证、环境和工具、工作站等。虽然这些先进技术在一定程度上提高了软件开发的效率,但是始终没有达到银弹的效果。距离作者的预言已经过去有20多年了,纵观现在的软件开发领域,虽然新技术层出不穷,但是还是没有一种银弹能够让软件开发产生一次革命。

焦油坑依然存在

软件工程的焦油坑在将来很长一段时间内会继续困扰着人们。由于软件系统多变性和错综复杂性,这个行业只能是一步一个台阶的往上爬,而出现银弹的希望在我们可以想象的时间范围内是非常渺茫的。我们将长期与焦油作斗争。

猜你喜欢

转载自www.cnblogs.com/123456www/p/10362575.html
今日推荐