敏捷开发用户故事系列之九:用户故事早期估算

敏捷开发中的用户故事实践与故事点估算 用户故事是敏捷开发中描述需求的核心方法,通过简洁的用户视角表达功能价值,遵循INVEST原则确保质量。其本质是促进团队与客户的有效沟通,降低需求变更成本。在工程实践中,用户故事需要配合故事点进行工作量估算,采用斐波那契数列等相对估算方法,并通过迭代速度来预测交付能力。典型应用场景包括电商系统、金融科技等领域的需求管理。随着DevOps和持续交付的普及,用户故事与自动化测试的结合成为提升交付效率的关键。 阅读详情

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

本文适合听过MPD上《敏捷开发需求管理:用户故事分类、颗粒度及组织结构》,或参加过《火星人敏捷开发培训》听过第一天下午课程的读者。

若您阅读过程中感觉缺少铺垫的信息,请先阅读:

敏捷开发绩效管理之六:敏捷开发生产率(中)(功能点分析,FPA,简化的功能点)

与早期估算相关的两类用户故事

之前已经提到过,尽管用户故事规模、种类差异很大,但最终与项目开发规模直接相关的,是两大类。

第一类是文件故事(File Story),就是用户需要管理的业务数据。

比如一个人员管理系统,要管理用户/角色/权限这三个业务数据,那么就可以写下3个文件故事:用户,角色,权限。
如果不深究或来不及深究其中的细节(比如老板只拿回来一张纸上面写着这六个字,问“大约”多久可以完成),那么可以简单地这样估算:
1文件故事 = 40人天 = 2人月。(中国-政府行业软件生产率)
所以上述“人员管理系统”,需要6人月。
这可能和直观感觉大相径庭,“这么简单的事情,把需求告诉我,我一个下午就能做完。”
那么这6个人月包含什么呢?这个数据可以用来做什么?(亦即不可以用来做什么?)
使用文件故事做估算时的工作量包含
1. 需求分析/架构设计/编码/测试/部署(至初验款结帐),所包含范围的工作量大约是纯编码期的两倍略多
2. 需求模糊所需的讨论/测试/返工/修改缺陷/响应客户提出变更/乃至部署后提出的变更(在初验结账前),所包含的范围大约是“一次完成”的1~N倍。
4. 由于有多个人参与项目,所以由分工造成的文档/交流/沟通时间/修改别人Bug/人员离职时阅读别人的代码……等时间。
国内的20多个数据表明,若将团队控制在2人,生产率就能达到业界水平的2倍。但很可惜,“2人团队”一般需要至少一个业务和技术均过硬的高手参加,而除非一家公司1/2的人都具备这个素质,否则不可能全部变成2人团队。
5. 人员尽管定编在此项目中,但需要参加其他日常会议/领导前来打搅/紧急缺陷的修复/闲聊/上网……一切最终实际上会被填报在日志中的工时。某些时间看上去很不应该参与到生产率计算中(比如“闲聊/上网”),但因为永远不会有人单独填报“闲聊/上网”时间,所以它们实际上都被填报到日报中参加计算了;“领导前来打搅”的工作量,也不可能计算到其他项目中,所以也计算在人员所定编的项目中。
6. ……
这个数据可以用来做什么?
审视上面工作量的内容,会发现这个数据不是面向开发本身的,而是面向“成本”本身的,即若有任何工作量被计入成本(需要发工资或奖金的),而有没有其他项目可代为承担的,那么就计算到这个项目中。
所以,1文件故事 = 40人天 = 2人月这个计算方法,适合早期项目造价估算。
也就是企业只有提供2人月的成本,才能完成1个文件故事。
作为在项目初期想知道全貌的高层领导,“6个人月的成本才能从头到尾完成这3个文件故事”,要比“告诉我需求,我一下午就能开发出来”要有意义得多。

第二类是操作故事(Function Story),就是用户对业务数据进行的业务操作。

