如何比较两种估算方法的准确性?

有公司在做软件规模估算时,采用了经验法估计了代码行,又设置了难度系数,重用率,重用规模系数三个调整参数。如果初始估计规模为1KLOC,难度系数为1.1,重用率为20%,重用规模系数为50%,则调整后的规模为:1*1.1*(1-20%)+1*20%*50%=0.88+0.1=0.98KLOC。

 

我看到该估算方法后认为有些复杂,而且不好理解,有可能是做了无用功了,所以我想通过数据进行检验看看调整后的规模是否比初始的规模估计更准确,如果不如初始的规模估计更准确,则可以放弃三个调整系数。该公司A部门有11个历史项目的数据,有初始的规模估计、调整后的规模估计、以及实际规模见下表:

初始规模估计

难度系数

重用率

重用规模系数

调整后规模估计

实际规模

调整前-实际

调整后-实际

调整前离差平方和

调整后离差平方和

60

1.1

0%

0%

66

55

5

11

25

121

200

1.1

20%

100%

216

230

-30

-14

900

196

180

0.8

20%

100%

151.2

145

35

6.2

1225

38.44

100

0.8

0%

0%

80

75

25

5

625

25

80

0.7

0%

0%

56

80

0

-24

0

576

50

1.2

0%

0%

60

50

0

10

0

100

60

1.2

0%

0%

72

80

-20

-8

400

64

100

1.2

0%

0%

120

110

-10

10

100

100

240

1

0%

0%

240

260

-20

-20

400

400

230

1.3

0%

0%

299

270

-40

29

1600

841

100

1.3

0%

0%

130

110

-10

20

100

400

标准差

18

13

如何判断调整前与调整后估算的准确性呢?

1 在表格中增加了这么几列:

调整前-实际=初始规模估计-实际规模

调整后-实际=调整后规模估计-实际规模

调整前离差平方和=调整前-实际的平方

调整后离差平方和=调整后-实际的平方

          2 在表格中计算两个统计量:

调整前离差的标准差=SQRT(调整前离差平方和/项目个数)=18

调整后离差的标准差=SQRT(调整后离差平方和/项目个数)=13

因为前者大于后者,所以调整前的估计准确性不如调整后的准确性高。

3 对调整前后的残差做箱线图对比:

可以看到调整后的箱体整体趋势更接近于0,也说明调整后比调整前更准确。

从箱线图中还可以观察到,调整前的规模估计大都比实际值偏小,估计偏乐观。

有意思的是,同样采用该方法的另外一个部门B的历史数据发现,在B部门内,大家估计的结果偏悲观。但是也是调整后比调整前更准确。

历史项目的度量数据没有证明我的假设,因此就姑且让客户坚持他们定义的估算方法,不做调整。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值