ITPub博客

首页 > Linux操作系统 > Linux操作系统 > MSN群每周讨论之快速估算和管理

MSN群每周讨论之快速估算和管理

原创 Linux操作系统 作者:sissili 时间:2009-10-20 13:39:14 0 删除 编辑

10.20的主题:快速造价估算和管理

主讲:敏捷专家陈勇老师

陈勇-咨询师-北京 说:
 估算肯定大家都做过
 但是估算有个问题:基本上是走形式。为什么呢
 因为项目经理和项目组开始很关心,但是当我们把估算结果告诉老板是12个月时
 老板说:No,必须6个月。
 可想而知,下次大家再也不用新估算了,反正你说了算,我估算有什么用。
 剩下一个问题:那为什么老板会不尊重我们的估算呢?
 既然不尊重,为什么老板又经常来找我们要工期要工作量估算呢?
 说到点子上,就是我们和老板没有共同语言。FP就是功能点,是设计来当作这个共同语言的。
 当然我们下面会看到,FP有很大的局限。
 FP有人用过学过吗?

谷雨霖【pharos】-CTO-BJ 说:
 学过,没具体实际用
 要培养几个固定专家,老板比较考虑成本

陈勇-咨询师-北京 说:
 太好了,这个就是当前FP的状态。
 本来大家认为FP是基于功能的,老板甚至客户都能看懂
 只要基于FP,万事大吉。结果是……
 FP似乎要求太高了,很难学,也很难用
 用起来还很慢
 比如,要知道一个内部文件,要理解边界,要弄清楚这个算不算一个独立的文件,要知道有多少列,有几种列的组合方式……
 当我们能知道这一切的时候,多半项目已经走到概要设计附近了
 这时候,无论老板还是项目经理,都对估算已经不感兴趣了,大家现在感兴趣的是赶紧干活。
 合同都签署并且执行到一半了……
 现在,我们就希望有一种方法,在更短的时间内,在更早的时间点,以更容易的方法让大家得到估算
 一天上班早上,老板摇摇晃晃走进办公室,手里拿着沾着菜汤的几张A4纸
 他问你这上面说的东西咱们能不能做,用多久做出来
 上面写着什么呢?
 一共5页纸,一个大致的产品要求是做一个会议管理系统
 要有会议室,会议主题,系列会议,会议参与人,会议通知,会议签到,会议结论……
 会议来源,会议附件,会议统计,会议……
 现在,我们能不能告诉老板一个数字,说出我们的估算呢?
 有企业大致能在这个时候给出什么估算吗?拍脑袋的除外
 估计现在没有,过一年就有了,呵呵
 一定有人说这也太早了,需求还不清楚,就要估算。但是这个时候是老板最想要知道估算的时候
 如果这个时候能给出估算,就能抓住老板的心
 下面提到的方法,就基于刚才这几张纸
 学过功能点估算的朋友请回答:如果让你简化功能点,想保留的是什么?(不说想去掉的了)
 想去掉的太多了,我个人要去掉FTR,DET,RET
 还有调整因子
 想保留的呢?
 SPR(美国的一个很有影响力的咨询公司)的一群人决定:只留下7个东西:
 2个文件ILF/EIF,3个业务EI/EO/EQ,2个调整因子:产品的,开发的
 所有ILF等,取中间值,不在判断复杂程度了
 这样工作量就下来了很多
 荷兰的一群人决定(世界第二大的功能点组织NESMA):只留下ILF和EIF,连EI什么也不要了,调整因子也扔了
 Fp=ILF×35+EIF×15荷兰公式
 我决定: (当年的)为什么不留下EI/EO/EQ而扔掉ILF/EIF呢?
 因为业务比文件好理解一些。
 后来实际操作了几个早期项目估算后发现,EI/EO/EQ在早期经常是说不全的,而ILF/EIF好一点
 忘了一件事情,大家知道ILF/EIF什么的吗?

谷雨霖【pharos】-CTO-BJ 说:
 FP功能点估算法将功能点分为以下5类:

   1. ILF:Internal Logical File内部逻辑文件
   2. EIF: External Interface File外部接口文件
   3. EI: External Input外部输入
   4. EO: External Output外部输出
   5. EQ: External Inquiry外部查询

陈勇-咨询师-北京 说:
 通俗说,ILF/EIF分别是内部数据和外部数据,EI/EO/EQ是操作

谷雨霖【pharos】-CTO-BJ 说:
 其中ILF和EIF属于数据类型的功能点,EI、EO、EQ属于人机交互类型的功能点。

陈勇-咨询师-北京 说:
 比如客户说:要对会议室进行登记和管理,并能与会议关联。
 登记,管理,关联……并不是很完整的对会议室的操作
 要统计有多少会议室吗?要查询哪个会议室空着吗?要删除会议室吗?客户往往说不清楚。
 但客户在早期至少可以告诉我们:他要对会议室进行管理。所以,对ILF(会议室)的识别是准确的,但对其操作的识别是模糊的,在初期就是这样。
 所以荷兰人对了,我错了(废话,呵呵)