比如对一个人员管理系统,要管理用户,就要有增删改查等操作,这些操作都是业务语境中面向业务数据的,和我们平时说的数据操作不是一个东西。
FPA有一些方法,能根据业务操作估算出比仅仅知道业务数据时更准确的数据,但很可惜,这些操作的数量很难在项目早期估算出来,比如我问:除了增删改查,对“用户”还有哪些操作?在项目的初期,很难说的清楚。但实际工作的时候,就会发现落下了“批量操作”“冻结”这两个操作,而且,每次都只会落下而不会多估,反而不准确。
所以,在项目的初期,不要尝试用操作故事进行估算,而只使用文件故事。
不过,操作类故事可以被用于做生产率度量,因为在项目结束后,计数工作就不会有偏差了。这个,在日后会再谈。
火星人工具中,将来会推出利用用户故事度量生产率的功能,其前提之一是使用者利用火星人中对用户故事的定义进行描述。这一点在本文文初列出的研讨中描述。

非功能性需求造成的生产率波动

由于行业差异/质量要求/软件规模等,会造成生产率的差异,并非每个文件故事都要花费2个人月完成。
影响生产率的因素很多,按韩国的统计数据(韩国现在拥有全世界1/3的FPA专家),主要因素是应用领域差异,韩国的分类统计很细,简单说差异系数大约分别是:
1. OA/MIS类应用:1.0(即每文件故事 = 40 × 1.0人天,下同)
2. 科学计算类:1.4 (简单的财务软件/计算软件)
3. 实时控制类:1.7 (电信计费软件/生产管理软件)
4. 指挥管控类:2.2 (交通/核能/武器/航空等)
这些数字具体应用时并不准确,需要企业用自己的积累。
其他影响因素还包括质量要求、软件规模等,但影响率都只有0~20%左右,与应用领域相比不足为虑。

注:文件故事和操作故事及其英文File Story / Function Story,都是笔者自己临时起的名字,在国际上尚没有对用户故事绝对颗粒度进行讨论的先例。
文件故事得名于FPA中提到的内部逻辑文件(Internal Logical File),但与之对应的操作故事在FPA中被称为“交易”(Transaction,来自早期银行软件)过于难以理解,还是称之为操作故事(英文名Function Story则来自于我们日常所说的“功能性需求”)。
这种命名的混乱还会持续一段时间,取决于未来参与此话题讨论的结果。由于Agile和FPA都来自国外,很多讨论将照顾到国外的用语。
在此期间若看到以下中英文术语,他们大致是等同的:
业务数据 = 数据 = File = Internal Logical File (还有另外一种EIF) = File Story = Data = Data Story = FILE = DATA (后两者是火星人软件中的配置类型)
业务操作 = 操作 = 功能 = Transaction = EI/EO/EQ = Function = Function Story =  Operation = Operation Story = FUNC = OPER (后两者是火星人软件中的配置类型)

如何估算Sprint任务?3种实用方法对比 在Scrum敏捷开发中,Sprint任务估算往往是团队最头疼的环节:要么像“猜谜”一样全凭感觉,要么为了“精确”耗时耗力,最终结果却依然偏差巨大。本文将拆解故事点、T-shirt大小、理想天数三种最实用的估算方法,用“称重”“买衣服”“纯工作时间”等生活化比喻简化复杂逻辑,结合真实案例对比其优缺点,并给出选择策略和避坑技巧。无论你是刚接触敏捷的新手,还是想优化估算流程的资深团队,都能从本文中找到可落地的解决方案。很多团队对估算的理解有误—— 阅读详情

相关推荐

如何快速输出产品的用户故事地图

01 结构与作用 故事地图产生背景 用户故事地图就是将story用可视化的方式展现在团队面前,让团队可以仔细梳理、讨论,确认这个story包含的内容,最终产出需求进行开发。 用户故事地图是Userstory的前传! 故事地图特点 不是另外一种写需求的方式 故事是用来讲的,不是用来写的 侧重事件发展过程的描述 故事不是忽悠,不是夸大 故事的听众 用户故事地图结构 地图的核心是一...

黄河敏捷开发 2961

用户研究系列:用户故事地图解释

