在转向敏捷之后,很多团队开始使用“用户故事”一词。用户故事是一种简单而优雅的技术,可以收集客户需求。然而,它需要一定的理解和实践才能用User Stories构建出色的软件。

让我们仔细看看用户故事是什么以及如何使用这种技术取得成功。

什么是用户故事?

用户素材是对功能的简短描述,它为用户或客户带来价值,团队可以在迭代中提供这些功能。

用户故事应该回答3个问题:

  • 我们为谁建造它? - 作为<用户类型>
  • 我们在建什么? - 我想<feature>
  • 我们为什么要建造它? - 这样<值或利益>

在此之后,用户故事的典型格式是:

作为<用户类型>,我想要<feature>,以便<value或benefit>。

用户故事示例:作为注册用户,我希望能够将我的图片下载到我的个人资料中,以便其他用户可以看到我的样子。

有没有创建用户故事的程序?

没有正式的过程来创建用户素材。尽管如此,还是应该遵循一条准则来创建一个好的用户故事。它被称为3 C,由极限编程的创始人之一Ron Jeffries提出。

  • 该卡是用户故事的书面说明。它没有捕获有关应该构建的内容的所有详细信息。相反,它是一个提醒,是对必须进行的后续通信的承诺。
  • 对话用于讨论用户故事的细节。它可能会被一些文档补充。
  • 确认由用户验收测试表示,确保用户故事满足用户/客户的验收标准。

如何撰写高质量的用户故事

确保用户故事具有适当质量的良好做法是遵守Bill Wake的INVEST首字母缩略词的标准。INVEST还有助于确定用户故事是否已被充分理解并为开发团队开始工作做好准备。

  • 独立 - 用户故事不应该依赖于另一个用户故事,因此用户故事可以按任何顺序开发。
  • 可协商 - 用户故事的详细信息通过产品负责人和开发团队之间的口头对话进行协商。
  • 有价值 - 用户故事应该为用户/客户带来所需的价值。
  • 估计 - 开发团队应该很好地理解用户故事来估计它。
  • 小 - 用户故事应足够小,以适应迭代。
  • 可测试 - 应为用户故事编写正确的验收标准,以便进行验证。

什么不是用户故事?

让我们对自己说实话:用户故事不能通过其定义成为“技术用户故事”,因为在这种情况下它不会给用户/客户带来直接价值。不过,许多团队喜欢在需要执行代码重构等技术任务时创建用户故事。我建议将其他工作项用于此类任务,并与您的产品负责人就此类工作达成一致,以便了解为何需要这样做。这同样涉及非功能性需求任务,界面设计任务,复杂的用户交互任务或错误。您可以自由地为这些任务创建其他工作项。例如,Constraint Story可用于表示非功能性需求。用户故事是捕获产品功能的绝佳技术,但我们没有义务将其用于所有目的。

谁是用户?

在编写用户故事之前,应该清楚地了解创建用户素材的用户是谁。有时它被新用户故事技术的团队所忽视,他们最终创建了具有不必要功能的软件。因此,做一个适当的用户研究,让你的所有用户类型或用户角色或角色写下来并描述。可以帮助您解决此问题的两种技术是用户角色建模和角色。

谁负责撰写用户故事?

通常,客户代表(例如产品负责人)负责用户故事。尽管如此,用户故事并不是从顶级到团队的规范,而是产品负责人和团队之间的协作技术。这就是为什么如果用户故事是协作编写的话会更好。一个很好的方法是做一个故事写作研讨会。

细节在哪里?

由于用户故事不是规范,因此详细信息以不同方式传达:

  • 3 C指南中的第二个“C”是Conversation。对话是敏捷最重要的方面之一。因此,大多数细节都是通过客户代表和开发团队之间的口头沟通来传达的。
  • 第三个“C”是确认。用户验收测试确认用户故事满足用户/客户的验收标准,并且它们用作正式的文档详细信息。BDD(行为驱动开发)是一种编写验收测试的好方法。
  • 如果需要,某些用户故事可能包含其他书面详细信息。

你怎么知道用户故事何时完成?

使用“完成定义”技术。简而言之,Done的定义是团队成员之间对工作完成意义的共同理解。完成的定义通常以活动清单的形式创建,其表明商定的价值(用户验收测试以满足用户验收标准)和质量(以满足质量标准)。团队有时会忽略最后一个,在迭代结束时,什么可以使用户故事不可能发送给客户。完成技术的定义有助于避免这种情况。

完成定义的示例:

完成时间:

  • 单元测试通过
  • 代码经过同行评审
  • 用户验收测试通过
  • 集成测试通过
  • 回归测试通过
  • 用户指南已更新

如何开始定义产品范围?

在项目开始时,我们需要定义产品的粗略范围,以便对其有全局视野。这可以通过Epics完成。史诗是一大块工作,有一个共同的目标。Epic可以被视为占位符,用于稍后创建的更详细的用户故事。Epic通常需要多次迭代才能完成。

什么是组织用户故事的最佳方式?

使用由Jeff Patton发明的故事映射技术 (User story Mapping)。故事映射代表了一种自上而下的需求组织方法,也是确定优先级和规划的好方法。

