今天阅读的是人月神话,首先理解一个工作量:人月,成本随着开发人数和时间的不同,有着很大变化,进度却不一样,因此作者认为用人月来描述一个项目的规模是一个危险和具有欺骗性的神话。
人数和时间的互换仅仅适用于一种情况,不需要交流的单纯的工作积累,如割小麦时给具体的人分配具体的工作,这种情况下,人数和时间是可以互换的,可以用人月,甚至人日这种尺度来形容活动的规模大小。而在系统编程中这几乎是不可能的。
对于无法分解的任务,人月并不适用,无论投入人力再多,也需要一个至少时间,例如三个人共同用一台电脑编写一段程序,和一个人用一台电脑编写一段程序,水平相同情况下一般来说前者所用时间比后者不会快的多。
对于需要沟通分工分解的任务,是可以呈线性变化的,而对于错综复杂的任务,在极少数时投入一定人力可降低时间,而随着人数增多,会如火油用水扑灭一样难以控制。此时增添更多人手,是延长了工作时间。
按照我的认识就相当于一起做拼装模型,当做不可分解的任务如两个部件相契合的接口相接投入人力也无济于事,对于可分工交流的任务,如不同人员分别拼接手,腿,头等等是可以提高效率的,而对于一些大型模型来说,少数几个人比一个人快,但人不断增多会出现各种各样的合作问题。