寒假第十二天(阅读笔记第二篇)

(1)项目管理的挑战和复杂性:《人月神话》强调了项目管理中的困难,包括需求定义和管理、估算和计划、人员协调和沟通等问题。这启示我们,在创新创业过程中,项目管理是一个不可忽视的环节。创业者必须学会有效应对项目管理的挑战,包括制定明确的目标、合理的计划、有效的团队协作等。(2)人的因素在软件开发中的重要性:书中强调,软件开发的核心是“人”,而非“月”。尽管增加人手可能增加工作量,但也可能导致项目延误和问题增多。这给我们启示,在创新创业中,人的因素至关重要。创业团队需要找到合适的人员,并激发他们的工作热情和创新精神。(3)估算的困难性和必要性:书中详细讨论了软件开发中估算的困难性。尽管估算可能是必要的,但也需要认识到估算的局限性。这提醒我们,在创新创业中,我们需要谨慎对待估算。估算可以帮助我们制定计划和预算,但不应被视为确定性的预测。(4)进度安排和风险管理:书中强调了进度安排的重要性,以及风险管理的重要性。这提示我们,在创新创业中,我们需要制定合理的计划,并提前预测可能的风险,以便及时采取措施应对。(5)技术债务:书中提到了技术债务的概念,指开发过程中产生的技术问题,可能会影响项目的进度和质量。这让我们理解到,在追求快速市场响应的过程中,不应忽视技术债务的累积。创新创业者需要关注技术的积累和迭代,避免为未来的发展埋下隐患。(6)沟通的重要性:书中强调了在软件开发中,团队成员之间的有效沟通是至关重要的。这对于创新创业团队来说尤其重要。团队成员需要清晰地了解公司的目标、策略、以及个人的角色和责任,以确保工作的协调性和效率。(7)反馈循环和持续改进:《人月神话》强调了反馈循环的重要性,即在开发过程中不断收集反馈,调整计划和方向。这对创新创业者来说是一个重要的启示。他们需要时刻关注市场的反馈,调整产品和策略,以适应市场的变化。

《人月神话》(The Mythical Man-Month)中的10个重要观点:

· 一头大象悠然自得地在草原上散步。夕阳的余晖洒下,大象觉得有些口渴了,它看到旁边有一个水洼,于是它慢悠悠地走到水洼前饮水。当它喝足准备离开时,突然发现自己被陷住了,这竟是一个蓄有一点水的沥青湖!大象抬起笨重的象腿想要抽身,却发现越是挣扎,越是下陷得厉害。大象预感到了死亡的来临,它的眼中渐渐浮现出惊恐与绝望。

· 就好比无论有多少个母亲,孕育一个生命都需要十个月。人月仅适用于完全可以分解的任务,这在割小麦和收棉花的工作中是可行的。当任务由于次序上的限制不能分解时,人手的添加对进度是没有帮助的。在开发工作中,添加更多的人手,意味着不得不花费时间去培训新人,并且随着开发人员的增多,沟通、交流的时间成本也越大。

· 200 个平庸的程序员组成的队伍很可能不如 25 个优秀程序员组成的队伍效率高。

· 例如编码,在代码编写时间达到一半的时候就经90%完成了;调试在大多时候都是99%完成的;计划完毕是任何人只要愿意,就可以声明的事件。

· 在古老的西方传说中,月圆之夜,受感染的人狼将会由人变狼。人狼出没,凶恶残暴,唯一能杀死他们的武器便是银制子弹。

· 软件系统与计算机、建筑或者汽车大不相同,后者往往存在着大量重复的部分。由于软件产品特有的复杂度导致了成员之间的沟通非常困难,带来了软件产品的进度,质量和成本多方面的问题。特别是在软件规模增加的时候复杂度往往成倍上升。同时复杂度不仅仅导致技术上的困难,还引发了很多管理上的问题。它使全面理解问题变得困难,从而妨碍了概念上的完整性。(在软件产品开发工厂化的过程中,我们要注意到仍然解决的是次要因素,比如加大公用组件开发,加大平台和框架的建设,而业务功能本身导致的复杂性是无法避免的). 组织管理的复杂度。 计算机技术本身的复杂性。

· 在某些情况下,因为是开发最新的软件,所以它必须遵循各种接口。另外一些情况下,软件的开发目标就是兼容性。在上述的所有情况中,很多复杂 性来自保持与其他接口的一致,对软件的任何再设计,都无法简化这些复杂的特性。

· 系统中的软件包含了很多功能,而功能是最容易感受变更压力的部分。所有成功的软件都会发生变更。现实工作中,经常发生两种情况。当人们发现软件很有用时,会在原有应用范围的边界,或者在超越边界的情况下使用软件。功能扩展的压力主要来自那些喜欢基本功能,又对软件提出了很多新用法的用户们。简言之,软件产品扎根于文化的母体中,如各种应用、用户、自然及社会规律、计算机硬件等等。后者持续不断地变化着,这些变化无情地强迫着软件随之变化。(软件开发的过程必须要考虑如何适应变化,在需求,设计和编码过程中都需要考虑如何快速响应变化,如何提高软件产品的可扩展性。我们在软件开发生命周期模型上强调增量迭代的思路,强调测试驱动的思路其根本目的就是为了快速响应变化,降低变化带来的风险)。

· 除去软件结构上的限制和简化方面的进展,软件仍然保持着无法可视化的固有特性,从而剥夺了一些具有强大功能的概念工具的构造思路。这种缺憾不仅限制了个人的设计过程,也严重地阻碍了相互之间的交流。(我们推荐快速原型法仍然是为了进来去解决软件不可见性的问题。

《人月神话》(The Mythical Man-Month)中的10个经典句子:

· "添加人力使一个延期的项目更加延期的法则。"(The law that adding manpower to a late software project makes it later.)

· "在软件项目中,唯一不变的就是变化本身。”(The only constant in software is change itself.)

· "在大型编程项目中,一半以上的工作是管理,而管理工作的四分之三是对人的问题进行处理。”(In large programming projects, management is 50% of the work, and 75% of that is handling people problems.")

· "如果你可以吃一小块蛋糕,那么你就不需要一整块蛋糕。”(If you can have just a piece of cake, then you don't need the whole cake.)

· "对于一个工程,如果不能将其分解成若干个小任务,那么可能就无法进行工程管理。”(For a project, if you can't break it down into smaller tasks, then you may not be able to manage the project.)

· "在软件项目中,只有真正需要的东西才会被认真设计。”(In software projects, only what is truly needed is carefully designed.)

· "最危险的事故莫过于将错误的程序放入一个安全的系统中。”(The most dangerous accident is to put the wrong program into a safe system.")

· "最容易的工作是吹气球,第二容易的工作是削铅笔。”(The easiest job is to blow up a balloon; the second easiest job is to sharpen a pencil.")

· "对于编程来说,懂得如何学习比懂得编程更为重要。”(For programming, knowing how to learn is more important than knowing how to program.)

· "一个无法实现的计划比没有计划的混乱更为糟糕。”(An unrealistic plan is worse than chaos without a plan.)

posted @ 2024-01-24 23:16  贾贾鱼  阅读(14)  评论(0)    收藏  举报