敏捷这个话题大家一直都在谈论,也有很多关于敏捷的工具或方法,那什么才是敏捷开发呢?

什么是Scrum?

Scrum的英文意思是橄榄球运动的一个专业术语,表示“争球”的动作;把一个开发流程的名字取名为Scrum,我想你一定能想象出你的开发团队在开发一个项目时,大家像打橄榄球一样迅速、富有战斗激情、人人你争我抢地完成它,你一定会感到非常兴奋的。

而Scrum就是这样的一个开发流程,运用该流程,你就能看到你团队高效的工作。

什么是敏捷开发?

敏捷开发(Agile Development)是一种以人为核心、迭代、循序渐进的开发方法。

在敏捷开发中,软件项目在构建初期被分成n个子任务,每个子任务成果都经过测试,具备可视、可集成和可运行使用的特征。这些子任务是相互关联的,但又可以独立运行,并分别完成的,在整个过程中软件是一直处在可使用的状态。

 

Scrum开发流程中的三大角色

Scrum 提供了三类角色,分别是:Product Owner(一般由产品经理担任)、Scrum Master(一般由开发经理担任)、Scrum Team(包括开发与测试人员),其中,Scrum Master 的角色至关重要,对项目的成败起决定性作用。

– 产品负责人(Product Owner)

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

– 流程管理员(Scrum Master)

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

–开发团队(Scrum Team)

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

 

Scrum流程图

浅谈敏捷开发之Scrum

如何进行Scrum开发?

一、产品功能列表(Product Backlog)

产品负责人与客户沟通好需求后,将客户的需求细化为一个个的Story(用户故事,也可以看做是用户需求点),最终形成产品功能列表(按优先顺序排列的一个产品需求列表)。

二、计划会(Sprint Planning Meeting)

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

三、迭代任务(Sprint Backlog)

Sprint Backlog是由Scrum Team去完成的,每个成员根据Sprint Backlog再细化成更小的任务(Task)。每个Task 的时间最好不要超过8小时,保证在1个工作日内完成,如果 Task 的时间超过了8个小时,就说明Task的划分有问题,需要特别注意。

四、每日站会(Daily Scrum Meeting)

在Scrum Team完成计划会议上选出的Sprint Backlog过程中,需要进行 Daily Scrum Meeting(每日站立会议),每次会议控制在15分钟左右,每个人都必须发言,并且要向所有成员当面汇报你昨天完成了什么,并且向所有成员承诺你今天要完成什么,同时遇到不能解决的问题也可以提出。参会人员可以随意姿势站立,任务看板要保证让每个人看到,当每个人发言完后,要走到任务版前更新自己的看板和燃尽图。

五、燃尽图(Burn Down Chart)

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

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

浅谈敏捷开发之Scrum

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

七、演示会议(Srpint Review Meeting)

当一个Story完成,也就是Sprint Backlog被完成,也就表示一次Sprint完成,这时,我们要进行演示会议(Srpint Review Meeting),也称为评审会议,给产品负责人展示成果,也就是展示哪些事项可以挪到完成事项那一栏,并接受评价。这是一场公开的会议,任何人都可以是参与,不仅仅包括产品负责人、Scrum主管及开发团队,还包括利益相关者、管理人员与客户。

团队应该只展示那些符合完成定义的事项,也就是全部完成,不需要再做工作就能交付的成果。这个成果或许不是完成的产品。但至少是一项完整的、可以使用的功能。

八、回顾会议亦或反思会(Sprint Retrospective Meeting)

最后就是回顾会议,以轮流发言方式进行,每个人都要发言。团队展示之前Sprint(迭代任务亦或冲刺)中已完成的成果,大家思考一下下一个sprint阶段中哪些方面可以改善。

回顾会议切记去责备他人,而是需要关注流程。团队必须有勇气把真正的问题暴露出来,这样做是为了解决问题,而不是为了指责某个成员。成员之间须认真探讨,虚心接受他人的意见和建议,以便解决自己的问题,提供自己的效率。

总结并讨论改进的地方,放入下一轮Sprint的产品需求中。

回顾会议之后,利用在之前的Sprint过程中,团队在消除障碍、改善流程方面积累的经验,立即开始新的Sprint阶段。

 

相关文章:

  • 2022-02-09
  • 2022-02-07
  • 2021-06-02
  • 2022-01-11
  • 2022-12-23
  • 2021-04-08
猜你喜欢
  • 2021-12-05
  • 2021-11-24
  • 2021-11-03
  • 2022-02-07
  • 2021-12-18
  • 2021-08-09
  • 2021-12-29
相关资源
相似解决方案