陈勇-咨询师-北京 说:
 好了,结论是:在初期那几张纸上,我们几乎能识别出所有的数据(内部和外部的),但说不清楚对这些数据的操作,特别是操作的全集。因此,早期功能点应该给予数据进行,先别管操作
 荷兰人有理:ILF×35+EIF×15,记住这个

谷雨霖【pharos】-CTO-BJ 说:
 补充说明:
 以外贸订单系统项目为例:
• 录入订单、修改订单、删除订单是EI;
• 查询订单是EO
• 统计订单是EQ
• 汇率查询转换系统为EIF
• 订单和客户是ILF

陈勇-咨询师-北京 说:
 剩下的是:刚开始你说了,要识别一个ILF要看边界……什么的,很多条件,怎么刚才你凭空就说会议室是一个ILF呢?分析了没有?
 ILF也就是内部逻辑文件(说内部数据好理解一些),不是一个我们数据库中的物理表,而是逻辑上存在的东西
 比如会议室,用多少张表存储,都是一个会议室,客户是不关心内部结构的。
 但是“邮政编码”就不一样了
 邮政编码多半一次写到软件里边(有人甚至直接写道代码里边),再也不动了,这些都不算是文件。
 真正的文件是(快速识别):如果一个数据对客户有价值,客户会对他进行增删改查,就是一个ILF
 或许客户会用两种方式查(统计报告/检索/搜索有无空闲等),或许三种,都先不管了,算一个文件
 没有人会对邮政编码进行增删改查(除非邮局的软件),所以邮政编码就不是。
 EIF类似,他是我们系统需要从外部调用的数据,别的系统的数据
 (快速识别)如果对一个外部数据进行读写各一次,就可以认为是EIF
 两种读,两种写,两读一写,两写一读也凑合,都算
 现在总结我们的快速方法
 ILF:如果一个数据对客户有价值,客户会对他进行增删改查,就是一个ILF
 EIF:统需要从外部调用的数据,差不多进行一次读写就可以
 FP=ILF×35 + EIF×15
 规模估算就出来了
 回到开始的例子
 一天上班早上,老板摇摇晃晃走进办公室,手里拿着沾着菜汤的几张A4纸
 他问你这上面说的东西咱们能不能做,用多久做出来
 上面写着什么呢
 一共5页纸,一个大致的产品要求是做一个会议管理系统
 要有会议室,会议主题,系列会议,会议参与人,会议通知,会议签到,会议结论……
 会议来源,会议附件,会议统计,会议……
 现在,我们能不能告诉老板一个数字,说出我们的估算呢?
 是不是凑合能说出来点什么了?
 先不说EIF,似乎会议室,会议主题,系列会议,会议参与人,会议通知,会议记录,至少这些是ILF
陈勇-咨询师-北京 说:
 有些比如会议签到什么的,之后增加不会删除,似乎要查询,可能要统计,也算一个
 附件嘛,应该只会增加,不算。
 会议来源,说不清楚,要对它做什么吗?还有疑问。
 我们拿着这几张纸给和老板昨天一起喝酒的客户打了个电话,终于确认有10个ILF和2个EIF
 所以FP=10×35+2×15=380FP
 老板肯定会问:这什么意思?
 简单说,一个人一天能生产0.5~2个FP,所以这是190~760人天的活
 8.5~34个人月的活
 如果能考虑更多背景,比如这是一个MISS系统,用Java编写……我们能查到一些生产率数据(等等说在哪查)
 就更精确了。
 ISBSG已经为我们搜集了4000个项目的数据了,每个项目有多达200多个字段可以筛选
 全部基于FP的,当然人家基于的是高精度的FP,我们就不管了,先用我们的近似FP

谷雨霖【pharos】-CTO-BJ 说:
 ISBSG是国际基准比对组织

陈勇-咨询师-北京 说:
 ISBSG上有个报告是政府项目的生产率报告,大家可以给我写邮件来拿一下cheny@cheny.com
 他们其实是“卖数据”的,一套数据几千块钱好像也不贵,会用的话,一个项目就赚回来好几个了
 规模估算方法介绍到这里,剩下的,有了生产率,就有了工作量
 有了工作量,就有了成本
 只有工期是个未知数,当然不能工作量/人数
 在很早的时候就有工作量-工期方法了,比如COCOMOII
 COCOMOII是数学方法,只要把工作量带入函数,就能得到工期,大家可以上网查。
 可惜,国外的公式中的常数不适合我们,一是太老,一是太怪(国外喜欢用COBOL)
 还好,中国有自己的数据,就是CSBSG

