敏捷软件估算和度量

作者/分享人:郑立 Ali HiAgile
向 Ta 提问
Exin ASF/ASM认证讲师 中国软件协会过程改进分会副秘书长 Nesma,ISBSG国际度量机构理事 曾任HP,IBM负责敏捷咨询业务咨询创立者。辅导工商银行,海尔,泰康人寿,Suncorp,中航信等多个500家多个大型企业敏捷转型。擅长精益、敏捷、看板、DevOps、持续交付、等多种实践方法。 曾多次受邀参加过AgileChina、ScrumGathering、AgileTour、 Top100等大会进行主题演讲。 曾翻译书籍 《敏捷技能修炼》 《Hp打印机产品-大规模敏捷开发实践》

敏捷发展至今,给企业带来了很大的效率提升,然而围绕软件研发管理有几个重要问题始终未被很好的解决,或者一直被忽视,最常见的有:

  1. 项目初期预算制定和合同制定
  2. 团队效率的度量和对比
  3. 研发过程管控

这类跟估算和度量相关的问题的根本原因是,敏捷产品需求的变化性,和用户故事点估算是类比估算,缺乏统一对比性。如果对于关注产品价值多余产品研发效率的企业,估算和度量并不解决产品价值度量问题。但在企业某些情形下,研发的估算和效率度量仍十分重要,如外包供应商的评价和考核。Ali经过多年总结和实践,发现Nesma方法FPA方法结合用户故事编写模式可以很好的解决敏捷估算和度量问题。本场Chat将介绍Nesma的FPA方法,如何将FPA与用户故事结合进行估算,以及如何设立以功能点为统一基准的度量标准体系。

实录提要:

  • 这个方式在互联网业务中不知道如何落地?能否举个例子。
  • 敏捷故事点和功能点的主要区别是什么?
  • CMMI 有两个问题,敏捷团队估算真的需要这样去量化吗?
  • 这个抽象的模型需要针对不同的产品类型做不同的修改么?
  • 对于 bug 这样未知的问题,怎么抽象?
  • 技术平台搭建的项目适合估算吗?
  • 估算相关的书籍或者资料课程有哪些?
已有144人预订
预订达标
文章出炉
交流日期
     
