传统的瀑布工作模式使用详细的需求说明书来表达需求,需求人员负责做需求调研,根据调研情况编制详细的需求说明书,进行需求评审,评审之后签字确认交给研发团队设计开发。在这样的环境下,需求文档是信息传递的主体,也是一份契约。
然而详细的需求说明书有以下5大弊端:
- 单向的信息传递,容易出现理解偏差。
- 文档很正式,我们会误以为它一定是对的,不去质疑它,让我们停止做出判断。
- 有了详细的文档,我们不会反复讨论它,相互确认。
- 书面文档不利于团队共享责任,它扮演了证据的角色。Scrum强调团队共享责任,不论是需求人员、开发人员和还是测试员,大家的共同目标是通过讨论、协作,正确理解需求之后把这些需求变成客户真正需要的功能,而不是单向的任务传递。
- 编制详细的、表达准确需求文档需要花费大量的时间,如果需求变化频繁,维护成本更高。
敏捷使用产品Backlog来管理需求,产品Backlog是一个需求的清单,按照需求的商业价值排序, 高优先级的需求在Backlog的最上层。产品Backlog是一个渐进明细的清单,它有4个主要特点,称之为DEEP:
- Detailed 合适的详细程度,高优先级需求更加明细,低优先级的需求粒度更大
- Emergent 涌现式的,需求是慢慢涌现出来的,渐进明细的
- Estimated 经过估算的
- Prioritized/ Ordered 根据商业价值排好顺序的
在产品Backlog中,需求的主要表现形式是用户故事。用户故事是从用户的角度对需求的简短描述。用户故事是将团队的焦点从描述、编写功能需求转移到讨论需求的最佳方式。
用户故事是从用户的角度来描述用户渴望得到的功能。一个好的用户故事包括三个要素:
- 角色:谁要使用这个功能。
- 活动:需要完成什么样的功能。
- 商业价值:为什么需要这个功能,这个功能带来什么样的价值。
用户故事通常按照如下的格式来表达:
英文:
As a <Role>, I want to <Activity>, so that <Business Value>.
中文:
作为一个<角色>, 我想要<活动>, 以便于<商业价值>。
比如:作为一个网站的普通会员,我期望在我下订单后,未发货之前可以取消订单,这样对我来说更灵活。
Leangoo领歌是一款专业的敏捷开发管理工具,提供端到端敏捷研发管理解决方案,涵盖敏捷需求管理、任务协同、进展跟踪、统计度量等。
敏捷需求管理
我们可以通过Leangoo领歌敏捷工具创建一个产品Backlog看板,来管理敏捷需求。
在Leangoo领歌敏捷看板上,我们可以自定义创建多个列表,在每个列表上添加需求卡片。
通常我们在产品backlog看板中创建这几个列表:“用户故事池、用户故事待梳理、用户故事梳理完成、用户故事实现中,用户故事已完成”
一般“用户故事梳理完成”的优先级最高,用户故事池的优先级最低。下图就是一个产品Backlog看板的示例:
上图需求卡片右下角的图标代表了这张故事卡的故事点数,对这个故事的一些讨论,以及故事的验收测试要点等。验收测试要点以检查项的方式体现。
除了工作量,评论,检查项,我们还可以给卡片设置截止日期、标签等,通过标签对卡片进行分类或卡片优先级排序等。如下图所示:
用户故事添加完成后,团队可以对优先级较高的用户故事进行梳理。可以将完成用户故事需要的任务项添加到卡片内的检查项中,以便后续用户故事规划到Sprint中后,方便拆解成更小的任务卡片。
通过列表流转,让团队直观的了解需求的优先级和规划安排
需求规划至迭代看板进行迭代
- 迭代开始前,我们需要将已梳理完成且优先级高的用户故事规划到迭代看板内,以便准备迭代中需要完成的内容。
- 点击“Sprint规划”按钮,将计划在“Sprint1”内做的用户故事拖拽到“Sprint1”看板内。
每个迭代中都有一个重要的Sprint进度统计 — 燃尽图。
燃尽图是Scrum中的一个简单实用的团队进展跟踪的工具,能形象地展示当前迭代中的剩余工作量和剩余工作时间的变化趋势,一般在每日站会时团队会通过燃尽图来了解当前Sprint冲刺速度情况。
Leangoo领歌会根据故事卡片的变化自动生成发布燃尽图。
点击看板右侧“菜单”,选择“看板统计”即可查看燃尽图,如下图所示:
每个迭代完成率
迭代完成率是统计项目内每个迭代看板的完成情况。
配置好看板周期和燃尽图,Leangoo会自动统计每个迭代看板的完成情况,并且自动生成可视化统计图表,以便管理层可以一目了然的看到每个迭代完成进度。
统计每个迭代团队速率
团队速率是Scrum团队在一个Sprint中实际完成的工作量(通常使用故事点做为团队速度的单位)。
每个Sprint结束后,Leangoo领歌会自动记录当前Sprint完成的工作量,并且自动生成团队速率的可视化统计图表,以便团队可以了解团队效率变化的趋势并进行分析。
通过上述的方式及统计,我们就可以很好的管理敏捷需求了。
最后还有一点提醒,敏捷强调透明性,所以,可视化管理产品backlog很重要,如果条件允许,我们可以考虑通过大的显示屏幕将产品Backlog进行可视化,有触屏大电视会更好。