需求学习笔记(1)
作者:互联网
作为一个<角色>,我想要<活动>,以便于<商业价值>。
- 描述用户故事
- 如何拆分用户故事(以脑图的形式进行)
- 用户准确的知道自己想要什么。
- 开发人员能够完全理解用户在说什么。
- 需求在研发过程中不会发生变化
- 用户故事强调对话而不是书面沟通。
- 故事更容易被客户和开发人员理解。
- 用户故事大小适中,适合做迭代计划。
- 用户故事鼓励重要的事情先做。
- 鼓励推迟决策,延迟考虑细节。
- 支持随需求而变的开发。
- As a <Role>, I want to <Activity>, so that <Business Value>.
- Card(卡片):我们在用户故事编写工作坊中使用贴纸或卡片编写,随后录入到DevCloud成为工作项,展现方式可以是卡片、列表或树状结构。卡片代表需求而不是记录需求,详尽的需求内容可以用其他文档表述。
- Conversation(讨论):讨论的过程建议是面对面的,如果与DevCloud的成员一样,分布在不同地域,可以通过电话或IM工具(华为内部用eSpace,可以聊天,也可以语音、视频)进行,将重要的结论写在工作项提供的讨论功能中。简单的讨论可以直接通过工作项的讨论进行,但需要牢记的是,文字的讨论永远无法取代面对面或是电话的沟通。
- Confirmation(确认):用户故事并不具备契约性质,达成协议的验证要点是测试的依据,用来验证用户故事是否符合用户的期望。在用户故事编写工作坊中,验证信息可以写在故事卡片的背面,随后录入工作项。针对每一个测试要点都应该变成完整的测试用例,测试用例会与需求进行关联,由此完美的将3C结合在一起。
- 卡片是用户故事的展现形式,我们会切换到迭代视图的卡片模式,通过拖动卡片完成状态更新。
- 讨论是沟通的方式,不要让讨论的内容蒸发掉,讨论过程中最大的浪费就是大量的信息随后被遗失掉了。我们通常在Story工作项的评论中记录讨论结果,或是直接在评论中进行讨论,并用@通知他人。
- 确认是验收方式,验收信息可以填写在描述信息中,也可以在项目设置中在Story工作项的模板中添加一个属性字段完成,具体实现方式不一,并且实现起来非常灵活,所以并未做进预置的项目模板中。
- 由验收信息生成的测试用例,会关联到工作项的“关联用例”中。
- 在对话和沟通的过程中会产生的有用信息,可以通过Wiki(知识共享)、Docman(文档协同)来保存,并且可以关联到Story工作项。
- 可以将现有的文件添加为工作项的附件。
- 用户访谈
- 故事编写工作坊
- 问卷调查
- 观察
- Epic通常是公司重要战略举措或者巨大的需求,例如做一个电商网站就是一个Epic。
- Feature通常是在Epic之下,对用户有价值的功能,用户可以通过使用特性满足他们的需求。比如“电商网站”的 “门店网络查询功能”,特性通常会通过多个迭代持续交付。
- Story通常是对一个功能进行用户场景细分,并且能在一个迭代内完成,Story通常需要满足INVEST原则:Independent(独立的),Neogotiable(可讨论的),Valuable(对客户/用户有价值的),Estimable(可估计的),Small(小的),Testable(可测试的)。
- Story又可以继续拆成Task
- 典型的非功能性需求包括:性能、可移植性、可扩展性、可用性、易用性、可维护性、可重用性、可操作性、安全性、容量等。
- 技术类需求的例子包括:重构、搭建持续交付流水线、测试自动化活动、环境的维护与搭建、架构改造等。
- 在需求收集和引导的前期,例如需求编写工作坊,建议采用纸质卡片,便于交互,并且卡片的有限文字空间保证了我们不会过早进入细节。
- 当需求收集告一段落,统一将需求录入到DevCloud平台,需求不只是Card一个维度,多方位的信息需要有工具平台来支撑和记录。同时平台也提供了团队成员之间的协同,DevCloud团队异地的协同场景就是基于DevCloud平台进行的。
- 进行故事优先级排序时
- 不要着急给用户故事添加细节,遵循Kent Beck提出的最后责任时刻原则(Last Responsible Moment),团队要等到开始实现软件特性前才写下特性的具体细节,优先级排序,近期、中期、长期需求的详略程度。
标签:需求,Story,DevCloud,卡片,故事,用户,笔记,学习 来源: https://www.cnblogs.com/fanfan0987/p/15775646.html