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

    什么是敏捷开发?  

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

    敏捷流程概述

          在软件工程的语境里,“敏捷流程”是一系列价值观和方法论的集合。在开发中,第一步:找出完成产品需要做的事情-Product Backlog,每一项工作的时间估计单位为“天” ;第二步:决定当前的冲刺需要解决的事情-Sprint Backlog,整个产品的实现被划分为几个互相联系的冲刺,产品订单上的任务被进一步细化,被分解以小时为单位;第三步:冲刺-Sprint,在冲刺阶段,外部人士不可以直接打扰团队成员,一切交流只能通过Scrum大师来完成,这样较好地平衡了“交流”和“集中注意力”的矛盾。

    开发流程中的三大角色

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

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

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

    敏捷开发的原则    

    1. 快速迭代
           相对那种半年一次的大版本发布来说,小版本的需求、开发和测试更加简单快速。一些公司,一年仅发布仅2~3个版本,发布流程缓慢,它们仍采用瀑布开发模式,更严重的是对敏捷开发模式存在误解。
    2. 让测试人员和开发者参与需求讨论
           需求讨论以研讨组的形式展开最有效率。研讨组,需要包括测试人员和开发者,这样可以更加轻松定义可测试的需求,将需求分组并确定优先级。 同时,该种方式也可以充分利用团队成员间的互补特性。如此确定的需求往往比开需求讨论大会的形式效率更高,大家更活跃,参与感更强。
    3. 编写可测试的需求文档
           开始就要用“用户故事”(User Story)的方法来编写需求文档。这种方法,可以让我们将注意力放在需求上,而不是解决方法和实施技术上。过早的提及技术实施方案,会降低对需求的注意力。
    4. 多沟通,尽量减少文档
          任何项目中,沟通都是一个常见的问题。好的沟通,是敏捷开发的先决条件。在圈子里面混得越久,越会强调良好高效的沟通的重要性。
    团队要确保日常的交流,面对面沟通比邮件强得多。
    5. 做好产品原型
    建议使用草图和模型来阐明用户界面。并不是所有人都可以理解一份复杂的文档,但人人都会看图。
    6. 及早考虑测试
           及早地考虑测试在敏捷开发中很重要。传统的软件开发,测试用例很晚才开始写,这导致过晚发现需求中存在的问题,使得改进成本过高。较早地开始编写测试用例,当需求完成时,可以接受的测试用例也基本一块完成了。 
    敏捷的团队
          软件开发流程有好多种,怎么衡量一个项目是否适合敏捷开发?敏捷对团队的要求很简单:自主管理、自我组织、多功能型。
    1.自主管理:以前领导布置任务后我们实现就可以了,现在要自己挑选任务;每次Sprint结束以后还要总结不足,提出改进。
    2.自主组织:以前做好自己的事情就好了,现在每个人要联合起来对项目负责,有人落后要帮忙改进,项目缺少某类资源还要自己顶上去。
    3.多功能型:现在自己要搞定规格说明书,和别人沟通,自己搞定测试。
     
    开发宣言原则
          最重要的是通过尽早和不断交付有价值的软件满足客户需要。
      我们欢迎需求的变化,即使在开发后期。敏捷过程能够驾驭变化,保持客户的竞争优势。
      经常交付可以工作的软件,从几星期到几个月,时间尺度越短越好。
      业务人员和开发者应该在整个项目过程中始终朝夕在一起工作。
      围绕斗志高昂的人进行软件开发,给开发者提供适宜的环境,满足他们的需要,并相信他们能够完成任务。
      在开发小组中最有效率也最有效果的信息传达方式是面对面的交谈。
      可以工作的软件是进度的主要度量标准。
      敏捷过程提倡可持续开发。出资人、开发人员和用户应该总是维持不变的节奏。
      对卓越技术与良好设计的不断追求将有助于提高敏捷性。
      简单——尽可能减少工作量的艺术至关重要。
      最好的架构、需求和设计都源自自我组织的团队。
      每隔一定时间,团队都要总结如何更有效率,然后相应地调整自己的行为。
     
     
  • 相关阅读:
    linux安装uwsgi,报错问题解决
    centos7 安装 mysql
    centos7 安装 redis
    Python 第三方登录 实现QQ 微信 微博 登录
    39个前端精美后台模板
    Excel中replace函数使用方法
    Excel实用录入技巧
    Excel的快速录入
    Excel表格规范
    Excel快捷键大全 Excel2013/2010/2007/2003常用快捷键大全
  • 原文地址:https://www.cnblogs.com/me-tts/p/5325870.html
Copyright © 2011-2022 走看看