敏捷软件开发 连载(一)

 

敏捷软件开发(Agile Software Development)简介

1 - 敏捷起源与敏捷宣言 

 

    现在,在软件行业我们会经常听到软件开发过程、敏捷软件开发(Agile Software Development)和CMMI(集成软件能力成熟度模型),客户也时常会问到这些。比如,请介绍一下你们的软件开发流程?贵公司有相关质量体系CMMIISO的认证吗?你们能否提供敏捷开发?……

那么,公司内部的软件开发过程、敏捷软件开发及CMMI,它们是一回事儿或是有什么不同?我们公司已经实施了基于CMMI的过程改进方法,建立了自己的研发过程体系—ADPADP是否也适用敏捷开发方法哪?是不是引入了敏捷开发就可以使软件开发更成功、更有效哪? 

 

为了澄清这些问题,我们会在里陆续为大家介绍:

1   敏捷运动起源

2、《敏捷宣言》

3、《敏捷宣言》遵循的本原则(Principles

4、几个典型敏捷开发过程的介绍

5关于敏捷的问与答(Q&A


    1
、敏捷运动起源

随着信息化的不断提高、internet的普及,人们越来越需要对软件功能的增加、软件产品的交付等需求得到尽快地满足;另一方面,业务的快速发展和变化也加速了软件需求的变更。国际软件过程领域的敏捷运动源于 2001 年敏捷联盟(Agile Alliance)在美国成立和《敏捷宣言》(Manifesto for Agile Software Development)的正式发表。敏捷软件运动代表了 21 世纪互联网时代软件开发模式的一种先进理念和价值观,相比传统过程,敏捷更强调快速灵活反应,主动迎接和适应变化,主张更紧密的客户与开发商协作和以人为本的企业可持续发展。

敏捷软件开发不是一个具体的过程,而是一个涵盖性术语(umbrella term),用于概括具有类似基础的方式和方法。典型的敏捷过程模型有:

1XP(极限编程,eXtreme Programming)、

2FDD(特性驱动开发, Feature-Driven Development)、

3Scrum

4ASP(自适应软件开发Adaptive Software Development

5DSDM(动态系统开发方法,Dynamic System Development Method)以及

6AUP(敏捷统一过程,Agile Unified Process

7Crystal等。


尽管每种敏捷过程都具有类似的目标,但是它们实现这个目标的做法
practice)却不尽相同。在后续中,我们会着重介绍FDDScrum

2、敏捷宣言Manifesto  for Agile Software Development 

We are uncovering better ways of developing
software by doing it and helping others do it.
Through this work we have come to value:

我们正在通过实践和帮助其他人实践,

揭示(uncovering)更好的开发软件的方法。

我们的价值观是 

Individuals and interactionsover processes and tools

人和交互重于过程和工具
Working software over comprehensive documentation

可以工作的软件重于面面俱到的文档
Customer collaboration over contract negotiation

客户合作重于合同谈判
Responding to change over following a plan

随时应对变化重于循规蹈矩

(拥抱变化胜于遵循计划)

That is, while there is value in the items on
the right, we value the items on the left more.

虽然右项也具有价值,但我们认为左项具有更大的价值。

中文摘自:《敏捷软件开发:原则、模式与实践》 Robert C.Martin【著】,邓辉【译】

英文摘自:http://www.agilemanifesto.org/ 

 

关注敏捷软件开发是因为我们认为它是一种很好的软件开发理念,能够应对现实中的软件需求经常不完善和快速变更的问题,用好它能够提高客户满意度,降低项目失败的风险。但什么时候使用它、如何很好地实施这些理念,是我们需要考虑和解决的问题。

posted @ 2007-09-10 18:04  奔放  阅读(1528)  评论(1编辑  收藏  举报