人月神话阅读笔记01

基于老师的推荐下,在假期阅读了《人月神话》这本书,刚拿到这本书时,只看题目,实在是没有想到这本书会和编程有关,所以对这本书产生了浓厚的兴趣,开始了阅读之路。这篇文章主要讲了在软件工程项目的开发中,时间和人员数量上的转化关系。表明了在一个项目中增加人员的数量不一定能够缩短项目完成的时间,很多时候还会起到相反的作用。就如Brooks法则中所说的那样“想进度落后的项目中增加人手,只会使进度更加落后”。

这本书以“焦油坑”一章开篇,看的我一头雾水。“入坑前,都会觉得自己战无不胜,就像陷入焦油坑的巨兽,自以为有着庞大的身躯就能在各种的地形中安然度过”我们是否会有这种想法?在刚进入软件工程专业的时候,还不知道自己将来会面临什么,只觉得代码的世界奇妙酷炫,然而代码对于软件系统的开发来说只是水面上的冰山。前人的智慧告诉我们如果没有认真地进行分析、设计、进度计划,真正开始开发后总会让自己陷入令人痛苦的麻烦。事实上,在之前所做的项目中已经遇到了这种麻烦,但是当你咬着牙从中脱身,还是会体验到创造与实现的快乐,通过这些经历和课程学习,我也慢慢能总结归纳经验教训,让自己今后能尽量少地陷入这样的“焦油坑”中。在一个软件的开发中最难掌握的莫过于过程管理,最开始的课程项目规模都很小,自己小作坊式的开发方式似乎也能很好完成要求,然而到后来,随着项目规模越来越大,开发进度的估计似乎成了一门玄学,由于自己刚进入专业知识的学习,知识储备不够,所以在开发过程中很多时间都花费在学习上,在每一个项目的开发中都要去学习新的东西,导致时间精力的浪费,因此往往都无法独立的完成一个项目的开发,需要借助同学的帮助,从而大大落后了项目的进度。书中说“人月”是一个神话,是因为时间精力的消耗与独立投入的人力、时间不成线性相关,所以每一次的项目估算和调整都需要谨慎为之,落后太多的项目往往会滑向失败的深渊。在一个软件开发的过程中,软件开发的团队选择往往是一个难题(听老师说,下学期我们会组建自己的小队来开发项目)。在课程实践的过程中,大家往往渴望抱到大牛的大腿,因为经验丰富的程序员能起到以一敌十的效果,当一个团队中每个人的能力都很强那么这个队伍几乎就成了神话般的精英小队。对于大型的项目,小而美的团队往往有些力不从心,精英也不可能大量集中到一个团队中,这时外科手术团队的方式就值得借鉴。书中的对应是一名首席程序员相当于外科医生,一个经验相对较少的人员充当副手,一个管理员负责行政事务的决策,一个编辑用于生成文档,两个文秘使得文件与项目协作一致,一个程序职员用于维护技术记录,一个工具维护人员,一个测试人员,以及一个语言专家。这样的开发团队人员平等但是各司其职,保证了团队的有序运行。对于大型的项目,就需要在人员安排上使用分解的思路,由架构师负责整体设计,系统实现则由各个小团队协作完成。

以上是这几天阅读《人月神话》焦油坑、人月神话、外科手术队伍等几篇内容的感悟。

posted @ 2020-01-20 19:30  MoooJL  阅读(196)  评论(0编辑  收藏  举报