有关《快速软件开发》的几点不解 By Yiming Qian

最近读了Steve McConnell写的《快速软件开发》,提出了几点自己的看法,欢迎大家指正交流。

1.如何理解快速软件开发中的快速?
书中给出的”快速软件开发”是这么定义的:它是个普通的术语,与“快速开发“或”更短的开发周期“具有相同的意义,简而言之,意味着能够以比你目前跟快的速度开发软件。光从字面上讲,定义与书中后来所提出的有效开发相比,从字面上来讲是不够全面的,很多人也在豆瓣,卓越上表达了类似观点,但是我个人认为,其实快速软件开发是一个从宏观意义上来讲的术语,意思就是说我们现代软件开发项目基本都希望自己的项目快速,快速的前提是高效,比如你的软件产品中犯了很多低下的典型错误,质量很次,那么你修改错误就要花费很多时间,何谈快速呢?显然快速是包含软件开发中的提高速度和缩短周期等的,因此从深层次来讲,这样的定义是合理的!

2.该如何选择项目成员?

书中在第二章给出了选择项目组人员的五个原则,其中有一个为“绝顶的天才——用更少更好的人“。首先我觉得一个团队中不一定要每个人都是绝顶的”天才“,这个也许有点夸张,个人认为我们在选择项目成员的时候一个基本原则就是最大限度地保证团队和谐,实现团队力量。因此可以将人的种类分为两种,一种是全才,就是通晓很多方面的知识,比如一个既懂硬件又懂软件的人,另一种自然就是精才,这种人对某一方面特别精通,当将这两种人组成一个团队,精才做具体的事情,而全才则负责队员之间的交流。另外,人的数量也不是越少越好,这得取决于工程的大小。

3.当软件预先估算或计划与实际进度冲突了怎么办?

书中详细介绍了如何去进行较准确的估算,并且给出了一些过分乐观的进度计划的实例,可是并没有给读者介绍当我们的估算不合理,甚至严重影响到下一步计划的时候,有哪些具体的可行补救措施等,个人觉得在实际的软件开发过程中尤其像我们这样的新手,出现这种情况是肯定会有的。

4.完全按照指导、计划来做是否会固化队员的思维?对整个项目的进行有什么坏处?

本书的第5,8,9都有讲到软件开发过程中对于原计划的执行的重要性以及必要性,如果一味地这么做是否对项目的创新有所影响。比如说在软件开发到一半的时候,一位队员给出了一个有关软件开发的一个新的点子,并且这个解决方案比原计划的要好,对这种情况应该采取什么措施。

你可能感兴趣的:(软件开发)