17.04.14
17.04.27
17.05.04 20:30
查看文章评论/提问
梦梦
清晰明了
Adele
敏捷实践的很多专家都不建议对不同团队之间进行横向比较,基于敏捷的核心价值观、原则,因为这样违背以人为核心的理念。
郑立 Ali HiAgile: 让敏捷重视度量和估算的目的不是为了团队间比较,我的文章中也不会建议去这么做。重视估算和度量应该从更高的视角去看这个实践的意义。 团队往上是产品/项目,产品/项目再往上是整个组织。我们的视角应该放到组织或者产品这级。 对于业务(PO)来说,如何制定合理的投资计划是非常重要的,PO根据什么来确定一个产品/需求的ROI的I(investment)呢? 这里的I大部分就是人工成本。没有规划和估算,其实对于业务的ROI是模糊的。
郑立 Ali HiAgile: 因此这里讲的估算和度量跟人为核心不存在任何冲突,不在一个维度上的问题。度量是吧双刃剑,它本身没问题,就是用的方式和用途是不是歪了的问题。
马畅
最近的敏捷思想都在强调关注人和团队的成长,但长久以来研发团队更重视(开)发而非研(究)。对于开发的估算是有可能随着迭代的增加而精确的,但对于研究型任务的估算是否应该引入风险来进行估算?在研究中,学习与试错的成本又该怎么去界定,个人的想法是这算不算对团队成长的投资呢?
郑立 Ali HiAgile: 如果是架构可行性研究类型,比如平台选择,语言选择我认为就是一个一次性投入。这部分工作是前期成本,必须要计入成本的。而如果纯粹是研究型项目,比如大数据,数据建模,游戏,AI等,这类项目事实上是不适合估算的,估算结果偏差非常大,所以不具备参考意义。而且研究结果也可能是“No”,不管结果如何,所有的投入都是沉没成本,不能用估算和度量来进行管理。
郑立 Ali HiAgile: 我建议设定合理的研究和产出计划比例。在团队计划中,比如20%的时间就是用于研究,那么80%的工作内容应该是可交付的,这个应该很容易操作和管理。但是最终的总体产出,还是以实际交付的内容为准。团队要提升效率就要缩短研究周期;而为了避免大量返工,可能需要增加研究周期。这个只能通过团队自己来把控调整研发的节奏,跟Kanban里的WIP设置一样。
何留留
看到很多敏捷老师和团队都在摈弃估算这种理念了,从精益角度,估算本身没有产生价值,也增加了中间等待环节,甚至有时候会影响团队成员之间的不信任(尤其是产品和开发团队之间),为什么我们还要做估算呢,麻烦老师分析下利弊哈~
郑立 Ali HiAgile: 我再深度分析下利弊,先说弊吧:主要就是时间成本 1. FPA估算有学习成本,比用户故事的估算要复杂,不是5分钟就能上手的。 2. 估算有时间成本,根据熟练程度,估算的速度不一样。 3. FPA要建立回归基线,即估算和结果要进行决算。分析估算偏差 再说说利:核心就是统一性 1. 解决产品和开发规模认定不一致问题。因为FPA是基于规则的,所以任何人用同一套估算方法去估算,结果都是一致的。 2. 项目预算制定 3. 生产和质量基线设定 外包供应商评价管理
bi l l
这个方式在互联网业务中不知道如何落地?能否举个例子
郑立 Ali HiAgile: 互联网业务跟传统业务在计数规则上差异不大。这种估算规则不按行业类型分。所以互联网业务也适用的。
DoIin
请问老师:1.敏捷故事点和功能点的主要区别是什么,跟敏捷中的用户故事是否能结合使用,如何差异很大,对于PO来说额外的工作,会很难接受的? 2. 如果FPA可以做项目预算,那么“考核”那个案例,根据FPA功能点能否计算得出功能研发成本,应该如何计算?
Jason
看完后,第一印象就是:CMMI 我有两个问题,敏捷团队估算真的需要这样去量化吗?收益比故事点相对值估算大吗? 如果有一个新需要纯前端或纯后端,用同一套方法估算吗?能否举个例子。
喃瓜
郑老师,有两个疑问,求解惑,谢谢! 1. 功能点的估算看着比较复杂,会不会给团队的估算增加很多时间成本,背离快速估算的理念? 2. 刚刚尝试敏捷的团队,有哪些度量指标可以用来观测团队的转变过程,是否有在逐渐变好?用什么样的方法来度量?
郑立 Ali HiAgile: 请看敏捷的效率和质量指标,那些团队级层面足够了。
刘伯英
去年看Capers Jones的《软件工程最佳实践》的时候也有这个困惑,敏捷社区不提倡度量和可预测性,而是强调项目价值和团队能力提升。Capers Jones的目的是希望站得更高,通过类似大样本随机双盲对照实验的方式,找到规律,把软件真正变成一种工程学科,这有点像西医,但疑难杂症经常束手无策。而敏捷像中医,强调强身健体,增强自身抵抗力。后来不纠结了,虽然中医不算科学,但它经常有效。能否介绍简化功能点方法的大型应用案例,成本如何?谢谢
郑立 Ali HiAgile: 可以私聊下,实际案例会比较负责,这里回复不能超过200字,无法详细回答。抱歉。
何强
我看了这个文章的感觉就是把原来在scrum中大家相对模糊的部分尽量抽象出模型来,然后对每个维度进行分别算,然后再统一起来。有两个问题。第一,这个抽象的模型需要针对不同的产品类型做不同的修改么?第二,对于bug这样未知的问题,怎么抽象?
郑立 Ali HiAgile: 是的,需要通过调整因子调整。
郑立 Ali HiAgile: bug不作为功能大小的度量,因为不发布新功能。
梦梦
关于FPA估算,对于需求输入的要有统一的标准。即使从常规需求要求看 一个完整清晰的从用户角度出发的需求,也可能会因为划分粒度的不同,而导致FPA估算差距。不确定如何保证和解决这个问题?谢谢
郑立 Ali HiAgile: 可以让业务和团队分别估算,然后通过检查FPA中的功能的类型和数量是否一直。如果是一致的,肯定是理解都正确了。如果不一致,就把差异的地方讨论澄清就好了。
彭欣华
敏捷方法并不回答如何横向比较的问题,但是到企业中落地不考虑量化管理,那就是耍流氓,不可能和老板说团队很high,很棒,快速响应了市场,多发点工资吧。老板要看的是投入产出及边际效应,敏捷是重资源投入,大型机构有上百个团队,如何观察这么多团队之间的资源有效性,效率,质量,在合理条件内是否有可比性,是核心问题,也是敏捷落地后的延伸出来的核心问题。
明小勺
请问郑老师,是如何做到一一回复的。哈哈
你可能还喜欢
大厂面试官亲述:0~3年移动研发工程师必备技能
richardcao
使用 Mpvue 开发微信小程序的最佳实践
美团点评技术团队
使用 Python 全栈打造淘宝客微信机器人
州的先生
普通程序员如何快速提升自己
王俊生
Tomcat 性能优化
only you
深度学习数学基础之微积分
王晓明
微信扫描登录