一般是在故事编写工作坊准备阶段,首先由PD提主导产出,主要有几点内容:1.产品的目标用户。2.解决了哪些问题。3.用户目标。4.产品目标。将这些内容记录在黑板上,与大家讨论达成共识,最终确定产品定义。简单来说,需要明确“我们为什么要做这个?”以及“用户为什么要用这个?”明确业务诉求和用户诉求为之后的设计提供了指导,不仅可以在接下来在讨论的过程中不易迷失方向,还可以避免陷入设计细节纠结。基于业务诉求和用户诉求其实就是为了不忘初心,是为了明确设计的初衷。

u010291330的博客 1419

11、敏捷开发中用户故事的优先级排序、估算及利益相关者管理

本文探讨了敏捷开发中用户故事的优先级排序与估算方法,以及如何有效管理利益相关者。内容涵盖常见的优先级排序技术(如 MoSCoW 和基于价值的排序)、估算方法(如故事点和理想天数)、最佳实践以及常见问题的解决方案。此外,还介绍了利益相关者的识别、分类和沟通策略,包括需求收集、产品待办事项列表的创建与维护,以及全流程的利益相关者参与管理。文章强调了有效沟通与协作在敏捷开发中的重要性,并提供了具体的会议策略和工具使用建议,以确保产品开发的高效推进和持续改进。

pandas7gardener的博客 99

敏捷开发06:用户故事估算方法介绍

在以前开发 IT 软件时,使用较多的衡量软件开发工作量的单位是:小时、人天 或 人月。它是预估开发时间。比如:这个功能张三一个人开发需要 3 天时间完成。这种 “人天” 估算只是 “理想人天” 的估算,有时与实际开发完成所需天数有很大差别。因为每个人完成同样复杂度工作所需的时间是不同的。那在敏捷 Scrum 框架中,用户故事的开发工作量,如何估算一个用户故事开发工作量?用户故事的规模大小业务复杂度、难度业务规则复杂度开发人员能力大小、个体差异团队成员休假、有事请假等突发因素。

九卷技术录 1207

敏捷开发经验之谈

敏捷开发相对传统软件开发模式,它主要是针对快速变化的需求,是一种增量式的软件开发过程,早交付、频交付。

解决Windows 10更新失败错误代码0x80070643

在Windows 10操作系统的更新过程中,用户时常会遇到各类错误代码,这些代码通常成为顺利完成更新的绊脚石。其中,错误代码0x80070643是一个较为常见的更新失败提示,它可能导致系统更新停滞不前。面对这一挑战,本文将详细介绍如何有效解决这一错误,帮助用户顺利完成Windows 10的更新。

nntxthml的博客 1828

聊聊用户故事的估算和拆解

对于Scrum和用户故事实践的最大难点,我相信是如何估算用户故事的大小,如何拆解它?过大的用户故事会带来一系列的沟通复杂度和潜在质量风险,最好的用户故事是不超过2-3开发人日就能够完成的。本文重温行业经典的估算和拆解方法,并从测试人员的角度思考它

Eyemon的博客 617

IFIX数据库Datebase当前值问号

IFIX数据库Datebase当前值问号,已解决,亲测有效 在OPC PowerTool有数据的情况下,IFIX数据库Datebase当前值显示???? 问题分析及解决方法 我的IFIX5.8版本,其它版本可参考 打开IFIX工作台:应用程序–任务控制–I/O驱动–OPC Client;查看OPC驱动是否被禁用,点击启动,变成激活状态即可;若点击启动无法激活OPC驱动,需要重新安装OPC驱动,方法如下: 下载I/O Driver文件 下载链接:https://download.youkuaiyun.com/down

Ron_Tso的博客 2759

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

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

陈勇的博客 - Scrum 敏捷开发培训咨询,绩效管理,团队管理,《火星人敏捷开发手册》 1万+

利用Virtuoso IC 618进行LDO稳定性分析与补偿设计

本文详细介绍了如何利用Virtuoso IC 618进行LDO稳定性分析与补偿设计。通过搭建仿真环境、运行STB分析诊断环路问题,并深入探讨密勒补偿、调零电阻等关键技术,帮助工程师在Virtuoso平台中高效完成LDO的稳定性优化与验证,确保芯片在各种工艺角下的鲁棒性。

