zoukankan      html  css  js  c++  java
  • 敏捷开发方法综述

         敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。

         敏捷建模(Agile Modeling,AM)的价值观包括了XP(Extreme Programming:极限编程)的四个价值观:沟通、简单、反馈、勇气,此外,还扩展了第五个价值观:谦逊。

         Scrum和XP就是敏捷开发的具体方式。

         Scrum和XP的区别是,Scrum偏重于过程,XP则偏重于实践,但是实际中,两者是结合一起应用的。

         Scrum是指一种迭代式增量软件开发过程,通常用于敏捷软件开发。虽然Scrum是为管理软件开发项目而开发的,它同样可以用于运行软件维护团队,或者作为计划管理方法。Scrum之间的合作称为“Scrum of Scrums”。

         Scrum开发流程中的三大角色:

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

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

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

         在每一次冲刺(一个15到30天的周期,其长度由开发团队决定)当中,开发团队创建可用的(可以随时推出)软件的一个增量。每一个冲刺所要实现的功能来自产品订单(product backlog)。产品订单是按照优先级排列的要完成的工作的概要的需求,哪些订单项会被加入一次冲刺将由冲刺计划会议决定。在会议中,产品负责人告诉开发团队他需要完成产品订单中的哪些订单项。开发团队决定在下一次冲刺中他们能够承诺完成多少订单项。在冲刺的过程中,没有人能够变更冲刺订单(sprint backlog),这意味着在一个冲刺中需求是被冻结的。

      管理Scrum过程有很多实施方法,从即时贴、白板,一直到软件包。Scrum最大的好处之一是它非常容易学习,而且启动Scrum应用并不需要太多的投入。 

    参考以下内容:

    http://wiki.mbalib.com/wiki/敏捷开发

    http://wiki.mbalib.com/wiki/Scrum

    http://www.cnblogs.com/taven/archive/2010/10/17/1853386.html

    http://baike.baidu.com/link?url=3mcKhVMG5OXKeNgnCGK-l4zaY9zP9Tc247M1PRfn_vk-YdP3g4MJ0Ip1IZP9WC8THqf-3cixnCmQtZJklVAPPq#12

    http://baike.baidu.com/link?url=OFE6U5YXWpVBqEnOV-TffBLRdYIJjCebNFNsU6S1jMjxG7NZhGtcYiPE0CGW6Zn4pUk38zooIv5j4mnoo6en4a#4

  • 相关阅读:
    0903编写ssh实现远程执行命令 并解决粘包问题
    学习日记0829 IP协议 子网掩码 端口TCP协议的三次握手 四次挥手 套接字socket
    学习日记0828单例 OSI七层协议
    学习日记0827异常处理 元类 自定义元类 自定义元类来实例化类 属性查找顺序
    函数装饰器
    函数对象
    参数
    函数
    文件操作
    字符编码
  • 原文地址:https://www.cnblogs.com/a1397240667/p/5324885.html
Copyright © 2011-2022 走看看