在把用户故事切分成小块,从而更好地利用
敏捷技术时,很多新组建的敏捷团队都会遇到困难。 敏捷社区的成员在多篇
文章中为如何有效地切分用户故事提供了指导。
当把庞大的用户故事切分成小块时,是否有一些一般的准则供我们遵循呢? Rachel Davies建议对每个用户故事都要进行切分,从而让产出的软件:
· 交付价值
· 能有效地得到用户的反馈
Richard Lawrence提供了以下技术,他认为在切分大型用户故事时它们会很有用:
根据工作流程的步骤来切分故事——可能是把简单的首尾循环的用例作为一个故事,然后让工作流中的其它步骤作为单独的故事。
切分故事,让业务规则中的每种变化都是其自身的故事。
把故事切分为“实现第一个[X]”,然后“实现其它[X]”。 当实现第一个[X]的时候所要付出的努力要比实现之后的所有[X]所要付出的都大时,就可以应用这种方法。
当面对复杂故事的时候,把故事最简单的版本切分为单独的故事。
通过故事所操作的数据类型来切分。
通过找到简单数据输入方法和更复杂方法之间的区别来切分故事。
把对当前故事的性能的考虑转移到一个或多个新故事中。
按照创建-读取-更新-删除(CRUD)来切分故事。
最后一种方法,创建一个spike故事,从而描述出如何实现特性。
Rachel Davies提供了关于如何根据输入/输出的数据来切分故事的细节:
你可以为每个输入页面创建故事。
你可以为输入页面每个可用的元素创建故事。
你可以创建简单的(不是很漂亮的)UI。
你可以创建一个命令行界面。
此外,Bob Hartman为切分故事提供了以下技术:
在涉及到多个角色的故事中,根据角色来对其进行切分。
切分故事,使得高风险的部分和低风险的部分分离。
切分故事,从而使能够在每个故事上工作的开发者数量最大化。
你认为最有用的切分用户故事的方式是什么呢?