weixin_29170327的博客 162

ESP32天线阵列实现Wi-Fi空间成像与无直视定位

Wi-Fi信道状态信息(CSI)是OFDM系统中表征多径传播特性的基础物理层参数,其复数值包含幅度与相位,可反映无线环境的空间特征。基于CSI的射频感知技术,通过提取子载波级信道响应,结合阵列信号处理,实现到达角(AoA)估计与深度映射,本质是将通信链路重构为空间域传感器。该技术无需专用雷达硬件,具备低成本、被动式、隐私友好等工程优势,在室内定位、行为识别、仓储导航等场景具有广泛落地价值。本文聚焦ESP32平台,详解多芯片相位同步、CSI零拷贝采集、嵌入式MUSIC算法及信道图谱轻量化部署等关键实现。

weixin_30632267的博客 236

用户故事地图,产品经理必须掌握的分析利器

用户故事是方便达成共识的一种沟通工具,用户故事包含3个要素:用户、功能、价值,写用户故事,应该遵循6个原则:独立的、可讨论的、有价值的、颗粒度小的、可估算的、可验证(测试)的。用户故事地图是由用户故事组成,通过用户故事地图,可以更好的分析需求、版本规划,做到既见树木又见森林,创建用户故事地图,分为四步:产品定义、梳理骨干、拆分故事、沟通确认。用户故事地图,是由用户故事组成的全景图,用户故事由活动和用户故事组成,活动是完成用户目标的核心步骤,用户故事是根据核心步骤拆分出来的小任务。3、第三步,拆分故事。

u010291330的博客 1401

基于freesurfer和3Dslicer的脑区分割与电极定位全流程解析(实战指南)

本文提供了一套基于FreeSurfer和3D Slicer的颅内电极定位实战指南。详细解析了从环境搭建、数据预处理、FreeSurfer脑区分割、影像配准,到3D Slicer中手动与自动化电极定位的全流程。重点介绍了如何利用FreeSurfer进行高精度脑区分割,并在3D Slicer中实现电极触点的可视化标记与坐标提取,最终获得带脑区信息的电极数据,为iEEG/SEEG研究奠定基础。

banana的博客 299

敏捷开发用户故事系列之九 用户故事早期估算

敏捷开发用户故事系列之九 用户故事早期估算

hdfyhf的博客 351

java爬虫(爬取银行理财数据)

import java.io.IOException; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import java.util.List; imp

ROCK 2490

R语言使用mlr包创建回归任务、指定回归学习函数为KNN回归模型、网格搜索、交叉验证调节KNN模型的超参数K获取模型最佳的K值、可视化KNN模型的不同K值和MSE指标之间关系图

R语言使用mlr包创建回归任务、指定回归学习函数为KNN回归模型、网格搜索、交叉验证调节KNN模型的超参数K获取模型最佳的K值、可视化KNN模型的不同K值和MSE指标之间关系图

statistics+insight+vista+power 279

敏捷开发用户故事系列之六:用户故事的产生与组织结构

这是用户故事系列的第六篇。(之一,之二,之三,之四,之五,之六,之七,之八,之九)一条需求敢跳出来,基本上就能被化成一条用户故事,看完一二三四五,上山打老虎都不怕,这个似乎已经不太难了。难的是,项目或产品的第一天,给一张白纸:“请列出有哪些故事”。那个时候其实不是大脑空空,而是有千言万语就是说不出。前年做另外一件事情的时候偶然得到一种方法,去年到今年用在一个敏捷项目上,果然很舒服地列...

weixin_30736301的博客 93

卫星遥感影像处理:地物分类与变化检测