谷雨霖【pharos】-CTO-BJ 说:
 非常精简的FPA功能点介绍
 大家对FPA是否有些感性认知了

陈勇-咨询师-北京 说:
 我现在正在参与的一个项目,目的就是建立完整的上述方法。因为虽然我们刚才似乎介绍完了
 但是其实还是有问题的:FP生产率到底是多少?你说的COCOMOII公式我能直接用网上的吗?不同语言开发速度一样吗?等等
 我们正在编写一个潜在的行业标准

谷雨霖【pharos】-CTO-BJ 说:
 功能点是规模估算的一股新势力,与之对抗的就是代码行估计和拍脑袋估计,目前使用的频度在提升。

陈勇-咨询师-北京 说:
 这个标准将规范这一切,给出可操作的方法,甚至一个Excel工具,你只要“傻傻地”在里边把该填写的东西填写好就可以了
 其实,我们的灵感来自于紧邻韩国,他们政府招标全部使用他们的一套方法,非常简单快速

谷雨霖【pharos】-CTO-BJ 说:
 大家除了拍脑袋估计外,FPA提供了准科学估计方法,可以在项目中尝试
 国家建立了这样的标准很重要

陈勇-咨询师-北京 说:
 可惜,他们有一些“奇怪的法律”,能直接查到每个功能点的标准价格(有点像物价局),但我们没有,所以我们要走功能点-规模-单价-价格这条路,而人家直接-功能点-价格
 好了这就是近期工作汇报
 这个标准的技术方案我已经快写好了,可惜必须等到工作组公开发布才能给大家

陈勇-咨询师-北京 说:
 如果大家在做CMMI,需要做估算
 我觉的,无论是否用这个完整的标准,但真的可以在早期使用快速FP方法来获取项目规模

Q1:

chinamath(海茶)-Sr.SE-北京 说:
 正在按陈老师的方法算FP,但是数来数去只有9个ILF,不知道下面的理解是否正确:
ILF(9个): 会议室,会议主题,系列会议,会议参与人,会议通知,会议记录,会议签到,会议结论,会议统计
EIF(2个): 会议附件,会议来源
陈勇-咨询师-北京 说:
 呵呵没事上面例子我瞎写的,我也没数有几个,蒙的没想到和你的如此接近。
谷雨霖【pharos】-CTO-BJ 说:
 大家很认真的,陈老师
陈勇-咨询师-北京 说:
 对了,客户的几页纸因为是乱写的,虽然包含有很多信息,但必须和客户沟通。
chinamath(海茶)-Sr.SE-北京 说:
 这样,我以为是完全真实的案例。
陈勇-咨询师-北京 说:
 未来我们的技术方法中,每个招标项目必须有一个附件,里边写着识别出了多少个ILF/EIF,双方可以讨论判断到底哪个是哪个不是

Q2:

susan-pm-湖北 说:
 我查了CSBSG,按380FP来估算,工作量为6.47 工期为1.12,不太明白为什么
 单位为人/月
陈勇-咨询师-北京 说:
 CSBSG?里边全是LOC数据把?
susan-pm-湖北 说:
 我选的是FP
susan-pm-湖北 说:
 为什么工期和工作量差那么大呢,不太明白这两者什么关系?
谷雨霖【pharos】-CTO-BJ【帮忙推荐JAVA工程师--北京等地】 说:
 内幕,这个组的工作暂停中
陈勇-咨询师-北京 说:
 工作量差别不大,如果你选了极端的状态,会得到比我说的还小的 情况
susan-pm-湖北 说:
 可能我没说明白,工作量是6个月,工期是1个月,怎么算出来的
陈勇-咨询师-北京 说:
 因为在统计学里边大/小不是上下限,而是50%的项目处于两者之间,外面的还有一半呢
谷雨霖【pharos】-CTO-BJ【帮忙推荐JAVA工程师--北京等地】 说:
 建议FP暂不要对照CSBSG
陈勇-咨询师-北京 说:
 不过我不觉得会有人在这个项目上投入10个人啊,工作量6个月最好是3个人干2个半月
谷雨霖【pharos】-CTO-BJ【帮忙推荐JAVA工程师--北京等地】 说:
 那个系统还不完善,不必较真
陈勇-咨询师-北京 说:
 对,FP别用CSBSG
susan-pm-湖北 说:
 那怎么换算到工作量呢
谷雨霖【pharos】-CTO-BJ【帮忙推荐JAVA工程师--北京等地】 说:
 有了工作量380fp,1人天能开发1个fp,你投10个人
陈勇-咨询师-北京 说:
 我们的确打算用CSBSG数据,但是只用工作量-工期关系公式,而且只用政府项目的。CSBSG里边有对日外包项目,那个数据……
谷雨霖【pharos】-CTO-BJ【帮忙推荐JAVA工程师--北京等地】 说:
 就算出进度了
