敏捷开发介绍(一)1敏捷开发知识体系介绍Agile(敏捷)一词来源于初美国雪鸟滑雪胜地的一次敏捷办法发起者和实践者的聚会,随即他们成立了“敏捷联盟”,并制订了敏捷宣言。敏捷软件开发又称敏捷开发,是一种从20世纪90年代开始捉奸因其广泛关注的某些新型软件开发办法,它基于更紧密的团体协作、持续的顾客参加和反馈,能够有效应对快速变化需求、快速交付高质量软件的迭代和增量的新型软件开发办法。敏捷开发更重视人的作用,强调个人和团体协作及自组织、通过短迭代快速交付和展示价值、持续的客户参加及反馈和快速响应变化。敏捷开发是哲学理念、价值观和一系列开发实践的综合。这种哲学理念关注持续的交付价值,推崇让客户满意和软件尽早公布。接受敏捷理念的客户和工程师有着共同的观点唯一真正重要的工作产品是在适宜时间提交给客户的可运行软件。敏捷开发同时,又是一种轻量级的开发办法,他通过一种或多个跨职能的小型团体分多个迭代持续增量的交付价值。敏捷开发通过迭代和快速顾客反馈,管理不拟定性和拥抱变化。敏捷开发恰当的保存了软件开发过程的基本框架活动:顾客沟通、策划、设计构建、交付物和评定,它以顾客的需求进化为核心,采用迭代、循序渐进的办法进行软件开发。在敏捷开发中,软件项目在构建早期被切分成多个子项目,各个子项目的成果都通过测试含有可视、可集成和可运行使用的特性。换言之,就是把一种大项目分为多个互相联系,但也可独立运行的小项目,并分别完毕,在此过程中软件始终处在可使用状态以此推动项目朝着构建和交付发展。敏捷开发知识体系框架可分为3层:核心价值层、敏捷开发办法框架层和敏捷实践层。核心价值层重要涉及敏捷宣言和12个原则;敏捷开发办法框架层重要涉及多个敏捷开发过程框架,涉及XP、Scrum、精益开发和OpenUP等;敏捷开发实践层则重要涉及用于指导敏捷开发的多个实践。敏捷开发知识体系层次以下图:敏捷开发知识体系的核心对敏捷开发知识体系的层次进行细分,就得到敏捷开发知识体系的整体框架,以下图所示。其中,敏捷开发知识体系的核心是敏捷宣言,它们是敏捷开发思想和价值观的集中体现,它直接影响人们的思维模式。因此,对的的理解敏捷宣言,建立对的的敏捷价值观是成功开展敏捷开发的核心。敏捷的价值观更相信通过个体及个体间的有效协作,持续不停地交付价值;通过客户的参加和快速反馈,更加好地拥抱变化,提高客户满意度。它充足体现敏捷文化中面对成果,关注价值和以客户为中心的协作创新理念。敏捷开发办法框架随着敏捷开发运动的开展,敏捷开发领域逐步发展出多个敏捷开发过程或办法框架,这些敏捷开发过程都能够由他们所强调的3个核心假设识别出来,而这3个假设能够合用于大多数的软件开发项目。假设1:项目的需求总是变化的,而提前预测哪些需求是稳定的,哪些需求会变化是非常困难的。同样,管理项目进行过程中客户优先级的变化也很困难。假设2:对于诸多软件来说,设计和构建是交错进行的。假设3:从指定计划的交付来看,软件的分析、设计、构建和测试并不像我们构想的那么容易。这3个假设规定敏捷开发过程一定是预测性的过程,而如何能够做到预测性呢?答案就是敏捷的自适应性。也就是说,敏捷软件过程必须含有自适应能力。但原地踏步式的自适应收效甚微,因此,敏捷软件过程必须是增量地自适应。为了达成这一目的,敏捷团体需要通过快速交付可运行软件,获取客户的持续反馈。在以上3个假设的前提下,敏捷办法中应用最广的敏捷开发办法框架涉及以下几个。1、Scrum。Scrum涉及一系列事件和预定义角色,是一种灵活的软件管理过程。它提供了一种经验办法,能够协助你驾驭迭代并实现递增的软件开发过程。这一过程是快速、有适应性、自组织的,他发现了软件工程的社会意义,是的团体组员能够独立地集中在发明性的协作环境中工作。2、精益开发(lean)。精益的理念,就是从最后顾客的视角上观察生产流程,视任何未产生增值的活动为浪费,并通过持续的消除浪费,实现快速交付、提高质量与控制成本的目的。因此,对于软件开发而言,在开发者或者最后顾客的视角上观察软件开发过程,并发现和消除无益于快速交...