在《敏捷开发中的「史诗」到底是什么?》中我们解释了如何写好一个大型用户故事 —「史诗」的方法~

本期文章,我们从「写好“小”的「 用户故事」视角着手,深入、准确的理解敏捷开发和团队产出价值~

在深入理解产出价值前,我们先来聊一聊「用户故事」。

01、开卷有益—用户故事


敏捷是一种基于产出价值的开发方法,「以客户为中心」要求其所有产品功能在得到客户需求、认可后,优先开发。

找出谁是用户尤为重要。一旦所有的用户被识别出来,为他们产出和增加价值的需求就会被记录下来,这样的需求被人们称为「用户故事」。

「用户故事」的背后有一套逻辑,它体现了敏捷开发的核心思想和人们所追求的价值体现。

逻辑是什么?编写的规则又是什么?

02、层序分明—「用户故事」背后的逻辑与规则


通常来说,便于开发者创建、跟踪和测试用户需求的格式应该是以下这种:

作为<用户角色>,我需要<某项功能>以便获得<一些好处>

这里的用户指的是角色,如经理、文员、开发人员、图书管理员、业主等等。

好处,指用户将获得的价值,如:经理只需单击一下即可查看审计报告,好处—节省他的时间;店员可以搜索报告,好处—节省时间;图书管理员可以按类别搜索书籍,好处—他可以彻底改善客户服务;业主可以订购设备,好处—省去很多麻烦……

以下是24个用户故事示例,分别描述出不同平台/系统下每个需求对标的用户价值:

作为管理员,我希望我能在需要时为团队创建新用户

作为一名律师,我希望在主屏幕上看到我所有活跃的案件

作为一名学生,我想在黑板上看到我的历史成绩和当前成绩的汇总

作为司机,我希望我的GPS语音被激活

作为一名研究人员,我想看到我所做的最近几次搜索

作为用户,我希望能够恢复我的密码

作为收银员,我希望看到收银机中显示的总金额

作为一名飞行员,我想知道在当前条件下的最佳飞行高度

作为一名警察,我想看看由我开具的历史罚单

作为一名邮递员,我想知道今天投递邮件的估计时间

作为一名吉他手,我想知道我的手指在琴弦上的速度

作为割草机,我希望它能避免将刀片撞到坚硬的东西

作为一名跑步者,我希望心跳不规则时能被警告

作为一个盲人,我希望在路上遇到障碍的时候能被提示

作为信用卡用户,我希望当花费超过设定金额的时候会被提醒

作为一个孩子,我想把不活跃的玩具店都关掉

作为一名司机,我希望得到轮胎压力最大值时的报警

作为一名学生,我希望每天早上都能提醒我的课程表

作为一名经理,我想在计划时进行假设分析

作为测试人员,我希望看到分配给我的所有错误状态

作为机票预订者,我希望在飞机满载的第一时间就能收到通知

作为一名作家,我希望我的作品每隔几秒钟就能自动保存

作为读者,我希望看到过去2周内最畅销的书籍列表

作为一名厨师,我想看看访问量最大的食谱

以上这种编写用户故事的方式能让大家更直观的看到彼此的工作效益,然后根据用户故事的大小、需求内容、价值排序等预先排期,安排工作量。了解清楚这些,开发小组才能顺利开展接下来的工作。

在编写「用户故事」的过程中遵循 INVEST 原则,它是由6个英文单词的首字母拼在一起而成,它们分别是:

I–Independent:

独立的:每一个用户故事都应尽可能独立以保证它们可单独开发和交付

N–Negotiable:

可协商的 :应有可协商的空间,便于进一步讨论

V–Valuable:

有价值的 :用户故事以为客户增加价值为结果导向

E–Estimable:

可估计的: 用户故事应可以被划分为不同大小的工作量

S–Small:

小的 :不宜过大,每一个用户故事通常应该在40小时的工作内完成

T–Testable:

可测试的 :必须要有可验收完成的标准来确保其可被测试和确认完成

03、抽丝剥茧—用户故事传达了哪些信息?


这是一张用户故事动画版示例图,在图中它标注了以下几项信息:

  • 故事的唯一标识-story number,表明其在产品需求文档中的位置
  • 完整的需求描述-description,参照上面的撰写格式
  • 预估故事点数-estimated story points,方便开发团队评估工作量和排列优先级
  • 变化因素-exploration factor,描述了需求的不确定性程度,这个值可以是完整的、不完整的、动态的、稳定的等等
  • 故事类型-story type

除了图中标注出来的信息,完整的用户故事文档还应包含责任人、执行人、截止日期、需求反馈等这些关键信息。每一个用户故事卡片写好后,就可以按照未开始、进行中、已完成等节点,展示在项目开发的进度看板上,以便让团队更好地完成协作。

有关看板和Kanban的区别,小编记录在这里了,感兴趣的童鞋可点进来看看《分不清Kanban和看板的人只剩你了……》


「用户故事」的编写法则与敏捷开发的核心要义紧密相连,想要掌握清楚敏捷之法,可以从写好一个「用户故事」入手,其价值,开发方法、敏捷观念尽在其中~想要了解更多敏捷之道可关注LigaAI@CSDN或点击关注 LigaAI 新一代智能研发协作平台,线上申请体验我们的产品~

