zoukankan      html  css  js  c++  java
  • Scrum敏捷开发过程

    首先来说一下什么是敏捷开发:

    敏捷开发(Agile Development)是一种以人为核心、迭代、循序渐进的开发方法。

    怎么理解呢?首先,我们要理解它不是一门技术,它是一种开发方法,也就是一种软件开发的流程,它会指导我们用规定的环节去一步一步完成项目的开发;而这种开发方式的主要驱动核心是人;它采用的是迭代式开发;

    解释一下以人为核心:

    我们大部分人都学过瀑布开发模型,它是以文档为驱动的,为什么呢?因为在瀑布的整个开发过程中,要写大量的文档,把需求文档写出来后,开发人员都是根据文档进行开发的,一切以文档为依据;而敏捷开发它只写有必要的文档,或尽量少写文档,敏捷开发注重的是人与人之间,面对面的交流,所以它强调以人为核心。

    那什么又是迭代呢?

    迭代是指把一个复杂且开发周期很长的开发任务,分解为很多小周期可完成的任务,这样的一个周期就是一次迭代的过程;同时每一次迭代都可以生产或开发出一个可以交付的软件产品。

    什么是Scrum?

    Scrum的英文意思是橄榄球运动的一个专业术语,表示“争球”的动作;把一个开发流程的名字取名为Scrum,我想你一定能想象出你的开发团队在开发一个项目时,大家像打橄榄球一样迅速、富有战斗激情、人人你争我抢地完成它,你一定会感到非常兴奋的。

    而Scrum就是这样的一个开发流程,运用该流程,你就能看到你团队高效的工作。

    下面说一下开发流程中的三大角色:

    产品负责人(Product Owner)

    主要负责确定产品的功能和达到要求的标准,指定软件的发布日期和交付的内容,同时有权力接受或拒绝开发团队的工作成果。

    流程管理员(Scrum Master)

    主要负责整个Scrum流程在项目中的顺利实施和进行,以及清除挡在客户和开发工作之间的沟通障碍,使得客户可以直接驱动开发。

    开发团队(Scrum Team)

    主要负责软件产品在Scrum规定流程下进行开发工作,人数控制在5~10人左右,每个成员可能负责不同的技术方面,但要求每成员必须要有很强的自我管理能力,同时具有一定的表达能力;成员可以采用任何工作方式,只要能达到Sprint的目标。

     

    为什么要用到这种开发模式呢?必要的来说一下他的重要性:

    Scrum英文翻译过来是橄榄球里的“争球”的意思,Scrum是一个框架,基于这一框架模型,人们可以采用适合自己的方法解决复杂问题,同时帮助帮助开发团队实现价值最大化,比如提高成产能力,加大团队的创造力等等。随着Scrum的深化发展,它不只是用来管理项目开发,还被用于运维团队的维护,以及企业的计划管理。

     

    Scrum的代名词是“简单”、“轻量级”、“对复杂工作的把控”。在Scrum框架中,开发人员可以设计复杂项目的管理流程,包括产品规划管理、软件开发预期结果等。并且,我们还可以对和所有过程相关的要素进行持续改进,包括产品、团队和工作环境等。Scrum框架主要包括四个部分,即角色、事件、工件和规则,每一个组件都为Scrum最终目标服务。从最初为管理者和产品负责人而设计,到后来被用于全球范围内的市场、技术和产品研发。今天,Scrum框架已经被应用于更广泛的领域,包括各类软件产品开发、产品发布以及云产品(包括公有云、私有云、混合云)的构建等。 
    从具体的应用场景看,Scrum被用于软件、硬件开发,无人车的自动驾驶,学校、政府里面的市场营销、运营,以及个人在社会生活中的日常行为规划等。

    那么问题来了,如何把这个敏捷开发方法用于实践当中呢?

    尽管,IT技术正在快速迭代,市场上也出现了各种各样的新理念,但是Scrum一直是众多企业最理想选择。Scrum属于渐进式、迭代式,开发人员可逐步优化预期目标,并且能控制风险。借助过往经验,对过程进行控制,是Scrum一直被高度认可的最根本原因。 
    至于,何时用Scrum?不同的公司会有不同的选择。大体来看,开发团队最佳规模是小到足以保持敏捷性,大到足以完成重要工作,这样的团队基本是6-10人的团队。并且,整个团队已经有了一定的经验沉淀。另外,团队成员中要有一个Scrum master,作为整个团队的组织者和管理者,他是Team Leader和Product owner的粘合剂,可以及时地为团队成员提供帮助。 
    如何对整个过程进行控制?Scrum 采用迭代、增量的方法来优化可预见性并控制风险。

    具体而言,主要通过三大支柱支撑起每个过程控制的实现: 
    1、透明性:透明度是指,在软件开发过程的各个环节保持高度的可见性,所有参与人员都保持共同的过程认知。也就是说,当某个人在检验一个过程,并确信某一个任务已经完成时,这个完成必须让所有人对已完成过程同步知晓。 
    2、检验:整个团队必须不断检查Scrum工件,并朝着sprint冲刺目标前进,用以识别重大偏差。这一过程应于熟悉整个流程的人来执行。 
    3、适应:如果检验人员检验的时候发现过程中的一个或多个方面不满足验收标准,并且最终产品是不合格的,那么便需要对过程或是材料进行调整。调整工作必须尽快实施,以减少进一步的偏差。 
    上述所有检查和调整可通过Sprint计划、每日例会、Sprint冲刺评审、Sprint冲刺回顾来实现。

    Scrum的核心价值观是:承诺、勇气、集中注意力、开放和尊重。整个团队由产品负责人、开发团队和管理员组成。团队成员可以是自行组织,也可以跨职能、跨部门。这种团队组成形式为项目开发提供了更大的灵活性和便利性。自行组织的团队可以避免不了解项目的人来领导,而跨职能、跨部门的组织架构,每个人都是团队中最重要成员,更能体现以项目为核心的理念,大大提高了生产力和创造性。

    总之,Scrum 敏捷就是一种不停尝试、不停调整、不停优化的状态。它能把复杂的项目拆分成易于实践的任务,从而持续高效地帮助项目落地。当然,任何 一个撇开实践谈敏捷的理论都是“耍流氓”,要想让Scrum发挥最大价值,还要结合软件开发的实际情况,具体问题具体分析。先从一点入手,然后过度到最佳状态。

    引用:

    http://blog.itpub.net/31547898/viewspace-2213471/

    https://www.cnblogs.com/qixuejia/p/5863216.html

  • 相关阅读:
    免费素材下载:淡蓝色的PSD格式UI套件
    分享一个CSS3的网格系统架构 ResponsiveAeon
    最新收集的超棒Mobile/Web UI和用户体验设计
    一个帮助你针对不同标签自动填入内容的轻量级javascript类库 fixiejs
    发现任何VB函数、插件、甚至按键精灵对“文件下载”窗口后台失效
    android 界面 滑入 效果
    分布式HeadLoop
    VB ListView
    android 下载保存图片
    网址
  • 原文地址:https://www.cnblogs.com/xuzhaoyang/p/11001007.html
Copyright © 2011-2022 走看看