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

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

前言

    软件开发中如何合理的预估项目的开发时间始终是一个难题。因为项目中不确定性的因素太多。这里我们根据日常项目中开发的规律总结出一种工作量预估的模型。该模型参考物理学中时间的计算方式:

 

得到我们的软件开发时间计算公式:

 

一、工作量的确定

    工作量主要与三方面的因素有关系。任务的规模、任务的复杂度以及完成该任务的人员能力水平。这里我们先假设一个标准的人员水平(即:理想状态下人员水平都是一定的标准工程师)。那么此时工作量主要与任务的规模与任务的复杂度有关系。

1.1 任务规模(S)#

关于任务的规模拆分出如下等级。(我们可以总结自己项目的规律来调整这个等级):

级别描述
5任务规模极其之大,甚至不能估计,可以拆分成很多小任务,甚至子工程。
4任务规模较大,需要一周左右的时间来完成,可以拆分成很多小任务
3中等规模的任务,需要三到五天左右的工作量
2任务小,需要两到三天左右的工作量
1任务较小,需要一天左右的工作量
0.5任务非常小,需要很少的工作量,需要几个小时的工作

注意:这里的工作量只是完成任务本身所需的工作量,但软件开发往往不只是完成任务本身,更多时候任务还会涉及到其它相关的任务、系统。也有些任务可能涉及到团队技术的盲点,需要一定的时间研究分析等。因此,我们还需要结合任务的复杂度来进行工作量的评估。

1.2 任务复杂度(C)

关于任务复杂度,同样可以拆分出以下几个等级。

级别描述
5极其复杂,更多依赖于其它任务、系统或子系统,含有团队中缺乏的技术,或者一些重要的经验,任务描述很不清晰,有许多未知因素,对外部任务、系统或子系统有很大的影响等
4非常复杂,依赖于其它任务、系统或子系统,其中所涉及到的一些技术点、经验在团队中不是强项,任务描述不清晰,有些未知因素,需要极高的一些技术能力才能完成,对外部任务、系统或子系统有一定的影响等
3中等程度复杂,有些依赖于其它任务、系统或子系统,完成任务很少或不需要研究,任务描述很清晰,未知因素基本没有,只需要一般的技术能力就可以完成,对外部任务、系统或子系统很少的影响等
2简单,很少依赖于其它任务、系统或子系统,其中所涉及到的一些技术点、经验在团队中曾经有过,任务描述基本清晰,未知因素较少,只需要一般的技术能力就可以完成,对外部任务、系统或子系统基本没有影响
1较简单,基本没有未知因素,所涉及的技术、经验都是团队非常熟练的。只需要基本的编程能力就可以完成,任务影响力仅涉及自身。

1.3 工作量(E)

这里,我们定义工作量的最小工作单位为sp,单位时间一天的工作量。1sp即:我们的标准工程师一天的工作量为1sp(即:我们的标准工程师理想中的开发速度为1sp);

二、开发速度的评估

2.1 理想开发速度

    我们的一个标准工程师理想中的开发速度就是一天可以完成1sp的工作量。前提是标准程序员,但显然我们团队中的程序员不可能都是标准工程师。因此理想中我们的团队开发速度为:

2.2 开发速度的影响因子

    项目开发速度是一个很复杂的概念,很难准确的对其进行定义。考虑到不同团队成员的能力不同,则开发速度也不相同,即使是同一团队,其开发速度也不是一成不变的,会受到各种因素的影响。理想开发速度仅仅是没有受到任何阻力影响时的速度。但在项目过程中,总会遇到一些影响。其影响因素主要包括两方面。确定性因素以及突发性因素,在项目开始前,项目经理对以下两种因素预估的越准确,那么对开发时间的评估也越准确。

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

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

团队组成:考虑到团队成员不可能为标准工程师。因此团队人员的能力是影响团队开发速度的一个很大因素。我们可以在团队中找一个接近于标准工程师的人,得到他的能力系数(SF)为1sp(一天可以完成1sp的工作量),则以他为基准可以得到团队所有人的能力系数。则团队组成的影响因子分数(TF)计算公式为:

 

开发过程:考虑到改进开发过程(采用敏捷,优化测试方法等)会对开发速度有影响,因此开发过程是影响因素之一。其值可大于1也可以小于1,若稳定不变则为1

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

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

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

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

确定性因素(FF)的综合影响(FR)计算公式为:

突发性因素往往是项目开始前哪一预测的。关于突发性因素大致参考如下

突发性因素\影响因子分数高(+)中(+)低(+)稳定低(-)中(-)高(-)
团队变化1.11.051.0210.980.950.91
需求变化---10.990.980.97
团队成员兼职---10.980.960.94
业务方失误---10.970.950.92
开发环境变化1.11.051.0210.980.950.92
临时增加减少任务1.11.051.0210.970.950.91
其它1.11.051.0210.990.970.96

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

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

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

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

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

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

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

突发性因素(VF)的综合影响(DF)计算公式为:

 

2.3 实际开发速度#

    实际开发速度需要在理想开发速度的基础上增加各种影响因子。其公式如下:

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

2.3 开发时间评估

    开发时间计算公式如下:

三、模型举例

输入:

  • 任务数: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天

结束语

    以上仅个人针对我们公司项目所制定的一种工作量评估模型。其具体实用程度,使用中存在的问题等,还有待时间与大量数据的支撑。也希望道友们能提供一些宝贵的意见。你们的团队是如何进行工时与工作量的评估的。

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 软件项目工时评估模板 xlsx是一种专门用来评估软件项目工时的模板,它的主要作用是通过各种数据分析、比对和预测,来为软件项目的工时安排提供科学依据和参考。 软件项目工时评估模板 xlsx通常包含了多种工时评估方法和模型,如PERT、COCOMO等,每种方法都有其独特的评估指标和算法,可以根据实际情况灵活选择。 在使用软件项目工时评估模板 xlsx时,需要进行详细的工作分解和任务分配,根据各项任务的难度、复杂程度、可行性等因素进行评估,得出每个任务的工时预计值。 除此之外,软件项目工时评估模板 xlsx还可以通过对历史项目数据的分析,以及对市场、技术、人力资源等因素的考虑,对未来项目的工时需求进行预测,提前做好规划和预算。 总之,软件项目工时评估模板 xlsx是一种非常实用的工具,它可以帮助软件项目团队更加科学、准确地进行工时预估和计划,提高项目的成功率和效率,减少不必要的资源浪费和成本支出。 ### 回答2: 软件项目工时评估模板 xlsx是一种根据软件项目需求进行工时评估的模板工具,它可以帮助软件工程师在规划和管理软件项目时更加精准地评估所需工作量和时间,从而提高项目开发的效率和质量。 该模板包含了多个评估要素,包括需求分析、设计、编码、测试等工作环节,以及每个工作环节所需的资源、人力、时间等具体指标。在使用模板时,用户需要根据项目的实际情况填写各项指标,并结合项目具体情况给出相应的工作量和时间评估,从而得到一个较为准确的时间和资源规划表。 通过使用软件项目工时评估模板 xlsx,用户可以更清楚地了解项目各个环节所需的工作量和时间,避免对项目规模和时间进度的估算过于模糊或不准确,进而有效地控制和管理项目的进展和进度,确保项目按时按质完成。同时,该模板还能够帮助软件工程师更好地进行团队协作和分工,优化资源配置,提高工作效率和质量。 综上所述,软件项目工时评估模板 xlsx是软件项目管理一种非常实用的工具和方法,它能够帮助软件工程师更好地规划和管理软件开发过程,提高工作效率和质量,进而保证软件项目的顺利完成。 ### 回答3: 软件项目工时评估模板 xlsx是一种基于Excel软件开发的工具,用于评估和管理软件开发项目的工时。它通过收集和分析项目的所有任务和工作量,帮助项目团队有效地计划、管理和控制项目进度和资源。该模板包括以下内容: 1. 任务清单:列出了项目所有的任务和子任务,包括任务名称、任务描述、预计工时、实际工时等。 2. 任务分配表:将任务分配给团队成员,记录每个成员的姓名、工作时间、任务名称等。 3. 工时汇总表:对所有任务的工时进行汇总,并列出预算工时、实际工时、超时工时等,帮助团队评估工作进展和调整工时安排。 4. 任务进度图:基于任务的预计工时和实际工时绘制成报表,用于追踪任务的完成情况和进度。 除此之外,软件项目工时评估模板还提供了可自定义的工作表和报表,便于团队根据实际需要进行修改和调整。总之,软件项目工时评估模板是一种简单、实用、易于理解和操作的工具,可帮助项目团队更加高效地管理和控制软件开发过程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

真不爱学习

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值