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

敏捷开发中的用户故事实践与故事点估算 用户故事是敏捷开发中描述需求的核心方法,通过简洁的用户视角表达功能价值,遵循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

敏捷开发经验之谈

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

海康工业相机触发模式详解:软触发 vs 外触发,在C#里如何选与用?

本文深入解析海康工业相机的软触发与外触发模式,详细比较两者的特性差异、适用场景及C#实现方法。通过海康SDK配置指南和实战代码示例,帮助开发者掌握工业相机触发模式的选择与优化技巧,提升自动化检测系统的精确性和可靠性。

weixin_42635064的博客 556

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

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

Eyemon的博客 618

滚动时域优化方法

滚动时域优化(Receding Horizon Optimization, RHO),也被广泛称为模型预测控制(Model Predictive Control, MPC),是一种用于动态系统优化和控制的。其核心思想是“在每个当前时刻k,控制器只考虑未来一个(称为“预测时域”或“优化时域”,长度N)内的系统行为。(通过测量或估计得到)。(描述状态如何随输入和干扰变化)。(如果有,可能基于历史数据或假设)。在这个有限的未来时域[k, k+N-1]上,求解一个。这个优化问题的目标是找到一个。

m0_69522810的博客 2297

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

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

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

IPD的分析工具与模型(十六)CBB公用基础模块管理实现资源共享,缩短开发周期

CBB流程的开发环节,基于CBB规划中所识别和设计的CBB,进行CBB的详细设计(包括参数设计和接口设计),并最终实现CBB的落地开发。作为特殊类型的技术构件,CBB的开发流程,可沿用技术开发中的构件开发流程,具体包括概念、计划、开发和迁移等步骤,具体可参见前文的相关介绍。有了蓝图与架构设计,落地实施是关键攻坚。具体工作内容包括:具体工作内容包括:a. 以相似性、聚类、相对独行性、可组合、可扩展性、可维护性等原则为指导,按照产品的功能特征和业务类型,聚焦零散的功能点,形成功能模块,实现产品功能模块的划分;

corgi2020的博客 2001

从零开始用Plaxis 2D设计深基坑支护结构:含地锚与桩墙实战教程

本文提供了一份基于Plaxis 2D的深基坑支护结构设计实战教程。教程以钻孔灌注桩排桩结合预应力锚索的典型支护体系为例,详细阐述了从地质模型建立、材料参数定义(重点介绍硬化土模型)、施工阶段模拟(含开挖、锚索施加预应力和地下水渗流固结耦合分析)到结果解读与设计优化的全流程。旨在帮助岩土工程师掌握数值模拟核心,实现从经验设计到量化分析的跨越。

kotlin6android的博客 505

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

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

u010291330的博客 1401

泛微Ecology9接口调用全流程:从配置到实战Java代码解析

本文详细解析了泛微Ecology9系统接口的完整调用流程,涵盖安全架构、服务端配置与客户端Java实战代码。重点阐述了基于RSA加密的认证机制、Token管理策略,并提供了企业级集成的核心代码示例与生产环境调优建议,帮助开发者安全、高效地实现系统对接。

m9n0o的博客 838

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

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

hdfyhf的博客 351

平衡小车动力学建模

两轮自平衡小车由车体和双轮两部分组成,可以看成一个移动的倒立摆,分别对车轮和车体进行力学分析,建立动力学模型,最后,通过对两者的分析给出系统的状态空间表达式。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kjiPEUVJ-1679470559950)(C:\Users\DELL\AppData\Roaming\Typora\typora-user-images\image-20230322110521545.png)]

qq_23096319的博客 9056

手把手教你学Simulink——基于Simulink的多用户MIMO系统仿真建模示例

多用户MIMO概述在多用户MIMO系统中,基站配备多个天线,可以同时与多个用户进行通信。利用空间复用技术,不同用户的信号被分配到不同的空间流上,从而实现频谱资源的高效利用。多用户MIMO的核心挑战包括信道估计、波束成形设计以及干扰管理。关键技术点波束成形:通过调整发射信号的相位和幅度,在特定方向上增强信号强度并减少干扰。信道估计:获取每个用户的信道状态信息(CSI),用于优化波束成形矩阵。调制与解调:选择合适的调制方式(如QPSK、16-QAM等)以适应不同用户的信道条件。干扰消除。

MHD0815的博客 271

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

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

weixin_30736301的博客 93

Gbase 8a GDCA考试真题100%

本文整理一些Gbase 8a中非常易错得考试真题及答案,而且都是不好搜的。加粗的是正确答案。

打工之路,一路生花 4305

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

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

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

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

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

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

硬核项目经理 1557

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

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

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

u011250455的专栏 1888

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

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

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

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

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

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

Agile_zhanglao的博客 5552

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

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

陈勇的博客 - 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、付费专栏及课程。

余额充值