lecture5(工作量估算)
- 格式:ppt
- 大小:931.00 KB
- 文档页数:53
关于工作量估算,你知道的和你不知道的一切越来越多证据表明这样一个趋势:软件项目的成本和工作量超出限度,泛滥成灾。
平均来看,这种泛滥大约在 30% 左右。
而且,对比1980 年代和最近的调查中的估算准确程度,可以看出基本上没有改善。
估算方法也没有太多变化。
尽管对于正式的估算模型有很多研究,“专家估算”依旧占据主导地位。
估算准确度明显缺乏改善,但我们对工作量估算比以前有了更多了解。
本文中,我试图总结获得的一些知识。
其中有些知识有可能提高估算准确度,有些能告诉我们什么样的做法不可能带来改善,有些是关于我们对于工作量估算已知和未知的事情。
文中用以得出结论的一整套经验证据,可以在其他地方看到。
我们知道的研读过关于工作量估算的研究之后,我选出7 种证据充足的结论。
1、不存在“最佳”的工作量估算模型或方法众多研究对比了多种估算模型和方法的准确度,哪一种是最佳选择,众说纷纭。
结果不稳定,主要原因似乎在于几种不同的核心关系,比如开发工作量和项目大小之间,这些关系在不同上下文中也不一样。
此外,影响开发工作量的最大因素似乎也不一样,这表明估算模型和方法应该根据所处上下文剪裁。
核心关系不够稳定,同样可以用来解释,相比更简单的模型,为什么统计方法先进的估算模型,对于估算准确度没有多大改善,甚至根本没有改善。
统计方法先进的估算模型会更贴近历史数据,因此当上下文改变时,相比简单的模型,准确度更渣。
这个结论告诉我们,软件公司应该尝试构建自己的估算模型,而不是期望某个通用的估算模型和工具在他们的环境中能够表现准确。
2、客户着眼于降低价格,是工作量泛滥的主要原因低估工作量的趋势,在基于价格的竞争情形中最为明显,比如在投标之中。
在价格竞争不那么重要的情形下,比如内部软件开发,这样的趋势就不明显。
实际上,你甚至会看到相反的结果。
由此说明:工作量泛滥了的主要原因之一,就是客户在选择软件开发供应商时,倾向选择价格低的一方。
因此,低估工作量的项目投标书更有可能启动。
工作计划的工作量估算工作量估算在工作计划中起着非常重要的作用。
只有准确地估算工作量,才能保证工作计划的顺利进行,避免出现工作量过大或过小的情况。
因此,如何进行工作计划的工作量估算是每个工作人员必须掌握的基本技能之一。
一、工作量分析在进行工作量估算之前,我们需要对工作内容进行充分的了解和分析。
对于一个新的工作任务,我们要先了解其工作范围、工作目标、工作流程、工作重点、工作难度等方面的信息。
然后,根据这些信息,我们可以对工作量进行初步的估算。
在进行工作量分析的过程中,我们要尽可能地对工作细节进行深入挖掘,以确保不会漏掉任何一个细节。
只有通过充分的工作量分析,才能够准确地估算出工作量,为后续的工作计划制定提供更加有力的支持。
二、工作量估算方法在进行工作量估算时,我们可以采用多种估算方法,其中比较常用的有以下几种:1. 直接估算法直接估算法是指通过工作量分析,根据工作任务的具体特点,直接估算出工作所需的时间、人力和物力等资源的数量。
这种方法简单、直接、便捷,但是由于估算时往往会受到诸多不确定因素的影响,因此准确度可能不够高。
2. 类比估算法类比估算法是指通过对已经完成的、与新的工作任务相似的工作进行分析,从而给新的工作任务进行估算。
这种方法不依赖于具体的细节信息,而是利用类比、类推的思维方式进行估算,因此可以得出比较准确的估算结果。
3. 程序估算法程序估算法是指通过专门设计的程序,根据既定的算法模型,对工作量进行估算。
这种方法需要一定的技术和专业知识支持,但是由于其估算结果具有科学性和准确性,因此在一些适用的场景中被广泛使用。
三、工作量估算实践在实际的工作中,工作量估算是一个非常具有挑战性的任务。
特别是在复杂的项目中,由于涉及到很多不确定因素,估算难度更加加大。
因此,我们需要根据具体的工作情况,采用合适的估算方法,以确保工作计划的成功。
1. 多方参与在进行工作量估算时,我们需要尽可能地协调各方面的资源,让有专业知识和经验的人员一起参与,共同完成估算任务,从而确保估算的准确性和可信度。
工作计划的工作量估算方法说明工作计划对于一个项目的实施起着至关重要的作用,因为合理的工作计划能够确保项目按照预期的计划推进并尽可能地避免延期。
而在确定一个工作计划时,工作量估算便成为了一个至关重要的环节。
因为只有准确地估算出工作的量,才能够为后面的时间规划、人员安排、资源调配等环节提供依据。
下面我们将为大家介绍一些工作量估算的方法。
1.历史数据估算法历史数据估算法是比较常用的一种工作量估算方法。
它的核心思想是通过已经完成的类似型任务所需的时间,来推算新任务所需要的时间。
首先需要对历史数据进行分析,找到与新任务相似的历史数据,然后将历史数据中的时间统计并分析,最后按照新任务与历史任务的相似度来计算出新任务所需的时间。
2.类比估算法类比估算法是一种比较简单的工作量估算方法,它的思路是将新任务与早期已经完成的相似任务进行对比,并根据旧项目中所需的时间和所用成本来推算新任务的时间和成本。
这种方法的缺点是会受到历史数据的影响,在不同的历史数据下,所推算出来的新任务的时间和成本会因此被影响。
3.专家判断法专家判断法是将工作量估算任务交给具有相关知识和经验的专家来完成。
这种方法的优点在于专家可以根据自己的经验和知识,镇定地评估任务的工作量。
而缺点则在于专家的判断会受到个人的经验和素质的影响,因此不同的专家所得出的估算结果也会产生很大的差异。
在使用此方法时,需要保证专家人员的素质和经验水平,同时也要对其所得出的估算结果进行严密的审核和核实。
4.三点估算法三点估算法是一种比较全面和精确的工作量估算方法。
它基于“乐观估算时间”、“悲观估算时间”和“最可能时间”三个因素进行估算。
首先,需要确定任务所耗工作时间的最乐观情况和最悲观情况,随后根据概率学公式计算出最可能所需时间。
例如,假设一个任务的最乐观时间为10天,最悲观时间为20天,最可能时间为15天,则任务所需的时间按照以下公式计算:(10 + 20 + 4 x 15)/6 = 13天。
工作计划的工作量估算方法说明书工作计划对于一个项目的成功至关重要,而工作量估算则是制定工作计划中必不可少的一项内容。
在进行工作量估算时,我们需要考虑到多方面的因素,如任务的自身复杂度、执行任务所需的资源等。
下面将介绍一些常用的工作量估算方法,并且为您提供一些实践中的建议,以便更加准确地进行工作量估算。
1. 将任务拆分成小块对于复杂的任务,我们可以将其拆分成多个小块来进行估算。
这样做可以更好地把握任务的复杂度和执行任务所需要的资源。
而且,将任务拆分成多个小块还能够帮助我们更好地排除潜在的风险因素。
2. 基于历史数据进行估算在实践中,我们通常可以借助过去的记录来进行工作量估算。
如果我们已经进行了类似的任务,那么对过去任务所需的资源进行统计和分析,再根据新任务的特点进行适当的调整,也能得到相对准确的估算结果。
然而,仅仅依据历史数据来进行估算有时有可能会导致未能考虑到当前任务的具体情况,因此,对于具体的任务,我们还需要考虑其自身特点,包括能够使用的技术、解决问题所需要的人力资源以及需求变更等因素。
3. 专家评估对于一些相对复杂或不确定的任务,我们可以请相关领域的专家对任务所需的工作量进行估算。
这种方法可以使我们更准确地了解任务所需的资源,从而更好地规划和执行任务。
同时,在引入专家估算时,我们还应该注意到一些潜在的偏差和风险。
例如,专家本身可能会受限于其个人经验和知识,因此,我们需要评估估算的准确性并对其进行适当的调整。
4. 利用估算工具在实践中,我们可以借助一些专业的工具来进行工作量估算。
这种方法通常需要借助有关历史数据和类似项目的资源统计数据,同时,通过使用更加精细的算法来更好地预测任务所需的资源。
尽管利用估算工具可以大大加快估算的速度和精度,但一些工具可能会导致模型的不足之处过于明显。
因此,在使用工具时,我们还需要对估算结果进行评估,以及考虑到不确定性和风险的因素。
同时,我们还需要设计并运行实施方案来应对在实践中出现的不确定性。
作为一个管理者,你是否被询问到某个项目要花多少时间,多少人力测试;或是作为一个普通的测试员,你是否被询问到要花多少时间来完成某个任务或是一次回归测试?我想大多数在软件行业的人或多或少都会碰到这样的关于工作量估计的询问。
那么你是怎么回答的呢?你对你自己的回答有信心吗?你是否最终发现实际上花去的时间和原本估计的时间大相径庭呢?不同的人会使用许多不同的方法来估算及安排他们的测试工作量。
不同的组织根据项目的类型,项目的内在风险,涉及的技术等而使用不同的方法。
但是大多数时候测试工作量是和开发工作量合在一起的,没有一个单独的数字。
首先让我们来看看一些常规的估算测试工作量的方法:1. Ad-hoc方法这种方法下的测试工作量不基于任何确定的期限。
工作一直继续直到达到一些由管理或市场人员预先定下的时间表。
或者,一直到用完了预算的经费。
这种情况普遍存在于非常不成熟的组织,并且时常有100%的错误差数。
2. 开发时间的百分比法Percentage of development time这个方法的基本前提是测试工作量依赖于开发时间/开发工作量。
首先,开发工作量使用例如LOC或FP方法被估算出来,然后使用一些探索性的方法来限制测试的工作量。
这种方法变化比较大而且通常基于以前的经验。
通常预留项目的总花费时间的35%给测试。
● 5-7%给组件和集成测试● 18-20%给系统测试● 10%给接收测试(或回归测试等)3. 类比法(经验值法或历史数据法)根据以前或相似项目(主要在项目性质,领域,规模上有相似)所积累的经验或历史数据来估算工作量。
类比法估计结果的精确度取决于历史项目数据的完整性和准确度,因此,用好类比法的前提条件之一是组织建立起较好的项目后评价与分析机制,对历史项目的数据分析是可信赖的。
需要收集以下相关的历史数据:● 在设计和实现阶段花费的时间● 测试工作的规模,例如用户需求的数量,页面数,功能点● 数据样式,例如实体,字段的数量● 屏幕或字段数量● 测试对象的规模,例如KLOC4. WBS(work breakdown structure)估算法将项目或产品分解为具体的工作,然后分别对各个工作进行时间估算,最终求和得出项目或产品的测试工作量/时间。