本文来源: Yodiz

敏捷实践 |好的用户故事怎么写?相关推荐

  1. DevOps系列之 —— 持续规划与设计(四)敏捷需求管理【用户故事 敏捷估算】

    DevOps系列之 -- DevOps概览(一)软件产业和交付模式发展趋势 DevOps系列之 -- DevOps概览(二)新型软件技术及交付模式 DevOps系列之 -- DevOps概览(三)De ...

  2. 【敏捷5.2】用户故事的层次和用户故事地图

    用户故事的层次和用户故事地图 经过上一篇的学习,你对用户故事有了一个大概的了解了吗?用户故事这个东西,是需要多多练习的,并且最好是有经验的 Scrum Master 能够带着你一起学习并建立合适的用户 ...

  3. 15.用户故事与敏捷方法——Scrum与用户故事笔记

    00.本用户故事源自于基线编程,所以故事能够很自然地狱基线编程的其他时间形成一个体系.不过,用户故事作为一种管理需求的方法,也可以应用到其他类型的软件过程中. 01.一轮迭代过程是一种持续改进的过程. ...

  4. 写好用户故事的10个提示

    翻译自 http://www.romanpichler.com/blog/10-tips-writing-good-user-stories/ 总结 用户故事可能是在捕获产品功能方面流传最广泛的敏捷实 ...

  5. 如何简单高效的创建用户故事地图?

    或许您也遇到如下的问题: 1. 这个产品大概有哪些主要功能? 2. 不知道每个迭代什么时候发布,更不知道每个迭代要做哪些功能? 3. 某个功能能给客户带来什么好处? 相信读完这篇文章之后可以回答这些问 ...

  6. 【DevCloud·敏捷智库】如何利用用户故事了解需求

    背景 很多团队在应用敏捷开发时,对估算经常感到困惑.这里所说的估算是指产品列表条目(PBI, Product Backlog Item)的估算 .比如,估算以什么标准进行?开发.测试的工作量都要估算进 ...

  7. 敏捷开发中史诗故事与用户故事的颗粒度

    作者:陈勇 出处:blog.csdn.net/cheny_com 用户故事的颗粒度一直是一个谈论已久的话题,但参加了很多研讨会,搜索了很多网络资源后发现一直没有定论,只好在这里原创一下. 前言:为何需 ...

  8. 用Leangoo敏捷开发工具如何管理用户故事?

    用户故事(英语:User story)是指从用户的视角来表达软件需求的一种方式 用户故事不能够使用技术语言来描述,要使用用户可以理解的业务语言来描述.用户故事可以帮助研发团队理解真正的用户需求是什么, ...

  9. 如何面向用户价值编写敏捷开发用户故事

    敏捷开发中的用户故事采用的语法模式看似简单,却蕴含着深刻的思想. "作为一个--,可以--,以(以便)--"不同于一般专注于功能的需求条目描述方法,三个--把角色.功能.价值跃然纸 ...

最新文章

  1. Linux输入不同颜色字体
  2. uni-app官方教程学习手记
  3. .NET Core 中有等价的 HttpContext.Response.Cache 吗?
  4. mysql 的标识符_MySQL查询或标识符在Jupyter中太长?
  5. 开源文档管理系统LogicalDOC测试报告---安装篇
  6. )AIR程序打包/绿化,脱离air runtimes(AIR运行环境)的方法
  7. linux中使用u盘和光驱的命令_Linux学习之挂载光盘和U盘(六)
  8. 微信网页授权只能配置一个域名
  9. oracle数据库查询904错误,EXP-00008:遇到ORACLE错误904问题详解
  10. 方正璞华入选“火炬智能制造服务商”和“智能制造产品服务”!
  11. c编译动态库和静态库流程
  12. 开源项目 CDN 加速服务站合集:除了BootCDN,你还知道其他免费的前端开源项目 CDN 加速服务吗
  13. Civil3D2018-01使用配置
  14. haproxy代理https配置方法【转】
  15. C语言每日一练——第28天:要求输出国际象棋棋盘
  16. PHP使用支付宝SDK完成支付
  17. CocosCreator高斯模糊深度优化版
  18. QImage/cv::Mat/HObject的图像格式互相转换,4字节对齐
  19. linux删除一年前的文件,Shell脚本实现删除一年前文件功能分享
  20. internal 和 external

热门文章

  1. 阿瑞斯(ARS)创世公链开创区块链信息技术新时代
  2. js中文转Unicode编码与解码
  3. Android监测屏幕旋转
  4. amd显卡测试软件linux,狂追Nvidia:AMD发布新版Linux开源显卡驱动
  5. 淘淘商城第80讲——快速入门freemarker
  6. 最新版(2021年1月)知乎x-zse-86 2.0版本加密破解分析 爬虫 破解反爬思路
  7. Ubuntu 安装elasticsearch集群
  8. UItableview5--移动单元格位置
  9. 太太太太太卷了,累了
  10. java string 转 file_java file inputstream string 相互转换