zoukankan      html  css  js  c++  java
  • 《人月神话》阅读笔记02

    将近期的对于《人月神话》这本书的阅读感悟做了一下总结:
    (一)结构师的交互准则和机制 想要成功,结构师必须:   
    ● 牢记是开发人员承担创造性和发明性的实施责任,所以结构师只能建议,而不能支配;    
    ● 时刻准备着为所指定的说明建议一种实现的方法,同样准备接受其他任何能达到目标的方法;    
    ● 对上述的建议保持低调和不公开;    
    ● 准备放弃坚持所作的改进建议。
    (二)自律——开发第二个系统所带来的后果
    在开发第一个系统时,结构师倾向于简练和简洁。他知道自己对正在进行的任务不够了解,所以他会谨慎仔细地工作。
    第二个系统是设计师们所设计的最危险的系统(真的吗?)。一种普遍倾向是过分地设计第二个系统,向系统添加很多修饰功能和想法,它们曾经在第一个系统中被小心谨慎地放在次要位置。 结构师如何避免开发第二个系统所引起的后果,从而避免画蛇添足?是的,虽然他无法跳过二次系统。但他可以有意识关注这个系统的特殊危险,运用特别的自我约束准则,来避免那些功能上的过于修饰;根据系统基本理念及目的变更,设计一些功能。
    项目经理如何避免开发第二个系统所引起的后果,从而避免画蛇添足?他必须坚持至少拥有开发过两个以上的系统经验的结构师的决定。同时,保持对特殊诱惑的警觉,他可以(通过)不断提出正确的问题,确保原则上的概念和目标在详细设计中得到完整的体现。
     
    (三)导致项目延期的主要原因:
    首先,我们对估算技术缺乏有效的研究,更加严肃地说,它反映了一种悄无声息,但并不真实的假设——一切都将运作良好。
    第二,我们采用的估算技术隐含地假设人和月可以互换,错误地将进度与工作量相互混淆。
    第三,由于对自己的估算缺乏信心,软件经理通常不会有耐心持续地进行估算这项工作。
    第四,对进度缺少跟踪和监督。其他工程领域中,经过验证的跟踪技术和常规监督程序,在软件工程中常常被认为是无谓的举动。
    第五,当意识到进度的偏移时,下意识(以及传统)的反应是增加人力。这就像使用汽油灭火一样,只会使事情更糟。越来越大的火势需要更多的汽油,从而进入了一场注定会导致灾难的循环。

    (四)作者关于软件任务的进度安排使用了很多年的经验法则:
    1/3计划
    1/6编码
    1/4构件测试和早期系统测试
    1/4系统测试,所有的构件已完成
     
     
     
  • 相关阅读:
    指针与引用
    const常量
    函数初始化列表
    Ubuntu18.04.3主力开发机使用记录(一)
    ZUI(BootStrap)使用vue动态插入HTMl所创建的data-toggle事件初始化方法
    一次JDBC支持表情存储的配置过程
    Springboot Rabbitmq 使用Jackson2JsonMessageConverter 消息传递后转对象
    搭建谷歌浏览器无头模式抓取页面服务,laravel->php->python->docker !!!
    Laravel 命令行工具之多线程同步大批量数据 DB连接混乱 解决方案
    nginx 之负载均衡 :PHP session 跨多台服务器配置
  • 原文地址:https://www.cnblogs.com/me-tts/p/5596553.html
Copyright © 2011-2022 走看看