人月神话阅读笔记3

书中提到胸有成竹,而要做到胸有成竹就必须在项目计划阶段我们对项目的预测和估算都需要很准确。因此整个章节的内容就是在讲估算,而估算就涉及到预测和估算模型,估算要做到准确必须通过前期多个历史项目和版本的积累,同时通过历史版本和数据的积累来发现预测指标Y和相应的估算因子X之间的关系。这样建立出来的估算模型就可以提供我们的估算准确性。
  最早用的估算方法是建立需求->设计->编码->测试各个阶段工作量之间的比例关系,然后根据需求的工作量来推导其它各个阶段的工作量或者是根据编码工作量来反推上游各个阶段的工作量。这种方式在项目规模比较稳定的小型项目中是比较适用的,但是它不能简单的类别应用到大型软件项目,因为随着项目规模的扩大,规模和工作量之间已经不是简单的线性关系了。对于研发人员每天8小时工作制的情况下我们能够有效利用的全经理投入时间在5-6小时甚至更底。因此我们在做估算的时候必须要考虑到开发人员每天的有效工作量的问题。

书中还讲到了画蛇添足这个事件,画蛇添足就是过分设计,而书中很明确的指出了过分设计往往出现在设计和开发第二个系统的时候,对于第一个系统他们小心谨慎,倾向于精炼和简洁,但是到了第二个系统他们太想去追求完美,又加上盲目的自信,再加上没有太多的成本和进度等意识,导致了画蛇添足和过分设计。
  结构师如何避免画蛇添足——开发第二个系统所引起的后果(second-system effect)?是的,他无法跳过二次系统。但他可以有意识关注那些系统的特殊危险,运用特别的自我约束准则,来避免那些功能上的修饰;根据系统基本理念及目的变更,舍弃一些功能。
  项目经理如何避免画蛇添足?他必须坚持至少拥有两个系统以上开发经验结构师的决定。同时,保持对特殊诱惑的警觉,他可以不断提出正确的问题,确保原则上的概念和目标在详细设计中得到完整的体现。

其实我觉得,避免画蛇添足,需要清晰的完整的思路,我们需要什么,目的是什么都要一清二楚,冲着目的,冲着结果,该做的做,不该做的不碰,就可以了。其次,我觉得uml建模也是一个很好的办法,把整个项目,整个系统进行建模就好了。

原文地址:https://www.cnblogs.com/shumouren/p/13090276.html