敏捷开发流程及敏捷工具

敏捷开发,要求在开发过程中不断增强,从而提高软件质量,以达到提高商业收入的目的。它是一个迭代的过程,一个不断提高企业投资回报率和服务质量的过程。值得注意的是,成功的敏捷开发,单纯依附于活跃的开发过程和理解敏捷所带来的效益并对此有浓厚兴趣的企业用户。本文将介绍敏捷开发的五大过程及这些过程中所要用到的工具。

敏捷计划

典型的敏捷开发将整体工作分为一系列的发布过程,每个发布过程都是一个迭代循环,每个迭代循环都会发布一组功能特性。

敏捷计划规定了每个循环中所需要完成的工作(发布/迭代)。在该阶段,产品所有者将描述每个循环过程中他希望看到的产品样子。

敏捷计划包含发布计划与迭代计划,两者的内容及执行者不同。

发布计划:包含每次发布的功能组。产品所有者负责在产品发布之前制定发布计划。

迭代计划:开发团队需要在开发工作及迭代开始前确定需要完成的工作。可以通过每天的站立会议来实现。

工具:制定敏捷计划,有很多工具可以使用,如:

创建用户故事

用户故事,是对功能、特性的简单描述。每个特性也可能由很多故事组成。用户故事要简单且容易理解,能在几分钟内通过几行字表述清楚。请注意,用户故事是由项目所有者或主要用户群体来定义的,而非开发者。

正如Mike Cohnrn所建议的,用户故事应该遵循下面的格式:

作为一个(某种角色),我需要(某事)如此如此。

例如,作为一个用户,我希望通过姓名来查找我的客户。

工具:最好的方法是使用索引卡片来记录各个故事。有很多种工具可以帮助完成故事图谱与故事追踪,如

注意:故事并不是一次性完成的,它循环往复,且贯穿于整个项目开发周期中。

评估你的工作

在敏捷中,评估用于预测功能实现的复杂程度,并根据以前完成相似复杂度功能的经验预估所需要的完成时间。它是一个持续的过程,基于之前的经验和模式学习,不断提高评估的准确性。

通常,评估故事的复杂程度多基于故事要点,而非所耗费的时间。要点解释了故事的复杂性,并通过数据1,2,3……来体现。

评估有助于做出更好的商业决策,定义发布/迭代的范围。例如,我们可以很容易地为每次迭代/发布中的所有故事分配同样的数字。

工具: Planning Poker(估算扑克,scrum中文网微信就有,Scrum_CN,关注即可使用)是定义和改善你评估的最好技术。

站立会议

站立会议是开发团队每天进行的简短会议。会上每个人需要说明昨天所完成的事,及今天的计划和被分配任务现在的状态。商业用户和领域专家偶尔也会参加,这将给他们更多关于项目的信息。

它不是例行会议,仅仅对项目实施情况给出粗略的描述,而是要提供更多关于项目的可视性内容,增强团队间的协作,对当天的计划给出正确指导。

工具:在站立会议中,白板是非常有效的工具,比如Leangoo

项目监控技术

速率:

通过速率,可以精确地测量开发团队发布商业价值的速度。速率是对生产力的测量。通过计算一定间隔内完成工作的单元数来计算速率。

在每次迭代的最后,为了计算速率,敏捷团队会查看该过程所完成的工作要求,并累加与这些要求相关联的故事点。所完成故事点的总数便是团队的速率。首次小小的迭代之后,你会逐渐发现某种趋势,且能计算出平均速率。

下面一些工具可以帮助追踪速率。

Burndown Reports:

Burndown Report是追踪项目进度的另一个标尺。它用来追踪完成故事点的个数,监控简单的迭代、发布和整个项目积压的工作。它可以显示进度,反映产品交付的价值和团队的速率。

以下一些工具可用于测量Burndown Reports:

来源:Infoq

英文原文:http://techmytalk.com/2013/07/14/agile-software-development-process/

时间: 2024-08-25 21:37:52

敏捷开发流程及敏捷工具的相关文章

敏捷开发流程,您缺一个这样的协作平台

近年来,在高科技行业,为了响应快速的技术迭代和产品升级,敏捷开发流程正成为越来越多企业的选择.企业希望通过敏捷开发模式,基于自身的线性发展,来获取非线性的创新与竞争优势. 敏捷开发宣言是这样重新定义研发过程: ? 个体和交互胜过过程和工具 ? 可以工作的软件胜过面面俱到的文档 ? 客户合作胜过合同谈判 ? 响应变化胜过遵循计划 敏捷开发模式的践行,并非易事.首先是团队观念的转变和组织变革,然后这些还并不足够,在敏捷流程中特别强调沟通的高效,快速而有序.要做到这样,您还需要一个协作平台. 敏捷开发

互联网公司的“敏捷开发”流程是怎么样的,每个职位的角色和分工是什么?

