zoukankan      html  css  js  c++  java
  • 敏捷软件开发综述

                                                                                                                                         敏捷软件开发综述

                                                                                                                                                   ——崔海营

             一.敏捷软件开发的概念

                      敏捷软件开发又称敏捷开发,是一种从1990年代开始逐渐引起广泛关注的一些新型软件开发方法,是一种应对快速变化的需求的一种软件开发能力。它们的具体名称、理念、过程、术语都不尽相同,相对于“非敏

                捷”,更强调程序员团队与业务专家之间的紧密协作、面对面的沟通(认为比书面的文档更有效)、频繁交付新的软件版本、紧凑而自我组织型的团队、能够很好地适应需求变化的代码编写和团队组织方法,也更注重软件

                开发中人的作用。

           二.敏捷开发的核心——迭代开发

                迭代开发是有节奏地小步快跑,但建立在坚实的质量基础上。 

                   关键要点:每一次迭代都建立在稳定的质量基础上,并做为下一轮迭代的基线,整个系统的功能随着迭代稳定地增长和不断完善。 每次迭代要邀请用户代表(外部或内部)验收,提供需求是否满足的反馈
                                      迭代推荐采用固定的周期(2-4周),迭代内工作不能完成,应当缩减交付范围而不是延长周期。
             三.敏捷软件开发方法由 极限编程XP, Scrum ,精益软件开发 , 动态系统开发, 特性驱动开发 ,水晶开发等几种开发方法组成。
               1)极限编程XP
                         极限编程是一个轻量级的、灵巧的软件开发方法;同时它也是一个非常严谨和周密的方法。它的基础和价值观是交流、朴素、反馈和勇气;即,任何一个软件项目都可以从四个方面入手进行改善:
                   加强交流;从简单做起;寻求反馈;勇于实事求是。XP是一种近螺旋式的开发方法,它将复杂的开发过程分解为一个个相对比较简单的小周期;通过积极的交流、反馈以及其它一系列的方法,开发人员
                   和客户可以非常清楚开发进度、变化、待解决的问题和潜在的困难等,并根据实际情况及时地调整开发过程。
                          极限编程中有四个核心价值是我们在开发中必须注意的:沟通、简单、反馈、勇气;  XP用“沟通、简单、反馈、勇气和谦逊”来减轻开发压力和包袱;
                          基于敏捷的核心思想和价值目标,XP要求项目团队遵循几个核心实践:
                          团队协作,规划策略,结对编程,测试驱动开发,重构,简单设计,代码集体所有权,持续集成,客户测试,小型发布,编码规范,系统隐喻;
     
               2) Scrum
                        Scrum是一种迭代式增量软件开发过程,通常用于敏捷软件开发。包括了一系列实践和预定义角色的过程骨架。
                        Scrum中的主要角色包括同项目经理类似的Scrum主管角色负责维护过程和任务,产品负责人代表利益所有者,开发团队包括了所有开发人员。
               3)精益软件开发
                      七条原则:
                      尊重一线人员 ,消除浪费 ,增强学习 ,尽量延迟决定 ,嵌入质量,快速交付,整体优化;
         四.敏捷软件开发方法的特征(原则和方法)
                迭代式开发 :迭代开发将整个软件生命周期分成多个小的迭代(一般2-4周),每一次迭代都由需求分析、设计、实现和测试在内的多个活动组成,每一次迭代都可以生成一个稳定和被验证过的软件版本。
                增量交付:产品在每个迭代期结束时就要交付,而不是一次性的最终交付,并且每次交付都能部署到用户得应用环境中去。
                开发团队和用户反馈推动产品开发:通过团队的交互以及用户的反馈可以更好的完成产品的设计及制作;
                持续集成:一项软件开发实践,其中团队的成员经常集成他们的工作,通常每人每天至少集成一次,每次集成通过自动化构建完成。
               开发团队自我管理:一个拥有积极的,自我管理的,具有自由交流风格的团队是敏捷开发所必需的。
         五.敏捷开发的宣言
             个体和交互        胜过  过程和工具
             可以工作的软件  胜过  面面俱到的文档
             客户合作           胜过  合同谈判
             响应变化           胜过  遵循计划
     
             
     

                   

  • 相关阅读:
    java8之OptionalDemo
    Java8之日期和时间demo
    bitUtils
    在线工具类网站
    linux配置nginx命令
    批处理命令:修改IP与DNS地址脚本
    Springboot解决使用@Scheduled创建任务时无法在同一时间执行多个任务的BUG
    Selenium常用命令
    火狐浏览器各版本下载地址
    Mysql安装多版本数据库
  • 原文地址:https://www.cnblogs.com/chysly/p/3612288.html
Copyright © 2011-2022 走看看