2014-08-14 20:08:00 wolfseek 阅读数 948
  • 敏捷开发——SCRUM

    SCRUM是当前较火的一种敏捷开发方法,有用户故事、冲刺、燃尽图等很多很酷的玩法,有牛B的产品负责人、SCRUM Master,有很强的自组织团队。

    13676 人正在学习 去看看 张传波

 

1.1. 敏捷开发的目的

质量风险前移

适应需求变化

及时总结、思考和促进团队成长。

 

 

2.      User story和需求列表的不同

需求栈通常如下:

序号

功能

详细描述

1

功能1

…………………………………………

2

功能2

………………………………………….

 

 

 

 

 

 

 

为完成以上功能,我们通常会将任务按重要性,和依赖性对其的优先级排序,排在前的优先做。这是在开发过程中惯用的手法。

可是每个功能开发该估计多少工作量呢?这个数据确实千差万别,同时按功能实现还有一个缺点,有些功能只有接口,没有界面。如后台功能。这导致测试没办法正常介入。只有当后继的支持功能和界面完成以后,测试才能介入。同时后继开发也面临着问题,包括上次迭代不完整引起的重构问题,上次迭代遗留的BUG可能很多。

 

出现这些问题的实质原因在区分清楚user story和需求列表的区别,特别是在敏捷开发中的区别。

敏捷开发,崇拜的价值交付,每一个迭代的交付都是有价值的。传统开发模式下任务是横向切的。


横向切的意思就是先做数据存储,再做数据访问,再做业务,再做界面。你可以看见当界面没有成型时测试是没有办法有效介入的。

而敏捷是竖直切的。


没一个迭代都有完成的数据存储,数据访问,业务和界面的实现。通过每一步迭代完成一套功能。

l  概括起来,敏捷的userstory有如下的特点:

l  已工作场景为单位描述

l  每个user story相对独立

l  可讨论的,能够支持开发,需求,客户三者,基于场景沟通。(一个功能是无法承担这样任务的)。

l  有独立的价值。客户可以付钱来卖的。

l  可估计,可预算的。包括了技术上是能实现的,方案和业务逻辑是可实施的,时间上是可估计的。

l  小到一个迭代内可完成的。

l  可测试的。

 

在实际的开发过程中,也会对userstory排序,排序是更具user story对用户的价值为准则,价值高的先开发。

2019-09-19 21:57:41 qq_39188747 阅读数 682
  • 敏捷开发——SCRUM

    SCRUM是当前较火的一种敏捷开发方法,有用户故事、冲刺、燃尽图等很多很酷的玩法,有牛B的产品负责人、SCRUM Master,有很强的自组织团队。

    13676 人正在学习 去看看 张传波

敏捷开发:

      就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态

优点:

1、敏捷开发的高适应性,以人为本的特性。

2、更加的灵活并且更加充分的利用了每个开发者的优势,调动了每个人的工作热情。

缺点:

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

传统瀑布开发优缺点:

优点:

1. 为项目提供了按阶段划分的检查点。

2. 当前一阶段完成后,您只需要去关注后续阶段.

3. 它提供了一个模板,这个模板使得分析、设计、编码、测试和支持的方法可以在该模板下有一个共同的指导

缺点:

1. 各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量。

2. 由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发风险

3. 通过过多的强制完成日期和里程碑来跟踪各个项目阶段。

4. 瀑布模型的突出缺点是不适应用户需求的变化

 

Scrum开发流程中的三大角色 

产品负责人(Product Owner)

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

流程管理员(Scrum Master)

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

开发团队(Scrum Team)

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

过程:

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的产品需求中

2019-09-29 14:50:05 weixin_45650019 阅读数 32
  • 敏捷开发——SCRUM

    SCRUM是当前较火的一种敏捷开发方法,有用户故事、冲刺、燃尽图等很多很酷的玩法,有牛B的产品负责人、SCRUM Master,有很强的自组织团队。

    13676 人正在学习 去看看 张传波

敏捷管理和传统的瀑布式管理的特性区别
在这里插入图片描述
Scrum的大概样子和特性
在这里插入图片描述
更多免费项目管理软件请参考项目管家

2008-03-13 22:10:00 zwywilliam 阅读数 462
  • 敏捷开发——SCRUM

    SCRUM是当前较火的一种敏捷开发方法,有用户故事、冲刺、燃尽图等很多很酷的玩法,有牛B的产品负责人、SCRUM Master,有很强的自组织团队。

    13676 人正在学习 去看看 张传波

看了一下XP编程和敏捷开发,越来越见识到了原来开发中面临的各种问题, 在这里把看到的一些原则、方法小结一下,我会不断补充有关的内容:

交流是敏捷开发必须的

用户是敏捷开发团队的一员,而不像传统那样跟开发没什么关系

敏捷开发需要把软件设计分成三个部分: 特性->用例->任务
特性:用户想看到的功能
用例:从特性分解而来,针对某个功能的使用案例,对应测试用例
任务:对用例进一步分解,每次要完成的一些功能

开发过程:发布->迭代->每日
发布:一个月到六个月发布一次可具有价值的软件
迭代:一周到4周产生一个可运行的,有新功能的软件
每日:完成若干的任务

建模是必须的,但又不能过度,也就是尽量简单,刚好完成现在的功能。

不能假定建模能一开始就能把细节完全做好

建模不等于写文档

测试先行,代码随后。我们写代码的短期目的就是为了通过原来不能运行的测试。

写测试用例可以暴露一些能解耦合的地方

重构:在不改变代码外在行为的情况下进行小改造

文档不一定要多,但一定要精

文档不是交流的主要载体。交流应该建立在人身上。而代码要共同拥有,作为交流的一种有效载体。

不要假定团队每个人都有很强的能力。开发本身就是一个学习的过程。

2017-01-05 20:46:21 basycia 阅读数 568
  • 敏捷开发——SCRUM

    SCRUM是当前较火的一种敏捷开发方法,有用户故事、冲刺、燃尽图等很多很酷的玩法,有牛B的产品负责人、SCRUM Master,有很强的自组织团队。

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

2.特性:

1. 快速迭代 
2. 让测试人员和开发者参与需求讨论 
3. 编写可测试的需求文档 
4. 多沟通,尽量减少文档 
5. 做好产品原型
6. 及早考虑测试 

3.敏捷开发宣言——

个体和交互 胜过 过程和工具
可以工作的软件 胜过 面面俱到的文档
客户合作 胜过 合同谈判
响应变化 胜过 遵循计划
虽然右项也有价值,但是我们认为左项具有更大的价值。

4.工具集:


1. 站会:三个问题,简洁有效的小团队沟通方式

2. 看板:直观反映工作进度,反映流程遵守情况,反映流程缺陷

3. 演示,计划,反思会:适合于小团队的协作和优化反馈方式

4. 用户故事:站在用户的角度讲需求

5. 持续集成:随时高质量交付的基础,有利于应对变化剧烈的市场

【项目】敏捷开发

阅读数 615

没有更多推荐了,返回首页