人月神话阅读笔记08
1.我们要谈贯彻执行和提供执行力首先要要考虑纪律,在《专业主义》里面提到过,要想成为专家,有一个重点就是具有永不厌倦的好奇心和进取心,严格遵守纪律。历史上伟大和卓越的企业都有一个共同的特征就是严格遵守纪律和强大的执行力。无论如何完善教育制度,如何增加报酬和改善福利,也不会产生大批的专家。只有纪律——或许称之为价值观更准确些,才能培养出专家。
2.据《创世纪》记载,巴比伦塔是人类继诺亚方舟之后的第二大工程壮举,但巴比伦塔同时也是第一个彻底失败的工程。为何拥有了清晰的目标,充足的人力和物力资源的项目最后仍然失败,巴比伦塔给我们的管理教训就是它们缺乏沟通和交流,以及交流的结果-组织。他们无法相互交谈,从而无法合作。当合作无法进行时,工作陷入了停顿。通过史书的字里行间,我们推测交流的缺乏导致了争辩、沮丧和群体猜忌。很快,部落开始分裂——大家选择了孤立,而不是互相争吵。
沟通是整个项目团队的核心要素,关于项目的共同愿景,目标,进度任务,问题,风险,思想等都需要通过沟通来传达。有效的团队沟通是提升团队竞争力必不可少的要素,项目经理有90%的时间都花费在沟通上面,有了沟通就有了共同的愿景和协作氛围,就有了思想的交换和碰撞。敏捷软件开发是很强调沟通和协作的,在敏捷宣言中专门提到了一个重要原则即:个体和交互胜过过程和工具。足见沟通和交互协作在敏捷开发中的重要性。
3.要做到胸有成竹就必须在项目计划阶段我们对项目的预测和估算都需要很准确。因此整个章节的内容就是在讲估算,而估算就涉及到预测和估算模型,估算要做到准确必须通过前期多个历史项目和版本的积累,同时通过历史版本和数据的积累来发现预测指标Y和相应的估算因子X之间的关系。这样建立出来的估算模型就可以提供我们的估算准确性。
最早用的估算方法是建立需求->设计->编码->测试各个阶段工作量之间的比例关系,然后根据需求的工作量来推导其它各个阶段的工作量或者是根据编码工作量来反推上游各个阶段的工作量。这种方式在项目规模比较稳定的小型项目中是比较适用的,但是它不能简单的类别应用到大型软件项目,因为随着项目规模的扩大,规模和工作量之间已经不是简单的线性关系了。
4.削足适履这个章节在讲什么?我们很多时候在开发程序的时候都是考虑程序的运行时间和效率,而很少考虑到程序的运行空间问题。现在的存储空间是越来越廉价,我们很少去考虑这些问题。经典的DOS版本的仙剑奇侠传还不到20M,而现在的一个大游戏却是2,3G甚至更大。由于计算机的不断更新换代和性能的提升,我们不是特别去强调空间问题,而对于一些操作系统的底层程序我们仍然会强调空间的问题。
在开始讲的时候首先讲了软件产品的规模控制,这个规模则是指的空间存储,软件产品的规模应该从顶向下进行预算,分解到各个子系统和模块。这是一种从系统整体出发的统筹思路,这样分解到每个开发人员后他们都必须要考虑如何达到期望的规模目标,尽量同程序设计,算法等各个方面去优化程序规模。
个人感想:
秩序对于我们来说也许是厌烦的,但是我们谁也不能否认秩序对我们的重要性,没有秩序我们的生活会变得十分糟糕,而我们的团队也会变得杂乱无章,效率低下,所以说秩序使我们必不可少的,不仅仅是我们的生活离不秩序,我们的团队也离不开秩序,只有秩序才能保证我们的团队能够高效率的完成任务。而只有我们对自己的项目做到胸有成竹,我们才能够在项目的规划过程中能够顺利的进行,这对于我们在完成项目时有很大的帮助,有助于我们对于项目的掌握。