王建民老师建议我们多读读一些软件方面的书,最近几天我看了他一直极力推荐的《人月神话》,感触颇深。
其实到现在我也不很明白为什么一本《人月神话》,听上去这么浪漫的名字并不是真的说神话故事,反而作者阐述的主要观点是在软件开发项目上项目进度和增加人员这两个概念是不能互换。不过也是给我很深的震撼的。第一让我我惊讶的是,美国20年前软件项目所面临的问题,在我们现在依然如此,糟糕的情况没有改变,大家仍旧在焦油坑里挣扎,而且看上去没有解决办法。这足以说明我们国家我们民族的软件开发方面依然有很大的缺陷,我们的境况仍然很糟。
焦油坑(The Tar Pit)
岸上的船儿,如同海上的灯塔,无法移动。
首先应用这句话是因为我觉得这句话写的特别美,特别形象。
史前史中,没有别的场景比巨兽在焦油坑中垂死挣扎的场面更令人震撼。上帝见证着恐龙、猛犸象、剑齿虎在焦油中挣扎。它们挣扎得越是猛烈,焦油纠缠得越紧,没有任何猛兽足够强壮或具有足够的技巧,能够挣脱束缚,它们最后都沉到了坑底。过去几十年的大型系统开发就犹如这样一个焦油坑,很多大型和强壮的动物在其中剧烈地挣扎。
我们有何尝不是这样呢,虽说据1975年已经过去了将近30年,但现在我们在编程事依然面临着这样的问题啊,
看到作者对软件项目失败的总结,每一个问题我们依旧再犯,特别读到“是当意识到进度的偏移时,下意识(以及传统)的反应是增加人力。这就像使用汽油灭火一样,只会使事情更糟。越来越大的火势需要更多的汽油,从而进入了一场注定会导致灾难的循环。“,我对这句话简直是太有感触了,因为我身边这样的悲剧整天都在上演,公司对所有的项目搞得都是人海战术,进度没有提前,还整天加班,最后用户不满意,开发人员整天郁闷,结果是用户对公司失去了信任,成了一槌子买卖,开发人员就像割韭菜,旧人新人一茬接着一茬却没有新的改进新的突破。
王老师在给我们讲课的过程中,也一直对我们强调写文档的重要性,在读了人与神话之后,让我更加深刻的理解了王老师的深刻用意。
为什么要有正式的文档?
首先,书面记录决策是必要的。只有记录下来,分歧才会明朗,矛盾才会突出。书写这项活动需要上百次的细小决定,正是由于它们的存在,人们才能从令人迷惑的现象中得到清晰、确定的策略。
第二,文档能够作为同其他人的沟通渠道。项目经理常常会不断发现,许多理应被普遍认同的策略,完全不为团队的一些成员所知。正因为项目经理的基本职责是使每个人都向着相同的方向前进,所以他的主要工作是沟通,而不是做出决定。这些文档能极大地减轻他的负担。
最后,项目经理的文档可以作为数据基础和检查列表。通过周期性的回顾,他能清楚项目所处的状态,以及哪些需要重点进行更改和调整。
以后在我编写软件的过程中,也要把文档重视起来,不能草草了事。
还有一点印象很深的就是软件时间的规划:
第2 章中的经验法则分配了1/3 的时间用于计划,1/6 用于编码,1/4 用于单元测试以及1/4 用于系统测试。
这个在我们实际操作中是远远不够的,通常我们都是粗略的计划一下,而更多的时间都是在程序编码上。这就违背了用户使用的初衷,只有把用户需求彻底了解,做一个功能完善的计划,才能有好的项目。还有就是软件测试。我们做的还远远不够呢。
有了前辈们给我们总结的经验教训,我们一定要谨遵教诲,相信未来一定会我们的软件水平也会有很大的提升的。
原文地址:http://www.cnblogs.com/liubobo/p/3758305.html