论文部分内容阅读
敏捷开发过程是一系列全新的软件开发过程,和传统的瀑布模型在两个立足点上有着根本的对立: ● 瀑布模型将软件开发过程划分为若干个阶段,并假定每一个阶段都能够“做到最好”,进而成为下一个阶段各项工作的基础;而敏捷开发过程认为在软件开发的某个阶段中,永远都不可能“做到最好”,并假设客户和软件的需求会不断地变化,所以就打破了传统瀑布模型对于开发阶段的划分,使用迭代的方式进行开发。 ● 瀑布模型中一直是将软件的文档作为软件开发中每一个阶段的里程碑,将文档视为软件开发过程中最重要的产品来看待;而敏捷开发过程的支持者认为软件开发过程中最重要的产品不是种类繁多、长篇累牍的文档而是软件的代码本身。 由以上两点发展开去,对于软件开发这一问题,敏捷开发过程给出了和传统瀑布模型大相径庭的一系列方法论。著名的权限编程、RUP和测试驱动软件开发都是其中的典型代表。 新的思考方式带来了革命性的变化,很多敏捷开发过程的信徒认为传统方法照搬制造业工程而忽视了软件工程的特殊性质,他们将敏捷开发过程视为被瀑布模型、严格顺应ISO9000/9001和坚持CMM所污染了的开发实践的救世主。还有一部分人在它是合理的方法和它是过度随意的开发实践之间摇摆。 只有通过大胆的实践才能看清问题的真实面目。本文的作者从一系列敏捷开发过程中提炼出了七条最为核心的原则并将其应用到一个中型、运用.NET开发的企业应用项目中,进行了一次尝试并取得了良好的效果。这七条原则是: 1.制定轻型计划,应对变化 2.迭代开发,增量提交 3.简化设计,仅仅开发有用的功能 4.测试驱动 5.积极进行代码重构 6.连续性整合代码和集成测试 7.及时编写文档 如果要对这样的原则进行实践,则需要从技术和管理两方面进行改进,本文将重点放在了前者,并进行了大量的实践。文章最后分析了敏捷开发过程之所以取得良好效果的原因,并总结了敏捷开发过程的优点与其局限性。这样的工作,对于想要继续尝试研究和改进敏捷开发过程的人,或许有一些参考意义。