作者:暗灭 第一   为什么需要敏捷开发. 在几万年以前,软件项目的开发都是以年来计算的,这代表什么意思呢 ?需求设计了半年多,方案设计做了半年多,开发了三年多,测试了半年多,修改Bug用了半年多.总计花了很长很长的时间,然后上线后发现有很多需求已经不存在了,同时又出现了很多新的需求. 怎么办?继续改.这一改又是半年多的时间过去了.马丹用户的需求还再改,怎么办? 这是困扰软件开发项目的最大的问题,越大的项目,参与的人越多,风险越大.文档越规范,维护起来的难度就越高,导致项目中遇到的问题越来越多.

scrum敏捷开发的几款工具

做敏捷开发,如何敏捷?我们需要一系列成熟的工具帮助我们敏捷.敏捷开发工具的适合以及选用,对开发项目起着关键性的作用. 此篇介绍我们在scrum敏捷开发中发掘的几款工具,方便更多新加入的开发者上手. 1.  AxosoftOnTime Scrum AxosoftOnTime Scrum能够帮助开发团队管理待办事项.产品发布和模拟项目冲刺.这款基于HTML5特性的工具提供创建图表和管理仪表板的功能,随着工作时间的走动,它可以追踪代码特性并修复bug.除此之外,Html5也是AxosoftOnTime

工作中敏捷开发流程梳理

接触敏捷开发差不多一年了,对它也有了一些自己浅显的认识,写这篇文章来给自己梳理梳理工作中的敏捷开发流程. 迭代周期 工作中根据项目普遍任务的耗时,采用10个工作日作为1个迭代周期,包括迭代计划会议.迭代开发和迭代回顾会议 迭代任务 迭代任务通常在feature到task的级别,任务主要由以下几个方面来产生:产品功能开发计划.产品功能研究计划.测试提交的上轮迭代未解决的bug和客户反馈的产品问题 1)     开发任务由产品专员在上一轮迭代中确定产品功能点,并产出功能设计文档,由开发在本轮迭代完成

杨学明老师推出全新课程--《敏捷开发&IPD和敏捷开发结合的实践》

课时:13小时(2天) 敏捷开发&IPD和敏捷开发结合的实践 讲  师:杨学明 [课程背景] 集成产品开发(IPD).集成能力成熟度模型(CMMI).敏捷开发(Agile Development)是当前国内外企业产品研发管理的最常用的3种模式.随着创新环境的快速发展,许多企业都会面临这样的问题:如何快速响应市场的变化?如何推出更有竞争力的产品?如何在竞争中脱颖而出?……是大部分研发型企业普遍面临的核心问题.另外,软件项目在产品开发中位置越来越重要,逐渐占领主导地位,这时传统的IPD流程和CMMI

汇总敏捷开发流程细节

简单的说,敏捷开发以用户的需求进化为核心,采用迭代.循序渐进的方法进行软件开发.其核心价值观便是:沟通.简单.反馈和谦逊.而在敏捷开发过程中,也注重各方面的细节.如下,本文汇总了敏捷开发过程要注意的细节. 1.快速竞品分析 在动手设计前,第一步需要对市面上的同类竞品进行较为深入的分析,提炼出竞品的产品框架.各模块的设计特点,通过对比分析,总结出各竞品的优缺点,取其精华,取其糟粕,真正做到后来居上. 2.用户行为数据分析 有个竞品分析数据后,还需要结合用户的行为数据进行分析.所以需要通过访谈获取用

敏捷开发流程总结

Agile——敏捷开发,作为CMM神话崩溃后被引入的一套新的软件开发模式,这几年来被广泛引起关注,并被寄予厚望.敏捷开发在其它业界的应用是否理想不得而知,但下面总结了我所在公司的敏捷开发试验,希望能够达到管中窥豹的目的.敏捷开发宣言——个体和交互 胜过 过程和工具能够工作的软件 胜过 面面俱到的文档客户合作 胜过 合同谈判响应变化 胜过 遵循计划尽管右项也有价值,可是我们觉得左项具有更大的价值. 以上的宣言比較抽象,基于该理念,下面是ThoughtsWork咨询公司的推崇的n个敏捷开发实践:

敏捷开发流程

敏捷开发以用户的需求进化为核心,采用迭代.循序渐进的方法进行软件开发.在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视.可集成和可运行使用的特征.换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态. 流程介绍 需求池 客户.业务部门.项目组内部等相关人员提出的需求,经过产品经理,转化成为可开发的需求,放在需求池. 迭代 一般的开发周期1到4个周都是合理,具体根据实际定. 每日早会 早会Daily

我和敏捷开发的故事--敏捷角色PO

在前面的三篇文章中对敏捷开发进行了一个背景铺垫,是以笔者个人的经历为主线来逐渐从个人的角度来理解敏捷开发. 通过结对编程完成了开发框架的搭建,在搭建框架的时候其实我们的正式敏捷流程还没有开始,真正开始是大家都可以行动的时候.当敏捷开始的时候整个团队定是在相关的分工下完成任务,所以不同的人有不同的角色,接下来主要对敏捷开发中的角色进行了解. 第一个要说的角色是PO 敏捷开发中的PO即ProductOwner,字面意思是产品或业务负责人,即熟悉该产品所有业务相关的逻辑.流程.设置等方面事宜的人员,一