软件开发中工作量与工时评估模型 (2)

确定性因素一般是项目客观存在的,容易在开始前预测的。关于确定性因素大致参考如下:

影响因子 影响因子分数(以下为示例分数,具体分数可根据情况自定义i>0,若稳定则为1)
团队组成   0.95  
开发过程   1  
需求清晰完整度   0.96  
技术因素   0.97  
团队配合   1.05  
其它因素   0.98  

团队组成:考虑到团队成员不可能为标准工程师。因此团队人员的能力是影响团队开发速度的一个很大因素。我们可以在团队中找一个接近于标准工程师的人,得到他的能力系数(SF)为1sp(一天可以完成1sp的工作量),则以他为基准可以得到团队所有人的能力系数。则团队组成的影响因子分数(TF)计算公式为:
$$
TF=\frac{\sum_{i=1}^N{(SF)}_i} {N}
$$
开发过程:考虑到改进开发过程(采用敏捷,优化测试方法等)会对开发速度有影响,因此开发过程是影响因素之一。其值可大于1也可以小于1,若稳定不变则为1

需求清晰完成度:需求是否足够清晰、完整也会对开发速度有影响。

技术因素:若完成该项目涉及到团队中未知、不具备的技术知识也是风险之一。当然也可能为正面因素。

团队配合:一个配合好的团队和配合差的团队其开发速度也是明显不同的。

说明:以上因素具体项目团队可自行调整。

确定性因素(FF)的综合影响(FR)计算公式为:
$$
FR=\prod_{i=0}^n(FF)_i
$$
突发性因素往往是项目开始前哪一预测的。关于突发性因素大致参考如下

突发性因素\影响因子分数 高(+) 中(+) 低(+) 稳定 低(-) 中(-) 高(-)
团队变化   1.1   1.05   1.02   1   0.98   0.95   0.91  
需求变化   -   -   -   1   0.99   0.98   0.97  
团队成员兼职   -   -   -   1   0.98   0.96   0.94  
业务方失误   -   -   -   1   0.97   0.95   0.92  
开发环境变化   1.1   1.05   1.02   1   0.98   0.95   0.92  
临时增加减少任务   1.1   1.05   1.02   1   0.97   0.95   0.91  
其它   1.1   1.05   1.02   1   0.99   0.97   0.96  

团队变化:团队人员离职,新增成员等

需求变化:开发过程中需求的变更

团队成员兼职:团队成员身兼数职,在其他团队也有工作。

业务方失误:业务方提出错误的要求等

开发环境变化:项目开发过程中开发环境发生变化

临时增加减少任务:项目过程中临时性的新增或减少需求。

说明:以上因素具体项目团队可自行调整。

突发性因素(VF)的综合影响(DF)计算公式为:
$$
DF=\prod_{i=0}^n(VF)_i
$$

2.3 实际开发速度

    实际开发速度需要在理想开发速度的基础上增加各种影响因子。其公式如下:
$$
V=V_t^{FR\times DF}
$$

软件开发中工作量与工时评估模型

如上图,由下往上分别为3-8人的开发团队开发速度与综合影响因子分数的函数图像(影响因子在0.8-1.2之间)。

2.3 开发时间评估

    开发时间计算公式如下:
$$
T=\frac {E}{V}=\frac {\sum_{i=1}^n{(SC)}_i}{V_t^{FR\times DF}}(Days)
$$

三、模型举例

输入:

任务数:50

团队人数:7

固定性因素影响值:

团队组成 0.97

开发过程 1

需求清晰完整度 0.95

技术因素 0.96

团队配合 1.02

其它因素 0.96

突发性因素影响值:

团队变化 0.95

需求变化 0.98

团队成员兼职 0.99

业务方失误 1

开发环境变化 1

临时增加减少任务 1

其它 0.99

输出:

总工作量: 150

理想开发速度: 7

理想开发时间: 21.4天

固定性因素影响综合值: 0.87

突发性因素影响值: 0.91

实际开发速度: 4.65

实际开发时间: 32.2天

结束语

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpxxxs.html