如何实践敏捷管理?

2019-03-04  本文已影响0人  跬步千里之1cm

因为之前工作是做产品经理,为了及时地迭代产品功能、满足客户需求,我之前待的两个团队都有实践过敏捷开发。

在某一个迭代的需求澄清会上,作为产品经理的我准备了下个迭代要做的几个需求。当时,研发经理提出来说 “需求澄清会跟下个迭代要做什么是没有关系的,产品经理要讲手头上可讲的所有需求。然后,研发再筛出来可做的需求来安排工作”。“ 嗯??” 心想,要回去系统地再了解看看。

然后回家开始翻起16年就购买的书:《用户故事与敏捷方法》,作者是Mike Cohn。

《用户故事与敏捷方法》书封面

如何实践敏捷?

1. 首先,收集故事

作者提出了收集故事很形象的一个词,叫“拖网”(trawling)。收集需求的过程,就像捕捞鱼一样,要用不同大小的网来捕获不同大小的需求。因为需求像鱼一样,会成长,也可能会死亡。重要性可能会降低,有时甚至降低到我们认为这些需求已经无效。

搜集故事的方法有:

同时,也可以通过与用户代理合作来收集故事。可以合作的用户代理有:

2. 根据收集来的需求,编写用户故事,并放入产品Backlog中

2.1 编写故事前,先对用户角色进行建模(约1小时)

方法:列表 >> 整合 >> 排列 >> 提炼

先头脑风暴,将这个产品目标用户的不同角色进行罗列,列个列表。这里要坚持的原则是,用户角色定义的是人,而不是其他外部系统。

根据上面列的用户角色,再做角色的整合。将多个类似角色,合并成一个单一的角色,也要丢弃对系统成功不太重要的角色。

之后是通过排列角色,展示已选角色之间的关系。最后,来提炼角色,描绘角色特征

在这一个角色建模的过程中,我们可以从以下几点,对该角色进行特征描述:

2.2 用卡片,记录用户故事

记录故事前,要先明白 “用户故事不是什么”

好,开始记录故事。

卡片代表的是客户需求,而不是记录需求。需求细节在“对话”中获得,并在“确认”部分得以记录。推迟细节很重要,因为这样一来,我们在不确定是否真正需要某个新特性时,可以不花过多时间来考虑它。

卡片正面记录故事

模板:“作为(角色),我想要(功能),以此(商业价值)。”

有时,上面还附着另一张卡片写着验收条件,也可以写约束故事卡片(约束卡不需要估算,也不会像普通卡片那样被安排到迭代中),标注“约束”。

卡片背面写测试故事的提示语句

可以是简短、不完整的描述。比如“A可以填写工作描述”的故事,可以写成“用空的工作描述来试试”或“用很长的工作描述来试试”等。

3. 召开一个Sprint计划会

有些团队会把Sprint需求的说明会和Sprint工作计划会隔开,我以前在的团队就是第二周周四是 “需求澄清会”,周五是“Sprint计划会”。具体看团队需求的量,以及沟通频次,哪个合适选哪一种。书里的做法是,将这两个会议放在一起了,即用“前半段” 和 “下半段” 来不同会议主题切分开了。

3.1 会议前半段,由产品负责人讲解故事

产品负责人把待开发的高优先级的功能介绍给Scrum团队,将下个迭代要进行的故事进行讲解,没有必要介绍产品Backlog的所有条目。(看到没,我看这本书的目的达到了,找到了答案!)

团队成员在讲解过程中,不断提出问题,讨论其中的一些用户故事,细化故事细节,确定验收标准。

3.2 会议下半段,团队决定下一迭代工作量

团队成员用计划扑克估算故事点。程序员估算一个故事时,要注意,应考虑完成这个故事需做的所有事。比如要全盘考虑测试代码、和客户讨论、可能帮助客户计划或自动化验收测试等诸多因素,不只是要考虑敲代码的时间。

️由程序员将故事分成一些小的任务,并估算工作时间后,根据历史值或预测来确定下个迭代的工作量,即确定要完成多少个故事点的需求。

之后,将故事放入Sprint Backlog中,并按照优先级排序。排列优先级需要考虑的事项有:

4. 执行Sprint

4.1 初始阶段,各同学要干嘛

准备一个Dashboard,将故事卡片和任务卡片都贴在白板上

Sprint一开始,将故事卡片和任务卡片都放在白板的Todo栏,团队成员按照故事的优先级挑选任务,将任务卡片挪到Doing栏。

故事的任务完成后,产品负责人验收并确认故事已完成,将故事卡片挪到Done栏。

确认测试用例

故事开发的初始阶段,测试人员和产品负责人一起确认测试用例。

注意,只有团队成员才向Sprint添加工作

即使是CEO也不能让团队去做产品负责人没有提出的工作。产品负责人也不可以改变主意,往该Sprint添加更多的功能。只有在团队觉得,自己已经把Sprint承诺的所有任务都完成的前提下,才可以向Sprint中增加新的故事。

如果,真有十分重要的事情发生了,需要调整,那就把现在的Sprint取消,重新开新的Sprint计划会,然后启动新的Sprint。

4.2 Sprint每日例会

会议组织者确保所有人只回答3个问题:

4.3 监控Sprint速率

有一个注意点,不用实际小时作为速率。计算速率是用迭代开始前分配的故事点数来计算。一旦迭代完成,就不要改变迭代中团队获得的任何故事点数。举个例子,假如一个故事估算是4个故事点,但其实更大。后来团队发现他们应该估7个故事点。在计算速率时,这个故事应该算4个点,而不是7个点。

主要的可视图表有:

4.4 故事验收测试

测试工作可以包括从故事卡背面写下测试描述开始,到将测试放入到自动化测试工具中的所有工作。一般在下面这些时候写测试:

测试类型有:

4.5 确定发布计划

如何确定发布功能优先级方面,可借用来自DSDM中排列优先级的方法,称之为莫斯科(MoSCoW)规则:

5. Sprint评审会

由开发人员演示本期迭代已开发的内容,团队审视自己是否达到了Sprint目标。


以上是一个完整敏捷迭代生命周期中的流程工作,比较简洁。如有任何问题,可留言继续交流。

上一篇下一篇

猜你喜欢

热点阅读