敏捷开发用户故事系列之三:用户建模

用户故事讲解(看最后的例子,你应该就知道怎么样写用户故事了) 一、什么是用户故事 用户故事描述了对用户、系统或软件购买者有价值的功能。一个好的用户故事包括三个要素: 1.角色:谁要使用这个功能。 2.功能:需要完成什么样的功能。 3.价值:为什么需要这个功能,这个功能带来什么样的价值。 二、如何编写用户故事 故事应该很清晰地体现对用户或客户的价值,最好的做法是让客户团队来编写故事。客户团队应包括能确定软件最终用户需求的人,可能包括测试者,产品管理者,真实用户和交互设计师。因为他们处于描述需求的最佳位置,也因为随后他们需要和开发者一同设计出故事细节并确定故事优先级。 为 阅读详情

这是敏捷开发用户故事系列的第三篇。(栏目目录)

 

用户建模的目的,是为了更好地分析用户行为和用户价值,并因此获得商机。

用户建模四部曲

有一次培训中,分组建模的时候,一位学员就自言自语地说了一句话:“真的啊……我好像不知道谁会使用我的产品……”这其实是一种常见的现象。

比如前文所说的敏捷开发管理软件,如果想把一个用户故事描述为“作为一个用户,可以登录“我的空间”,以查看我我在的所有项目的进展以及自己的任务”,就会遇到这个麻烦。所谓领导,肯定想浅层次低能看到多少项目,就看到多少项目,而且最好能汇总一下显示;作为普通程序员,则肯定不止是想知道自己在哪些项目中有任务,而是想知道自己有哪几个任务是急需完成的(领导肯定也有着急的事情比如要审批,但肯定不如把控大局更重要);作为项目经理,又介于其间。

分析到这一步,就已经做了用户建模的第1步:列出尽可能多的用户。

第2步则是:识别关键用户。

按刚才的划分,还是很难确定谁是关键用户,因为“项目进展”的关键用户是领导和项目经理,而“我的任务”的关键用户则是普通程序员更常用。

这说明这个故事太大了,应该予以分拆,直到能识别出关键用户为止。后面还会提到另外一种更科学的判断故事颗粒度过大是否应该分拆的方法,这里先用这个方法。

第3步则是:面向关键用户,描述故事

假设我们先研究普通程序员的“我的任务”的功能,那么问题就简单一些了。故事可以描述为:“作为一个程序员,可以登录“我的空间”,以查看自己的开发任务中有哪些需要处理。”

为何要写上“那些需要处理”这句话?因为一般没有人会无缘无故面对自己的任务列表发呆的,他肯定来了就有它的目的。比如我们描述了这个“哪些需要处理”的价值观,眼前就能浮现出这些任务肯定不是一视同仁地列在那里,至于要突出“延期的任务”还是“亟待解决的任务”还是“领导关注的任务”,都是具体需求了,不难实现。

可惜经常不是这么简单的三种角色,而是上来一堆程序员、脚本设计师、测试人员、黑盒测试人员等等,不可能给他们每人写一个故事,这时候要做的是第2.5步:合并次要用户。

在上面的例子里边,我们发现刚才列举的几种人可能在使用其他功能上有所不同,但在“我的空间”里边,还是基本相同的,所以把它们合并为一个“开发人员”,并把故事描述为:“作为一个开发人员,可以登录“我的空间”,以查看自己的任务中有哪些需要处理。”

总结

重新排序总结一下用户建模四部曲:

 

第1步:列出尽可能多的用户

第2步:识别关键用户

第3步:合并次要用户

第4步:面向关键用户,描述故事

 

灵活应变

本来写到这里就万事大吉了,国外书上也是这么说的,之前有几次课也是这么讲的,大家也听得挺开心的。

但自己在项目中实践了一段时间后,发现自己经常有一些“过度合并”的倾向。比如在那个敏捷开发管理系统中,角色设置是非常自由的,“添加用户”这个操作,任何授权的用户都可以做,而不一定是“系统管理员”,所以开始就写成“作为被授权的用户,可以添加用户,以便……”。但这种“授权的用户”越来越多了,就感觉其实逐渐坠入最开始的一股脑“作为一个用户”的情况,又都改成“作为一个系统管理员,……”。宁可放弃实际功能,而模拟用户可能的使用场景。

 

一会说要分清用户,一会又说太多了要合并,一会又说合并过头了不行,到底应该怎样?

这里借用《金刚经》里边的一句话,来稳定心法:“菩萨为利益一切众生故,不着于法。”就是菩萨的出发点是众生的利益,因此怎样做好他们就会怎样做,而不会纠缠于方法(比如韦陀菩萨经常杀生)。在如何用户建模这件事情上,出发点是“更清晰更有价值地描述故事”,而不是符合什么建模方法,因此实际使用时,应固守心法,而灵活掌握技法。