卫星遥感影像处理:地物分类与变化检测​ ,人工智能,计算机视觉,大模型,AI,卫星遥感技术通过搭载在卫星上的传感器获取地球表面的电磁波信息,为地物分类与变化检测提供了宏观、动态的观测数据。随着高分辨率遥感卫星(如高分系列、哨兵系列)的发展,遥感影像的空间分辨率、光谱分辨率和时间分辨率不断提升,为精准地物识别和动态变化监测奠定了基础。地物分类旨在将遥感影像中的像元按地表覆盖类型(如植被、水体、建筑、农田等)进行分类,而变化检测则通过对比不同时期的影像,识别地表覆盖的变化区域(如城市扩张、森林砍伐、土地退化等)

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 17万+

Scrum Gathering开放分享:敏捷开发早期估算by火星人陈勇,北京,6.30!

本人受邀参加Scrum Gathering的北京站,并在Open Space分享本届大会最富争议话题,欢迎现场参与:敏捷开发早期估算(开放分享)7讲师:陈 勇 | 06月30日 13:00~06月30日 14:00 北京紫光国际大厦-主会场                 所属专题:开放空间会议 序:By 专题制作人:李忠利“响应变化胜过遵循计划”,所以敏捷开发中的估算过程主要指在每个迭代计划会中

陈勇的博客 - Scrum 敏捷开发培训咨询,绩效管理,团队管理,《火星人敏捷开发手册》 4568

Devexpress16.2.6破解工具

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

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

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

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

硬核项目经理 1557

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

《A++ 敏捷开发》- 7 估算工作量

这几年大数据很火,很多高科技公司都推相关的工具或者方案,很多软件开发项目经理觉得应该也用数据分析,分析历史数据,准确预估项目工作量、工期。但实际上,虽然预测模型已经有超过50年的历史,过千份研究报告、教材、指南,但使用在项目中不多。更多研究发现如果用专家估算可能更准确。以上是2009年IEEE杂志中的文章,Jorgensen先生的结论。

u011250455的专栏 1888

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

7月16日周二晚上,陈勇,【敏捷网络课堂第六期】【免费】敏捷开发早期估算

7月16日周二晚上,陈勇,【敏捷网络课堂第六期】【免费】敏捷开发早期估算课程简介:“响应变化胜过遵循计划”,所以敏捷开发中的估算过程主要指在每个迭代计划会中,由开发人员自主估算本次迭代的工作内容。可是,随着一个个迭代结束,开发人员可能才逐渐感觉到整个项目需要一年,而实际上,高层领导早就签订合同或立项要求整个项目在半年内完成……而这个项目如果真的超期了一倍,那么到底是高层领导的决策失误,还是团队的生

陈勇的博客 - Scrum 敏捷开发培训咨询,绩效管理,团队管理,《火星人敏捷开发手册》 4489

用户故事,史诗故事和主题故事

本文转自:scrum中文网 文章链接:http://www.scrumcn.com/agile/scrum/18871.html 敏捷团队喜欢以一种刚刚好的方式处理需求。我们采用最低限度地、逐渐细化并保存在产品待办项(Product Backlog)中的特性描述文字,来替代传统长篇大论的需求文档。 我们发现用户故事是最好的描述方式,这种形式能够捕获到特性足够多的信息,并促进产品负责人和团队在...

Agile_zhanglao的博客 5551

敏捷开发用户故事系列之十一:优快云博客用户故事分析

这是敏捷开发用户故事系列的第十一篇。(栏目目录)经常有人问起有没有完整的用户故事案例。本人在网上找了一下,大约能找到两三篇,但多数只是为了描述用户故事的语法而已,都不涉及用户故事的颗粒度、大量故事的组织结构这类内容。本来想用我们自己的火星人做案例,但考虑到大家都不熟悉我们的工作内容,一直没有动手。前天突然想到何不用大家都熟悉的优快云博客系统做一个演示,所以才有此文。分析过程使用的方法是敏捷开发用

陈勇的博客 - Scrum 敏捷开发培训咨询,绩效管理,团队管理,《火星人敏捷开发手册》 5213
上一篇: 企业实施单元测试现状调查(浙江大学管理学院 李云)
下一篇: 《火星人敏捷开发手册2012-08-15》版发布:用户故事分类及示例
火星人陈勇
博客等级 码龄18年 4899粉丝 381原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值