对BABOK®Guidev2的敏捷扩展指出:

“故事映射提供了解决方案支持的活动序列的视觉和物理视图。它使用二维网格结构来显示产品在水平维度上的关键方面的顺序和分组,详细信息和优先级关于垂直维度的故事。故事映射是一种分解技术,它允许从端到端视图开始逐步理解解决方案,并深入到详细的用户故事。

故事映射示例 (Visual Paradigm User Story Mapping):

https://www.youtube.com/watch...

User Stories - 最佳实践 (Best Practices)相关推荐

  1. azure多功能成像好用吗_Azure持久功能简介:模式和最佳实践

    azure多功能成像好用吗 Authored with Steef-Jan Wiggers at Microsoft Azure 由Microsoft Azure的Steef-Jan Wiggers撰 ...

  2. 使用Typescript和React的最佳实践

    by Christopher Diggins 克里斯托弗·迪金斯(Christopher Diggins) 使用Typescript和React的最佳实践 (Best practices for us ...

  3. 升级到vCenter Server 6.5的最佳实践(2147686)

    升级到vCenter Server 6.5的最佳实践(2147686) 最近更新时间: 6/23/2019分类:最佳做法 1个 订阅  目的 本文提供了vCenter Server 6.5和相关组件的 ...

  4. [洪流学堂]Hololens开发:Unity3d与Visual Studio最佳实践

    本教程基于Unity2017.2及Visual Studio 2017 本教程编写时间:2017年12月7日 Hololens开发:Unity3d与VS最佳实践(best practices) 使用U ...

  5. angular 最佳实践_干净高效的Angular应用程序的最佳实践

    angular 最佳实践 by Vamsi Vempati 由Vamsi Vempati 干净高效的Angular应用程序的最佳实践 (Best practices for a clean and p ...

  6. 移动应用程序和网页应用程序_2020年移动应用程序设计最佳实践

    移动应用程序和网页应用程序 重点 (Top highlight) Optimal mobile app design is all about personalized communication, ...

  7. Web 站点提速的最佳实践(Best Practices for Speeding Up Your Web Site)

    Web 站点提速的最佳实践(Best Practices for Speeding Up Your Web Site) 太阳火神的美丽人生 (http://blog.csdn.net/opengl_e ...

  8. LLMs:OpenAI 官方文档发布提高 GPT 使用效果指南—GPT最佳实践(GPT best practices)翻译与解读

    LLMs:OpenAI 官方文档发布提高 GPT 使用效果指南-GPT最佳实践(GPT best practices)翻译与解读 导读:为了获得优质输出,需要遵循几点基本原则: >> 写清 ...

  9. Arm Mali GPU最佳实践(Arm Mali GPU Best Practices)

    (部分收录) 简介 本文设计为快速查询指南,所以假设读者熟悉了底层API的使用:我们将在其它文章中更详细地去讨论特定的主题,并花更多时间向仍在学习API的开发人员解释相关的概念. 注意:这些建议是为M ...

最新文章

  1. 2019学习Python的10个原因
  2. 水稻微生物组时间序列分析2a-相关分析
  3. Java学习笔记(必看经典)
  4. 局域网组建与维护(1)
  5. Lazada代运营怎么样?需不需要找?如何选择一家靠谱的公司
  6. VTK修炼之道77:交互部件_分割/配准类Widget与其他Widget
  7. laravel mysql增删改查_Laravel框架数据库操作的增删改三种方式 阿星小栈
  8. 异常java.lang.Thread.dumpStack(Unknown Source)
  9. BZOJ 2768 [JLOI2010]冠军调查
  10. apache的php扩展名解析漏洞
  11. php怎么读,php 怎么读写文件?
  12. centos8安装mysql_Linux宝塔面板安装
  13. 计算机辅助 高等数学教学,高等数学计算机辅助教学理论的探讨(6页)-原创力文档...
  14. docker容器无法使用top命令
  15. 色彩缤纷的python(改变字体颜色及样式)不是我写的
  16. 制作自己的微信小程序要怎么做?
  17. Word多级标题设置,一级标题是汉字数字,其他级别是阿拉伯数字
  18. 2022年西式面点师(中级)考试题及模拟考试
  19. 【多任务优化】DWA、DTP、Gradnorm(CVPR 2019、ECCV 2018、 ICML 2018)
  20. 博客摘录「 2022年C语言程序设计题库习集带答案(史上最全版)」2023年5月2日

热门文章

  1. 智慧政务解决方案(28页)pdf_【金众电子】智慧政务解决方案
  2. 预约清单ui设计_持续交付质量设计所需的UI清单
  3. 同态加法_同态的Spotify
  4. Java应用集群下的定时任务处理方案(mysql)
  5. Atom常用功能插件
  6. wpfのuri(让你完全明白wpf的图片加载方式以及URI写法)
  7. 数据库读写分离 - MyBatis
  8. Android 的滑动分析以及各种实现
  9. android 8种对话框(Dialog)使用方法汇总
  10. java虚拟机学习-JVM调优总结-新一代的垃圾回收算法(11)