本系列乃至本博客其他所有文章所描述的方法,都是即是非法,又是非非法,要本着对开发团队是否有价值,如何更有价值的心法来加以采纳或调整。

 

 

点击下载免费的敏捷开发教材:《火星人敏捷开发手册》

 

一篇带你读懂用户故事地图 之前在敏捷产品管理系列中,我讲了产品 Backlog 作为敏捷团队管理开发过程的核心,所有的活动和交付物是如何围绕它展开的。我也给你讲了组成产品 Backlog 之一的用户故事又是如何经过 建模、搜集、编写、估算这些过程之后,发挥出它的洪荒之力,让全员快速挖掘需求,理解需求的。 很多看完我文章的小伙伴告诉我已经在敏捷开发这些事件中体会到了可视化和全员深入加入这些好处,但是随之而来的问题也出现了,有... 阅读详情

相关推荐

ECU-TEST 快速入门

ECU-TEST 是由位于德国德累斯顿的TraceTronic公司开发的一款用于嵌入式系统测试验证软件工具。自从2003年首次发布ECU-TEST ,该软件成为了汽车ECU开发的标准工具 ,同时也逐步成为了重型机械和工业自动化开发的标准工具 。该软件是起源自于一个控制单元的系统化测试的项目研究,从而为从德累斯顿工业大学脱离出来的TraceTronic公司奠定了基础。ECU-TEST旨在完成测试案例的规范化、评估、求解和归档。得益于该软件包含大量的自动化测试方法使得测试案例的所有必要功能如创建、求解和评估

wangying202的博客 1万+

用户故事与敏捷方法

第一章 概览 »什么是用户故事? 用户故事描述了对用户、系统或者软件购买者有价值的功能。核心是有价值的。 用户故事包括以下三方面: »细节在哪里? 用户故事分大小,很大不行,史诗级的用户故事,可以进一步拆分成小故事,特别小也不行,故事细节不如大家一起讨论。用户故事不用像需求文档一样扩充。 »必须多少时间完成? 记录用户期望,然后用测试验收的方式检查,是否已经完成。测试描述可以不...

weixin_30435261的博客 273

医疗大模型实战——从零构建MedicalGPT全流程解析

本文详细解析了从零构建医疗大模型MedicalGPT的全流程实战。基于Qwen-7B模型与约195万条中文医疗数据,完整复现了增量预训练、监督微调与偏好对齐三大核心环节,并分享了如何在有限硬件资源下实现高效训练与部署,为开发者提供了可复现的医疗AI项目实战指南。

weixin_29193259的博客 554

DDD中的建模方法有哪些

一、背景 在之前的文章中已经介绍了DDD相关的概念模式,DDD相关的业务技术架构,但是我们还没有找到一个核心的抓手去实践DDD。DDD的一个核心本质就是对业务建模,或者领域建模。说的很简单,但是做好确实很难,一个需求过来意淫几个实体对象就差不多解决了。深入看,全局看只在脑海中进行的建模实际上并不一定正确和稳定。因此我们需要找到正确的方法帮助对业务领域进行分析,得到建模结构,共享建模成果。 二、四色建模法 2.1 起源&概念&要素 关于四色建模的概念我们可与追溯到90年代,起源于四色原型。四色

程序男的专栏 3663

避坑指南:Python模拟抖音扫码登录时,那些你可能会遇到的‘Referer’和‘Token’校验问题

本文深入解析Python模拟抖音扫码登录时常见的Referer校验与Token失效问题,提供五大陷阱的解决方案。从动态fp参数生成到Referer校验策略,再到Token生命周期管理,手把手教你破解抖音登录接口的反爬机制,助力开发者高效完成自动化登录。

weixin_42573113的博客 782

Zephyr、FreeRTOS 和 RT-Thread

你是…更适合用嵌入式新手,刚接触 RTOSFreeRTOS(入门简单)IoT 项目开发,需要 BLE/WiFi/MQTTZephyr(协议全)想快速构建可部署的产品Zephyr(模块统一)只做单个任务或简单状态机控制FreeRTOS(轻量)做平台化、持续集成、自动测试Zephyr(CI 支持强)

is0815的博客 2246

对用户故事的理解及其他

概述 这几年一直在思考敏捷开发中的用户故事,并尝试在工作中使用用户故事。 发现不论敏捷开发还是瀑布式开发,很多东西都是相通的(或者说一样的)。在本文的后半部分我根据对用户故事的实践和理解列出一些内容。 你会发现,这些内容与《系统分析与设计方法 第7版 》第7章 使用用例建模系统需求 P179 中的表格几乎一模一样。 理解或原则 下笔前,先列明几个理解或原则: 1: 在开发一个...