陈勇-咨询师-北京 说:
 有一个标准生产率
陈勇-咨询师-北京 说:
 4.2 9.7 17.3,ISBSG政府项目的P25 50 75
 9.7小时/FP
 大约就是1天一个FP
陈勇-咨询师-北京 说:
 好了,整体就是如此

Q3:

lmeteorcyy-pm-sh 说:
 学了很多!之前没用过这种方法,一直都是细分功能点后凭经验去估计。。。刚才还一直在考虑那个会议系统怎么花了这么多工作量
陈勇-咨询师-北京 说:
 今天先掌握这个思路啊,就是:简单就是胜利!
陈勇-咨询师-北京 说:
 奇特的是一周前我刚刚收到ISBSG的一个邮件,说SPR的Capers Jones要改造FP
 CJ说,现在FP估算速度是每天500FP,对于100万级产品代价太高
 他要把速度提升到每天10000FP
 我把去年我做的一个项目试点数据回归了一下,大概是6000每天,差不多。
谷雨霖【pharos】-CTO-BJ【帮忙推荐JAVA工程师--北京等地】 说:
 不懂,每天10000fp
陈勇-咨询师-北京 说:
 当然他还提到,要把一些难以计算的工作比如“架构改造”也用FP数出来。
 就是一个人一天能数1W个FP

Q4:

北溟鱼逍遥游 说:
 可以几个人分块一起估算吗,就是估算小组的概念
谷雨霖【pharos】-CTO-BJ【帮忙推荐JAVA工程师--北京等地】 说:
 当然
陈勇-咨询师-北京 说:
 每人年人们能完成250个FP,所以1W就是40人年的项目
 可以分块
谷雨霖【pharos】-CTO-BJ【帮忙推荐JAVA工程师--北京等地】 说:
 FP师也是一个职业规划方向
陈勇-咨询师-北京 说:
 40人年的项目一天估算完成,精度达到20%~50%
谷雨霖【pharos】-CTO-BJ【帮忙推荐JAVA工程师--北京等地】 说:
 荷兰软件行业在这方面的工作更实际些
陈勇-咨询师-北京 说:
 原来的复杂方法是要20天数完,精度10%。关键是,他要求输入是非常详细的需求,因此这个40人年的项目可能进行了大半年了,那个人才能开展计数工作。
谷雨霖【pharos】-CTO-BJ【帮忙推荐JAVA工程师--北京等地】 说:
 简单是硬通货
陈勇-咨询师-北京 说:
 更早,更快,更好学,这个是特点。
 未来会推出培训
谷雨霖【pharos】-CTO-BJ【帮忙推荐JAVA工程师--北京等地】 说:
 不过有个很特别的现象
 国内人用功能点的越来越多,

Q5:

北溟鱼逍遥游 说:
 可以先概算,然后再求精吗
陈勇-咨询师-北京 说:
 1天项目级估算:方法1小时,实际操作2小时,实际项目+工具使用4小时
谷雨霖【pharos】-CTO-BJ【帮忙推荐JAVA工程师--北京等地】 说:
 但大多都自己积累原则,用IFPUG等标准方法的很少
陈勇-咨询师-北京 说:
 可以,不过一般老板就开始要估算,后来就不要了,因为他希望签订合同之前得到估算值。
北溟鱼逍遥游 说:
 是的
陈勇-咨询师-北京 说:
 1天企业级估算:历史数据回归,基准比对,企业数据管理
 就2天,全部学完。
 原来的FP到出了 FP规模就结束了,但我们的培训将到达工作量/价格/工期

Q6:

susan-pm-湖北 说:
 估算速度怎么提高啊,还是要硬数啊
陈勇-咨询师-北京 说:
 另外 还会教会大家如何在发生变化的时候找客户追加要钱,呵呵
 没有啊,刚才我们会议管理那个项目多快啊,因为只数ILF/EIF了。
 FPA要数很多东西的
 以前项目变更客户之所以不给钱,是因为:你怎么证明工作量增加不是因为你们笨或者懒?
 现在好了,我们能告诉他FP的真实变化,而且行业是有标准的,你看……
 老板很喜欢这个,甲方也不太在意。
 甲方告诉我们:他们其实不太缺钱,但他们不愿意企业一延期就来追加,又不能证明延期的原因是什么。

谷雨霖【pharos】-CTO-BJ 说:
 好了,时间差不多了。非常感谢陈老师的FP入门级讲解。学以致用,我们在实际工作中慢慢尝试用,会影响到周围人的。
 今天的讲解有些深入,需要些数学计算,PM要掌握的

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12231076/viewspace-616930/,如需转载,请注明出处,否则将追究法律责任。

下一篇: [原创]一点BI感悟
请登录后发表评论 登录
全部评论

注册时间:2007-11-28

  • 博文量
    78
  • 访问量
    188027