预见·软件测试技术预见·敏捷Sensitive

Scrum(1) | 敏捷入门与 Scrum 计划会

2018-01-21  本文已影响142人  厲铆兄

项目实践二:1-计划会

敏捷项目是从计划会开始的。计划会的开展,一般需要两个小时以上,详细规定了项目的方法面面的规范,目的是选择和估算本次迭代的工作项。

1. 敏捷开发测试背景知识

1.1 Scrum过程

Scrum是一种兼顾计划性与灵活性的敏捷开发过程,原词来自于橄榄球中的“带球过人”。在橄榄球比赛的每次冲刺前,都将有一个计划安排的过程,但冲刺开始后则由队员在原计划的基础上随机应变。

Snap1.jpg

不同于瀑布模型将开发过程划分为需求、设计、编码、测试等阶段,Scrum将整个开发过程分为多次迭代(称为Sprint,冲刺),一般为期2~4周。

在日常工作时,产品负责人会维护一个按优先级排序的“产品待开发项”(Product Backlog),即从客户价值理解和描述的产品功能条目。

在每次迭代的第一天,召开迭代计划会(Sprint Planning Meeting)。产品负责人会逐一挑选最高优先级的部分进行讲解。团队可就需求细节、完成标准等进行询问,并逐条估算,放入本次迭代的开发任务中,直至任务量饱和。一旦迭代开始,这些任务将不会发生大的变化。

在迭代期内,团队将决定任务分配、所需的技术等,逐一完成任务。每天团队会进行一个简短的站立会议即每日立会 Daily Stand-up Meeting,沟通当前进度、下一步任务和当前存在的问题,以借助团队的力量解决。团队还维护一张“燃烧图”(Burn Down Chart),即所有任务的累积剩余时间随开发进程与日递减的图形,以观察和预测所有任务是否会按期完成。

在每个迭代的最后一天,团队会召集评审会(Review Meeting),邀请产品负责人等参加,对已经完成的产品功能条目进行评审,后者做出判断并给出改进反馈。当天还会召开反思会(Retrospective Meeting),对本次迭代中的成功与失败之处做出总结,并在以后迭代中进行改进。

1.2 用户故事

用户故事:描述具体的需求的卡片。

作为一个……,可以……,以便……样式和思路写成的用户需求,就是用户故事。
这种样式是技法层面的东西,它保证了无需太多思考,用户故事中即可全面包含角色、功能、价值这三个要素。
要想写好用户故事,要改变那种面向功能而非客户需求的纯技术观念。

需求分解为任务,由开发完成,实现功能。

需求费解为用例,有测试完成,验证功能。

1.3 敏捷日常跟进

2. 计划会

3. 每日立会

  1. 汇报内容

    1. 我昨天做了什么事情(完成什么需求的测试?开发?)
    2. 我今天准备做什么事情
    3. 我目前有什么用的困难(挑战)
      1. 缺乏数据库权限
      2. 缺乏服务器系统用户权限
      3. 技术问题
      4. 业务问题
      5. 时间问题
  2. 燃尽图

    统计需求:产品本身的需求(或者需求分解的任务总数) + 产品级对应的测试任务数

  3. 每日站会中,每个团队成员需要回答3个问题。通过这3个问题,我们可以得到两个层面的信息:

    • 团队内信息的透明度,整个团队的进度以及距离Sprint目标还有多远;
    • 同时是否存在障碍

    每天团队都会得到反馈,并可以根据得到的反馈做出调整。

    如果不是每天开站会,那么就可能:

    1. 团队内有些信息会隐藏。有的团队反映说团队小(比如4-5人)并且大家都坐在一起,随时都会沟通,没必要每日站会。而实际上团队内的沟通在多数情况下只有相关2-3人一起,而不是整个团队一起。因此每日站会还是非常有必要的(同步、透明化信息);
    2. 团队错过最佳的调整机会。每日站会中,团队可以得知距离Sprint目标有多远,是否存在障碍或者问题。尤其存在障碍时,需要整个团队共同努力,来想办法解决。这不是说发现问题了只有在每日站会才说出来,而是发现问题马上暴露,但每日站会需要正式得让整个团队得知情况(一般这类信息容易在2-3人之间讨论);
    3. 团队没有仪式感。每日站会可以让团队形成规律,每天固定时间、固定地点所有团队成员凑在一起同步信息和进度,很容易团队成员可以形成仪式感,这是一个非常重要的事情。

4. 项目迭代

  1. Web手工测试准备
  2. 自动化测试环境搭建
  3. APP测试准备
  4. SVN配置
  5. 禅道项目管理工具配置
上一篇下一篇

猜你喜欢

热点阅读