- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
 - 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
 - 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
 - 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
 - 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
 - 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
 - 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
 
                        查看更多
                        
                    
                敏捷开发介绍(一)
敏捷开发知识体系简介
Agile(敏捷) 一词来源于2001年初美国雪鸟滑雪胜地的一次敏捷方法发起者和实践者的聚会,随后他们成立了“敏捷联盟”,并制定了敏捷宣言。
敏捷软件开发又称敏捷开发,是一种从20世纪90年代开始捉奸因其广泛关注的一些新型软件开发方法,它基于更紧密的团队协作、持续的用户参与和反馈,能够有效应对快速变化需求、快速交付高质量软件的迭代和增量的新型软件开发方法。
敏捷开发更注重人的作用,强调个人和团队协作及自组织、通过短迭代快速交付和展示价值、持续的客户参与及反馈和快速响应变化。
敏捷开发是哲学理念、价值观和一系列开发实践的综合。这种哲学理念关注持续的交付价值,推崇让客户满意和软件尽早发布。接受敏捷理念的客户和工程师有着共同的观点:唯一真正重要的工作产品是在合适时间提交给客户的可运行软件。
敏捷开发同时,又是一种轻量级的开发方法,他通过一个或多个跨职能的小型团队分多个迭代持续增量的交付价值。敏捷开发通过迭代和快速用户反馈,管理不确定性和拥抱变化。
敏捷开发恰当的保留了软件开发过程的基本框架活动:用户沟通、策划、设计构建、交付物和评估,它以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态以此推动项目朝着构建和交付发展。
敏捷开发知识体系框架可分为3层:核心价值层、敏捷开发方法框架层和敏捷实践层。核心价值层主要包括敏捷宣言和12个原则;敏捷开发方法框架层主要包括各种敏捷开发过程框架,包括XP、Scrum、精益开发和OpenUP等;敏捷开发实践层则主要包括用于指导敏捷开发的各种实践。敏捷开发知识体系层次如下图:
敏捷开发知识体系的核心
对敏捷开发知识体系的层次进行细分,就得到敏捷开发知识体系的整体框架,如下图所示。其中,敏捷开发知识体系的核心是敏捷宣言,它们是敏捷开发思想和价值观的集中体现,它直接影响人们的思维模式。
   因此,正确的理解敏捷宣言,建立正确的敏捷价值观是成功开展敏捷开发的关键。敏捷的价值观更相信通过个体及个体间的有效协作,持续不断地交付价值;通过客户的参与和快速反馈,更好地拥抱变化,提升客户满意度。它充分体现敏捷文化中面向结果,关注价值和以客户为中心的协作创新理念。
敏捷开发方法框架
随着敏捷开发运动的开展,敏捷开发领域逐渐发展出各种敏捷开发过程或方法框架,这些敏捷开发过程都可以由他们所强调的3个关键假设识别出来,而这3个假设可以适用于大多数的软件开发项目。
假设1:项目的需求总是变化的,而提前预测哪些需求是稳定的,哪些需求会变化是非常困难的。同样,管理项目进行过程中客户优先级的变化也很困难。
假设2:对于很多软件来说,设计和构建是交错进行的。
假设3:从指定计划的交付来看,软件的分析、设计、构建和测试并不像我们设想的那么容易。
这3个假设要求敏捷开发过程一定是预测性的过程,而如何能够做到预测性呢?答案就是敏捷的自适应性。也就是说,敏捷软件过程必须具备自适应能力。但原地踏步式的自适应 收效甚微,因此,敏捷软件过程必须是增量地自适应。为了达到这一目的,敏捷团队需要通过快速交付可运行软件,获取客户的持续反馈。
在以上3个假设的前提下,敏捷方法中应用最广的敏捷开发方法框架包括如下几种。
Scrum。Scrum包括一系列事件和预定义角色,是一种灵活的软件管理过程。它提供了一种经验方法,可以帮助你驾驭迭代并实现递增的软件开发过程。这一过程是迅速、有适应性、自组织的,他发现了软件工程的社会意义,是的团队成员能够独立地集中在创造性的协作环境中工作。
精益开发(lean)。精益的理念,就是从最终用户的视角上观察生产流程,视任何未产生增值的活动为浪费,并通过持续的消除浪费,实现快速交付、提高质量与控制成本的目标。因此,对于软件开发而言,在开发者或者最终用户的视角上观察软件开发过程,并发现和消除无益于快速交付的行为,记为精益的软件开发。
极限编程(XP)。极限编程是由Kent Beck提出的一套对业务需求和软件开发实践的规则,它的作用在于将二者力量集中在同一个共同的目标上,高效并稳妥地推进开发。它力图在客户需求不断变化的前提下,以可持续的步调,采用高响应的软件开发过程来交付高质量的软件产品。
OpenUP。最早源自IBM内部对RUP(Rational Unified Process)的敏捷化改造,它是由一组适合高效率软件开发的最小实践集组成的敏捷化的统一过程。他的基本出发点是务实、敏捷和协作。
本文后续将重点介绍Scrum和XP方法,其余因目前暂未在公司进行实践,不
                
原创力文档
                        

文档评论(0)