一. 什么是用户故事
1. 用户故事三要素
用户故事就是说明用户因为什么情况做什么事情。表达对用户有价值的功能。用户故事一般包含角色、功能和价值。
角色:代表谁使用这个功能
功能:需要完成什么样的功能。
价值:为什么需要这个功能,这个功能带来什么样的价值。
2 . 3C理论
用户故事的描述信息以传统的手写方式写在纸质卡片上,所以Ron Jeffries(2001)对这三个方面称为3C:卡片(Card)、对话(Conversation)和确认(Confirmation)。
二. 如何编写用户故事
一个好的用户故事应该具备六个特征:独立、可讨论、对用户或客户有价值、可估算、尽量小、可测试
独立(Idependent):保持故事间的相互独立,以便方便对故事排列优先级或做计划。可通过将关联故事合并,或故事拆分的方式保持独立性
· 可讨论(Negotiable):用户故事只是一个的简短描述,不要太多细节,否则会限制团队的想法和沟通。更多的细节在团队的讨论中产生。用户故事是用来进行关于需求对话,不是具体的需求。
· 对用户或客户有价值的(Valuable):用户故事应该很清晰地体现对用户或客户的价值,描述的时候站在用户的角度去编写。如果能让用户写是最好的,这样更真实准确。
· 可估算的(Estimable):这是一个很重要的环节。开发团队需要估计一个用户故事以便确定优先级,工作量,安排计划。是否能完成,不能完成的话理由是什么?是知识匮乏、故事太大?
· 小的(Small):用户故事在工作量上要尽量小,最好不要超过10个理想人/天的工作量,至少要确保的是在一个迭代中能够完成。一旦太大,可能存在一系列的风险。
· 可测试的(Testable):故事必须是可测试的。以便于确认它是可以完成的如果一个用户故事不能够测试,那么你就无法知道它什么时候可以完成。那就没办法知道这个做的到底好不好用了。