• 《人月神话》阅读笔记


    在地铁上看的,零散不系统的笔记

    1.巴比伦塔可能是第一个工程上的彻底失败,但它不是最后一个。交流和交流的结果-组织,是成功的关键。交流和组织的技能需要管理者仔细考虑,相关经验的积累和提高同软件技术本身一样重要。

    2.减少交流的方法是人力划分(division of labor)和限定职责范围(specialization of function)。当使用人力划分和职责限定时,树状管理结构所映出对详细交流的需要会相应减少。

    3.事实上,树状组织架构是作为权力和责任的结构出现。其基本原理--管理角色的非重复性--导致了管理结构是树状的。但是交流的结构,未限制得如此严格,树状结构几乎不能用来描述交流沟通,因为交流是通过网状结构进行的。

    4.每棵子树所必须具有的基本要素。它们是:

    1).任务(a mission)

    2).产品负责人(a producer)

    3).技术主管和架构师(a technical director or architect)

    4).进度(a schedule)

    5).人力的划分(a division of labor)

    6).各部分之间的接口定义(interface definitions among the parts)

    5.产品负责人的角色是什么?他组建团队,划分工作及制定进度表。他要求,并一直要求必要的资源。这意味着他主要的工作是与团队外部,向上和水平地沟通。他建立团队内部的沟通和报告方式。最后,他确保进度目标的实现。根据环境的变化调整资源和团队的架构。

    6.那么技术负责人的角色是什么?他对设计进行构思,识别系统的子部分,指明从外部看上去的样子,勾画它的内部结构。他提供整个设计的一致性和概念完整性;他控制系统的复杂程度。当某个技术问题出现时,他提供问题的解决方案,或者根据需要调整系统设计。

    7.程序维护中的一个基本问题是--缺陷修复总会以(20-50)%的机率引入新的bug。所以整个过程是前进两步,后退一步。

    8.系统软件开发是减少混乱度(减少熵)的过程,所以它本身是处于亚稳态的。软件维护是提高混乱度(增加熵)的过程,即使是最熟练的软件维护工作,也只是放缓了系统退化到非稳态的过程。

    to be continued...

  • 相关阅读:
    Sort
    RAID
    LeetCode总结 -- 一维动态规划篇
    Count and Say
    Dynamic Programming Introduction
    Mongodb与Redis应用指标对比
    精通有状态vs无状态(Stateful vs Stateless)—Immutable模式之姐妹篇
    Windows 安装 pytorch3d
    GitHub 图片无法显示 或 gist 无法访问
    LaTeX符号表,数学公式速查必备
  • 原文地址:https://www.cnblogs.com/bugchecker/p/notes_of_The_Mythical_Man-Month.html
Copyright © 2020-2023  润新知