敏捷开发

来源:互联网 发布:手机读心术软件 编辑:程序博客网 时间:2024/04/29 13:58

“什么是敏捷开发?它是一种开发方法学(Methodology),可以应对客户快速变更的需求。它强调以人为核心,采用迭代的方式,循序渐进地开发软件。在敏捷开发过程中,软件项目被划分成多个相互联系但也能独立运行的子项目。这就使得每个子项目在开发、测试直至完成的过程中一直保持可使用的状态。这个过程实际上就是要形成开发过程中团队之成员之间更加有效的合作关系,使其灵活性更高,以适应不断变化的需求。敏捷开发过程与传统开发过程的最大的不同之处在于,在敏捷开发过程中,团队是有激情、有活力的,能够适应更大的变化,生产出更高质量的软件。”
    “接下来我谈一下敏捷的价值观。这是在2001年敏捷联盟成立的时候一些业界专家共同提出来的。可以说,只要真正领悟了敏捷的价值观,就能懂得什么是敏捷。”
    “我们开发软件时的首要任务是通过尽早地、持续地交付有价值的软件来使客户满意。请看PPT……”

资料库


个体和交互重于过程和工具
    敏捷方法认为,人是软件开发中最重要的因素。开发团队成员之间有效的交流、沟通与协作,比单纯的编程能力更为重要。人与人面对面的交流,是最有效、最迅速的交换信息的方式。
可以工作的软件重于面面俱到的文档
    过多的文档需要开发人员花费大量时间来维护。文档应该是为程序服务的,因此应当短小精悍、易于维护,而且主题突出。敏捷方法认为最根本的文档就是源码。
客户协作重于合同谈判
    客户对产品的需求是不断变化的,试图在合同中规定项目的细节和进度显然无法应对不断变化的需求。只有开发团队和客户之间真诚的协作,加上频繁的客户反馈,才能让项目走向成功。
随时响应变化重于循规蹈矩
    客户的需求可能在项目开发过程中不断变化,即使是在合同谈判阶段确定的需求,也可能在客户看见了逐渐成型的产品之后而发生改变。敏捷方法欢迎并且随时准备应对变化。制定计划的时候应该尽量简洁、灵活,使其能适应技术和需求方面的变化。可以说,随时响应变化的能力往往决定着一个项目的成败。
    敏捷开发方法的核心思想概括起来就是“适应变化”和“以人为本”。
    (1)敏捷开发方法是面向人的而非面向过程的。
    敏捷开发认为人是软件开发中最重要的因素,而且人工作的环境很复杂。它希望使软件开发工作顺应人的天性而非逆之,强调软件开发应当是一项令人愉悦的活动,因此它们注重调动人的积极性、主动性和创造性,并培养人在工作中的自豪感。敏捷开发的理念就是信任开发团队能够很好地完成任务,所有的管理都是围绕这个理念展开的。
    (2)敏捷开发方法是“主动适应的”而不是“预先设定的”。
    瀑布模型等传统软件开发过程试图对一个软件开发项目在很长的时间跨度内作出详细的计划,并形成详细的文档,然后依照计划进行开发。这类方法在计划制定完成后拒绝变化,后期的需求变化将会花费极大的代价。而敏捷开发方法则乐于迎接变化,其实,它的目的就是成为适应变化的过程。另外,据统计,很多软件产品的功能中,客户常用的功能只占20%左右,其他大部分功能是客户很少使用甚至基本不用的。在这种情况下,采用瀑布方式在详细设计阶段所设计出的功能,其实很多是不必要的,这将浪费很多资源。在敏捷开发中,要求客户始终参与整个开发过程,这使得敏捷团队能不断地获得客户反馈,不断适应需求的变更,从而使最终的产品充分符合客户的要求,也极大地减少了资源的浪费。敏捷开发的理念认为未来的开发过程是不可详细预知的。


转自:http://blog.csdn.net/myscrum/archive/2009/07/28/4386415.aspx

 

0 0