xumingxsh的专栏 648

使用 Simulink + Simscape Electrical 对锂电池储能系统的充放电管理策略进行建模与仿真

摘要:本文详细介绍了基于Simulink的锂电池储能系统充放电管理策略建模与仿真方法。重点阐述了系统结构设计、建模过程(包括锂电池模型、充放电控制器、热管理系统等模块搭建)以及仿真设置。通过分析荷电状态管理、温度控制和功率限制等核心要素,展示了如何实现安全高效的充放电策略。仿真结果可验证系统性能,为优化管理策略提供依据。该方法为新能源存储和智能电网应用提供了实用的仿真分析工具。

amy_mhd的博客 158

用户故事与敏捷方法—用户角色建模

一、角色建模的步骤: 头脑风暴,列出初始的用户角色集合 整理最初的角色集合 整合角色 提炼角色 二、额外的两个技术 虚拟人物——确保虚拟人物能够真正代表产品的目标用户 极端人物——使用极端人物可以导致新的故事产生,但很难确定是否应该把这些故事包含在产品中。 三、总结: 四、人员职责: 开发人员的职责: 负责参与确认用户角色和虚构人物的过程 负责理解每个用户角色或虚构人...

ChibiMarukoChan的博客 989

论文复现《基于最大李雅普诺夫指数的电力系统暂态电压稳定评估方案》

电力系统暂态电压稳定评估方案 摘要 本研究提出了一种基于最大李雅普诺夫指数的电力系统暂态电压稳定评估方法。通过分析相空间中相邻轨迹的收敛或发散特性,该方法能够提前判别系统稳定性。论文首先阐述了暂态电压稳定机理,详细介绍了最大李雅普诺夫指数的计算方法。针对IEEE-39节点系统,建立了仿真模型并获取不同故障场景下的数据。研究开发了完整的评估程序,包括数据预处理、相空间重构、指数计算等模块,并通过与时域仿真结果的对比验证了方法的准确性。实验结果表明,该方法能够快速有效地评估电力系统的暂态电压稳定性,为系统安全运

max500600的博客 187

Redhawk: 为什么STA CHECK中switch cell覆盖率为0(STA file中switch control pin没有timing window)?

如题,做dynamic analysis时,不需要switch cell的timing window信息,但是做low power analysis需要做上电时switch cell的timing window就是必须的了,本文对switch cell control pin没有timing window (STA CHECK覆盖率为零)的这种现象做分析。

m0_61544122的博客 1197

java ee 建立用户模型_敏捷开发用户故事系列之三:用户建模

这是敏捷开发用户故事系列的第三篇。(之一,之二,之三,之四,之五,之六,之七,之八,之九)用户建模的目的,是为了更好地分析用户行为和用户价值,并因此获得商机。用户建模四部曲有一次培训中,分组建模的时候,一位学员就自言自语地说了一句话:“真的啊……我好像不知道谁会使用我的产品……”这其实是一种常见的现象。比如前文所说的敏捷开发管理软件,如果想把一个用户故事描述为“作为一个用户,可以登录“我的空间”,...

weixin_34353619的博客 216

SAP HANA 中的 Union Node Pruning:让 Calculation View 少走弯路的关键优化

摘要:SAP HANA的Union Node Pruning技术通过在执行前排除无关数据源来优化查询性能。该技术主要采用三种方式:Constant Mapping(适用于规则稳定的场景)、Pruning Configuration Table(灵活性高)和Column-Based Pruning(基于列可用性)。典型应用场景包括分层存储的数据查询,如区分当前和历史销售数据。需要注意的是,当查询发生Unfolding且不含聚合时,Pruning可能失效,此时可通过NO_CALC_VIEW_UNFOLDING提

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 875

敏捷开发用户故事系列之一:何为用户故事

这是敏捷开发用户故事系列的第一篇。(之一,之二,之三,之四,之五,之六,之七,之八,之九)全系列将涉及何为用户故事,面向客户价值编写故事,用户建模,产品待开发项的分类,故事颗粒度,故事的组织结构,等等若干问题,力求将此中问题尽量解决干净。本系列文章假设正在编写一个“敏捷开发管理软件”,因为来阅读的都是做敏捷开发的,又都是做软件的,会更熟悉一些。用户故事三要素:角色,功能,价值按“作为一个...

diaogan4202的博客 233

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

用户故事详解

