敏捷开发流程 英语_爆发式开发流程对比敏捷式开发流程 - CSDN
  • 理论上的知识我看的不多,没有很准确的概念,我想无论哪种开发方式都有自己的理论基础,和相应的方法步骤, 比如 瀑布模型,增量模型,迭代模型,敏捷方法等 并且由于项目不同,比如是否是新项目,二次开发项目,...


    理论上的知识我看的不多,没有很准确的概念,我想无论哪种开发方式都有自己的理论基础,和相应的方法步骤,比如 瀑布模型,增量模型,迭代模型,敏捷方法等

    并且由于项目不同,比如是否是新项目,二次开发项目,或者是维护项目,采用的方法也不尽相同,没有固定不变的,不同的公司也可能不一样,所以我只是说说我所理解的敏捷,和项目中用到的敏捷方法

    我的理解是快速迭代,持续交付,一种轻量级,高效,低风险,更强调团队协作和沟通的开发方式,客户需求模糊或多变,

    适用于中小团队开发,每个团队人员不宜多于6,7个,

    敏捷我认为首先最重要的是沟通,就是 BA和开发人员,和QA的高效沟通,缺少任何一个都不会很有效率和效果


    敏捷的过程中基本保证每个迭代都是可以测试并验证的,项目上要有完成一个迭代的时间,比如2周,3周,这包括如下几部分

    1,BA,系统需求的人尽量要知道他要什么功能点,也就是function point,

    2,开发人员要理解这个功能点,并和BA做沟通,要保证自己能理解这个需求,如果不是很理解,就要进一步沟通,这个过程中沟通很重要,因为BA可能并不完全了解系统的数据流,所以互相之间可能有偏差,沟通的目的就是确保开发人员完全理解这个需求,并实现它,开发完成后,要有时间做单元测试,集成测试等

    3, 当上一步完成后需要BA去验证这个功能点的正确性

    4, 当BA完成后,QA不仅要做这个功能点的测试,还要做一个系统相关性的会回归测试,保证没有影响到其他功能点

    但实际上,我在有一个项目中用到的敏捷,虽然从一开始就在用,但是也不是很流畅,我认为其中的原因就是,用户的需求不能及时的得到沟通和反馈,其中的原因是BA和开发,测试的人,不在一起,不在一个时区里,很多时候只能通过写邮件的方式沟通,这显然不是高效的方式,后来项目做了些改进,就是开发团队开始有BA了,情况得到了一些改善, 

    所以我认为下面两点很重要 

    1 真正的用户需求,

    2 软件持续交付过程中的,全方位的自动化测试,你新加个功能还好说,如果不对现有的功能产生影响,只要保证这个新的好用基本就可以了,但是如果这功能需要修改已有的代码,那么就不只要保证当前这个功能好用,还要对相关项做全方位的回归测试,从业务上,功能上,保证系统的可用性,


    敏捷开发每个人每天要做的

    项目里要有个黑板,这个黑板每个人都要参与进来,用来跟踪功能点的状态,

    找个时间,比如时间控制在10分,15分钟内,根据实际需要或者项目组制定的流程,选择性的做下面当中的一个或几个

    每个人都要做下面这3件事, 

    1 昨天做了什么

    2 今天做什么

    3 有没有什么问题导致你不能往下开发

    每个人都把自己的功能点的今天的状态向大家说出来,说出来的目的是让大家了解你做的东西和他们的有没有相关性

    每个人都把自己的功能点在黑板上挪动到你当前的状态,之后把他风险提出来,大家看看有没有遇到类似的问题,集思广益,会后也许会有思路


    这么做的最主要的目的,我感觉就是尽早的发现每个迭代可能遇到的风险,做到提前预知和可控


    我认为无论哪种方法,都是要达到快速,高效,准确,低风险的完成项目的目标,所以他的步骤并不是固定不变的,只要达到这个目的就可以了


    我本身不喜欢所谓的流程,及文档,因为好的代码结构就是文档,文档适当记载系统大概业务及数据流向即可,因为如果文档不能一直维护就会成为麻烦。

    但实际上,我认为最好的开发方式就是,BA在开发者身边,有问题随时沟通,做到快速,高效,

    其他的所谓流程,步骤都不重要,只要完成的东西达到BA的要求才是最重要的


    展开全文
  • 这几年关于敏捷开发在互联网企业中越来越广泛被使用到,运用的比较多的当属scrum敏捷开发和xp敏捷开发,人人都在谈论敏捷开发。那什么才是敏捷开发呢? 目录 什么是敏捷开发? 传统的开发模式和敏捷开发模式的...

    简介

    这几年关于敏捷开发在互联网企业中越来越广泛被使用到,运用的比较多的当属scrum敏捷开发和xp敏捷开发,人人都在谈论敏捷开发。那什么才是敏捷开发呢?

    目录

    1. 什么是敏捷开发?
    2. 传统的开发模式和敏捷开发模式的对比?
    3. 敏捷开发scrum的实施。

    什么是敏捷开发

    敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。

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

    传统的开发模式和敏捷开发模式的对比

    瀑布模型:
    这里写图片描述
    优点:
    1. 为项目提供了按阶段划分的检查点。
    2. 当前一阶段完成后,您只需要去关注后续阶段.
    3. 它提供了一个模板,这个模板使得分析、设计、编码、测试和支持的方法可以在该模板下有一个共同的指导。

    缺点:
    1. 各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量。
    2. 由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发风险。
    3. 通过过多的强制完成日期和里程碑来跟踪各个项目阶段。
    4. 瀑布模型的突出缺点是不适应用户需求的变化。

    敏捷模型:
    这里写图片描述
    优点:

    1. 敏捷开发的高适应性,以人为本的特性。
    2. 更加的灵活并且更加充分的利用了每个开发者的优势,调动了每个人的工作热情。

    缺点:

    1. 由于其项目周期很长,所以很难保证开发的人员不更换,而没有文档就会造成在交接的过程中出现很大的困难。

    敏捷开发scrum的实施

    Scrum的英文意思是橄榄球运动的一个专业术语,表示“争球”的动作;把一个开发流程的名字取名为Scrum,相当于大家像打橄榄球一样迅速、富有战斗激情。而Scrum就是这样的一个开发流程。

    Scrum开发流程中的三大角色
    – 产品负责人(Product Owner)

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

    – 流程管理员(Scrum Master)

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

    –开发团队(Scrum Team)

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

    scrum开发流程图

    这里写图片描述

    1、我们首先需要确定一个Product Backlog(产品需求列表),这个是由PO负责的(如图(一));

    2、有了Product Backlog列表,我们需要通过 Sprint Planning Meeting(Sprint计划会议) 来从中挑选出一个Story作为本次迭代完成的目标,这个目标的时间周期是1~4个星期,然后把这个Story进行细化,形成一个Sprint Backlog;

    3、Sprint Backlog是由Scrum Team去完成的,每个成员根据Sprint Backlog再细化成更小的任务(细到每个任务的工作量在2天内能完成);

    4、在Scrum Team完成计划会议上选出的Sprint Backlog过程中,需要进行 Daily Scrum Meeting(每日站立会议),每次会议控制在15分钟左右,每个人都必须发言,并且要向所有成员当面汇报你昨天完成了什么,并且向所有成员承诺你今天要完成什么,同时遇到不能解决的问题也可以提出,每个人回答完成后,要走到黑板前更新自己的 Sprint burn down(Sprint燃尽图)(如图(二)和如图(三));

    5、做到每日集成,也就是每天都要有一个可以成功编译、并且可以演示的版本。

    6、当一个Story完成,也就是Sprint Backlog被完成,也就表示一次Sprint完成,这时,我们要进行 Srpint Review Meeting(演示会议),也称为评审会议,产品负责人和客户都要参加(最好本公司老板也参加),每一个Scrum Team的成员都要向他们演示自己完成的软件产品。

    7、最后就是 Sprint Retrospective Meeting(回顾会议),也称为总结会议,以轮流发言方式进行,每个人都要发言,总结并讨论改进的地方,放入下一轮Sprint的产品需求中;

    如图(一):
    这里写图片描述

    如图(二):
    这里写图片描述

    如图(三):
    这里写图片描述

    如图(四):
    这里写图片描述

    敏捷开发管理工具:teambition
    teambition

    参考

    敏捷开发之Scrum扫盲篇
    百度百科
    敏捷开发 模型讲解

    展开全文
  • 敏捷开发(scrum)是一种软件开发的流程,强调快速反应、快速迭代、价值驱动。 Scrum的英文意思是橄榄球运动的一个专业术语,表示“争球”的动作;运用该流程,你就能看到你团队高效的工作。 敏捷开发的特点就是...

    敏捷开发(scrum)是一种软件开发的流程,强调快速反应、快速迭代、价值驱动。

    Scrum的英文意思是橄榄球运动的一个专业术语,表示“争球”的动作;运用该流程,你就能看到你团队高效的工作。

    敏捷开发的特点就是下面4句话:

    「个体与交互」胜过「过程与工具」

    「可以工作的软件」胜过「面面俱到的文挡」

    「客户协作」胜过「合同谈判」

    「响应变化」胜过「遵循计划」

    敏捷开发(scrum)适用于竞争激烈,快速变化的市场。 敏捷的客户协作观念,快速迭代能帮助团队以最小成本,最快速度满足客户真正的需求。对比传统开发模式:

    传统开发模式以文档为驱动,而敏捷开发提倡少写文档

    传统开发模式下开发人员按照产品文档进行研发,过程中客户不参与到产品的验收和体验中,这样就会导致最后开发出来的成品并不是客户想要的。 而敏捷开发模式从开始就强调客户协作,分步提供产品模块客户体验。

    敏捷模式采取迭代式开发,传统模式采用瀑布式开发

    敏捷开发采取迭代式开发的形式,即每个阶段有每个阶段需要完成、并且能使用的产品,这一阶段只要开发某几个功能,且这些功能的产品必须是可以使用的,这一阶段产品完成之后与客户进行对接交付,再进行下一阶段的开发。

    敏捷开发更适应变化

    传统开发模式下软件开发过程是执行研发计划,而实际工作中,需求往往在开发过程中会产生巨大变化。敏捷开发更能适应不确定性强的产品和市场。

    接下面我们来具体看一下执行scrum的套路。

    Scrum的三大角色

    产品负责人(Product Owner)

    主要负责和客户沟通确定产品的功能和达到要求的标准,并指定软件的发布日期和交付的内容,同时有权力接受或拒绝开发团队的工作成果,一般是由产品经理担任。

    流程管理员(Scrum Master)

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

    开发团队(Scrum Team)

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

    Scrum的组成

    Sprint:指的是一次迭代,而一次迭代的周期最好是1-4个星期,也就是我们要把产品需求分布到各个周期完成,这个过程我们称它为Sprint。

    Story:用户故事,也可以看做是用户需求点。

    Task:story的进一步细分。为了能够及时,高效地完成每个 Story,Scrum 团队会把每个 Story 分解成若干个 Task。每个Task 的时间最好不要超过8小时,保证在1个工作日内完成,如果 Task 的时间超过了8个小时,就说明Task的划分有问题,需要特别注意。

    Backlog:Backlog是Scrum中的一个专用名词,意思是待办工作事项的集合。在开发中需要明确2个Backlog。

    Product Backlog ——产品待办事项列表,产品负责人量化用户需求,逐条列出实际需要开发的需求(Story)。

    Sprint Backlog——任务列表,是一次迭代中需要完成的任务,主要是开发团队细化工作的列表。

    燃尽图(Burn Down Chart)

    是一个展示开发时间的图,但是展示的是每天累加所有任务的剩余时间。

    燃尽图是用来跟踪sprint中未完成工作的情况。每做完一个sprint的用户故事就烧掉,最后烧完sprint也就完成了。用蓝色线表示计划走向,红色线则是实际走向,两条线共同组成了燃尽图。如下图,每一个点代表一个用户故事,或者故事点,或者可度量的工作量。所有点组成sprint。

    4个会议

    Sprint计划会

    Sprint 计划会就是大家坐下来,PO 向大家介绍排好序的产品待办事项(Product Backlog),然后大家共同思考决定如何推进计划,梳理出 Sprint Backlog 来完成后续的工作。

    每日站会

    每位开发成员都要交代3点

    昨天完成了什么

    今天计划完成什么

    是否有困难需要帮助

    每日站会

    上图就是每日的站立会议了,参会人员可以随意姿势站立,任务看板要保证让每个人看到,当每个人发言完后,要走到任务版前更新自己的看板和燃尽图。

    Sprint 评审会

    当一个Sprint完成,这时就要进行最重要的演示会议,也称为评审会议,产品负责人和客户都要参加,每一个开发团队的成员都要演示自己完成的软件产品,然后被判定产品合格、成功、需要修改还是重新做。

    Sprint 总结会

    总结会议以轮流发言方式进行,每个人都要发言,总结并讨论改进的地方,放入下一轮Sprint的产品需求中。

    以上的会议都不需要准备PPT或者大量的文档,但要注意会议的时长。

    使用鱼骨Scrum项目的开发步骤

    1.产品负责人使用产品Tab收集产品需求(story)。

    Product Backlog

    2.开发团队根据Product Backlog列表,在Sprint计划会议中做工作量的预估和安排,确定需求提交研发,进入Story看板。

    Story看板

    3.确定Sprint周期(1-4周)和本次开发迭代冲刺的开发需求(Stories)。进入Sprint的story出现在Task看板。 在Task看板,研发团队可以拆分Story到任务进行协作。

    Task看板

    5.每日立会,团队更新Task看板,和Story看板,保持信息的同步。

    功能强大的鱼骨精益看板能协助开发团队更好的实施SCRUM。

    展开全文
  • 敏捷开发,要求在开发过程中不断增强,从而提高软件质量,以达到提高商业收入的目的。它是一个迭代的过程,一个不断提高企业投资回报率和服务质量的过程。值得注意的是,成功的敏捷开发,单纯依附于活跃的开发过程和...

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

    敏捷计划

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

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

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

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

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

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

     

     

    创建用户故事

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

    正如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/

    转载于:https://www.cnblogs.com/leangoo/p/4571795.html

    展开全文
  • 本文主要从Scrum的定义和目的、敏捷宣言、Scrum中的人员角色、Scrum开发流程、敏捷的12原则等几方面帮助大家理解Scrum敏捷开发的全过程。 一、Scrum的定义和目的 Scrum是一个用于开发和维护复杂产品的框架,是一个...
  • 敏捷软件开发最近几年越来越火。跟传统软件开发相比有什么优点呢。今天我们就来聊一聊。 首先我们来看下什么叫做敏捷敏捷软件开发过程 软件开发过程是指设计软件开发过程中涉及的一系列活动,指导开发组一步...
  • 浅谈敏捷开发

    2020-04-11 14:29:17
    浅谈敏捷开发 敏捷开发(agile development)是非常流行的软件开发方法。据统计,2018年90%的软件开发采用敏捷开发。 但是,到底什么是敏捷开发,能说清的人却不多。本文尝试用简洁易懂的语言,解释敏捷开发。 章节 ...
  • 敏捷开发入门教程

    2019-06-12 14:53:12
    敏捷开发(agile development)是非常流行的软件开发方法。据统计,2018年90%的软件开发采用敏捷开发。 但是,到底什么是敏捷开发,能说清的人却不多。本文尝试用简洁易懂的语言,解释敏捷开发。 一、迭代开发 ...
  • 敏捷开发 模型讲解

    2017-03-01 16:56:54
    CSDN:在你的工作生涯中,前期是在创业公司,后来是大公司,有着一套自己的敏捷开发模式,能够谈谈在你现在使用的敏捷开发工具或方法? 黄勇:敏捷这个话题大家一直都在谈论,也有很多关于敏捷的工具或方法,我...
  • 现在敏捷开发是越来越火了,人人都在谈敏捷,人人都在学习Scrum和XP... 什么是敏捷开发敏捷开发(Agile Development)是一种以人为核心、迭代、循序渐进的开发方法。 怎么理解呢?首先,我们要理解它不是一门...
  • 敏捷开发,相对传统软件开发模式,它主要是针对快速变化的需求,不断优化管理流程,最终推出优质软件。    1. 快速迭代    相对那种半年一次的大版本发布来说,小版本的需求、开发和测试更加简单快速。一些...
  • 流程”对应的英文是“Process”,在有些地方也译为“过程”,下文中“流程”和“过程”为同义词。由于敏捷宣言和原则总共篇幅不长,并没有完全说明其中问题,导致了如下有趣又矛盾的现象: 1,部分敏捷的执行者...
  • 敏捷开发简述

    2019-09-29 15:34:43
    敏捷软件开发(英语:Agile software development),又称敏捷开发,是一种从1990年代开始逐渐引起广泛关注的新型软件开发方法,是一种能应对快速变化需求的软件开发能力。它们的具体名称、理念、过程、术语都不尽...
  • 敏捷开发是个啥

    2019-04-01 10:18:32
    今天来篇正经的,从软件工程的角度来聊一聊敏捷开发模式,文章分两部分: 第一部分通过举例和对标其他行业聊聊软件开发模型的发展演进。 第二部分聊聊敏捷的核心思想。 敏捷开发是互联网界比较流行的软件开发模式...
  • 软件开发模式之敏捷开发(scrum) 版权声明:本文为博主 ...这几年关于敏捷开发在互联网企业中越来越广泛被使用到,运用的比较多的当属scrum敏捷开发和xp敏捷开发,人人都在谈论敏捷开发。那什么才是敏捷开发...
  • 转自:http://blog.csdn.net/lifuxiangcaohui/article/details/48342315 敏捷开发工具“看板”,该词汇来自于岛国,当我看到看板的英文时,我真的惊呆了,看板竟然就是 Kanban?!我们可以结合 Scrum 与 Kanban...
1 2 3 4 5 ... 20
收藏数 17,368
精华内容 6,947
关键字:

敏捷开发流程 英语