介绍 在敏捷开发中, 用户故事 (user stories) 是一种轻量级,更灵活的替代品指定软件需求的传统方法 - 软件需求规范,用例规格等。 实际上,可以说用户故事是最重要的敏捷开发 (Agile Development) 中的工件 (Artifacts),因为它是主要将值流传递给用户的容器,敏捷开发就是快速实现价值 (Value)。 用户故事也可以作为我们整个增量价值交付 (increm...

Warren Lynch 的博客 2万+

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

敏捷开发之用户角色建模方法

用户角色建模方法 概述:主要就敏捷开发模式中对用户角色建模的方法指引。 用户角色建模的目的 敏捷项目中,PO通过编写用户故事,以用户为中心来体现产品的需求内容。所以在编写故事前识别用户角色和虚拟人物,对用户角色进行建模就至关重要,为产品的用户角色建模,对于完整表现产品价值有着重要意义。 图1 以用户为中心 用户角色建模步骤 2.1 通过头脑风暴,列出初始用户角色集合 为识别用户角色,一般聚...

moluoshen的博客 2265

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

用户故事驱动开发系列之一:初识用户故事

本文是用户故事驱动开发系列的第一篇,将简要的分享“什么是用户故事”。 用户故事驱动开发是敏捷开发的核心管理实践,本系列将从用户故事的来源,用户角色建模,用户故事的搜集,编写用户故事,用户故事的澄清与开发,用户故事的测试与验收等整个过程、多个维度进行探讨,力求给大家呈现出用户故事从“市场中来,到市场中去”的整个敏捷开发过程!        既然是敏捷开发的实战篇,我们在整个历程中通过采用大家

Joe_Gaoqiao的专栏 1936

敏捷的重要工具——用户故事

敏捷最重要的思想是关注交付价值,如何确定价值?需要沟通,需要新软件的人必需和开发新软件的人充分沟通,一个合适的工具“用户故事”、应运而生。(客户在项目整个过程中全程参与)

u011906276的博客 2990

敏捷开发的一些思考--故事拆分

敏捷开发目前已成为互联网公司的首选方案,为应对市场的快速变化,我们公司也在大力推广敏捷,最近在读《用户故事与敏捷方法》一书,我想边读边做一些分享,传播知识的同时加强记忆。 1.       基于用户建模是一个比较好的起点。 产品团队可以采用头脑风暴等形式,挖掘出产品实际存在或者潜在的用户或客户,给他们一些角色。 多种角色出现重叠时,再将重叠部分成立一个独立角色。 比如“运维角色”和“部署

u014419512的专栏 3130

软件工程中的需求工程:用户故事建模技术与实践

随着敏捷开发方法的普及,用户故事作为一种简洁、直观的需求描述方式,已成为连接用户需求与技术实现的核心工具。用户故事建模是现代软件工程中需求工程的关键技术,它通过将需求转化为用户视角的简单描述,促进了开发团队与客户之间的有效沟通。通过将用户故事融入敏捷开发流程,团队可以更灵活地响应变化,更快速地交付有价值的功能,从而提高软件产品的市场竞争力和用户满意度。用户故事地图是将用户故事按用户旅程组织的可视化工具,帮助团队理解用户与系统交互的完整流程。:在编写用户故事时,始终思考"为什么这个功能对用户有价值"。

jie_kou的博客 591

用户故事与敏捷方法笔记---用户角色建模

如有错误或问题请留言 文章目录前言文章概览1. 用户角色2. 角色建模的步骤3. 额外的技术4. 如果有真实的用户在讨论现场,那么用户角色建模依然是必要步骤。总结 前言 以用户为中心的设计和交互设计的规则使我们懂得,在编写前识别用户角色和虚构人物有很多好处。这篇文章记录了用户角色,角色建模,角色映射和虚构人物并学习用这些条件编写更好的故事。 接下来的所有理论都会伴随一个实际的例子,而所有例子都基于一个假想的职位发布和搜索网站。 文章概览 1. 用户角色 a. 首先要明白用户角色并不是一个具体的用

TD_博伟的博客 462

什么是用户故事映射?

随着项目的进展,团队和客户会更多地了解系统,因此需求总会发生变化。期望项目团队计划静态需求列表,然后在几个月后交付功能软件,这是不现实的。用户故事映射是一种更好,更敏捷的方式来满足最终用户的需求。 用户故事地图可帮助您将用户故事排列成一个有用的模型,以便了解系统的功能,识别待办事项中的漏洞和遗漏,并有效地规划整体版本,通过版本为用户和业务提供价值。 通过Jeff Patton和其他人的努力,用...

Warren Lynch 的博客 1276
上一篇: 敏捷开发用户故事系列之二:如何面向客户价值编写故事
下一篇: MPD2011 深圳站 徐锋《手机(及互联网产品)可以做得更好》要点纪要
火星人陈勇
博客等级 码龄18年 4899粉丝 381原创
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值