📜  估算技术-概述

📅  最后修改于: 2021-01-07 05:05:58             🧑  作者: Mango


估计是找到估计或近似值的过程,即使输入数据可能不完整,不确定或不稳定,该估计值也可以用于某些目的。

估算确定构建特定系统或产品将花费多少金钱,精力,资源和时间。估计基于-

  • 过去的数据/过去的经验
  • 可用文件/知识
  • 假设条件
  • 确定的风险

软件项目估算中的四个基本步骤是-

  • 估计开发产品的大小。
  • 以人月或人小时来估算工作量。
  • 估计日历月的时间表。
  • 以商定的货币估算项目成本。

估计观察

  • 估计不必是项目中的一次性任务。它可以在-

    • 获取项目。
    • 规划项目。
    • 根据需要执行项目。
  • 在评估过程开始之前必须了解项目范围。具有历史项目数据将很有帮助。

  • 项目指标可以提供历史观点和有价值的输入,以生成定量估计。

  • 规划需要技术经理和软件团队做出初步承诺,因为这会导致责任和问责制。

  • 过去的经验可以极大地帮助您。

  • 至少使用两种估算技术得出估算值并调整结果值。请参阅下一节中的分解技术,以了解对帐估算值。

  • 计划应该是迭代的,并且可以随着时间的流逝和更多细节而进行调整。

一般项目估算方法

广泛使用的项目估算方法是分解技术。分解技术采用分而治之的方法。通过将项目分解为主要功能或相关软件工程活动,可以逐步执行大小,工作量和成本估算。

步骤1-了解要构建的软件范围。

步骤2-生成软件大小的估计。

  • 从范围声明开始。

  • 将软件分解为可以分别估算的功能。

  • 计算每个函数的大小。

  • 通过将大小值应用于基准生产力指标来进行工作量和成本估算。

  • 合并函数估计以产生整个项目的总体估计。

步骤3-生成工作量和成本估算。通过将项目分解为相关的软件工程活动,您可以得出工作量和成本估算。

  • 确定要完成的项目需要执行的活动顺序。

  • 将活动划分为可以衡量的任务。

  • 估算完成每个任务所需的工作量(以人小时/天计)。

  • 合并活动任务的工作量估计以产生活动估计。

  • 从数据库中获取每个活动的成本单位(即成本/单位工作量)。

  • 计算每个活动的总工作量和成本。

  • 将每个活动的工作量和成本估算结合起来,以得出整个项目的总体工作量和成本估算。

步骤4-核对估算值:将步骤3的结果值与步骤2的结果进行比较。如果两组估算值都一致,则您的数字非常可靠。否则,如果发生大不相同的估计,请进一步调查是否-

  • 该项目的范围没有得到足够的理解或被误解了。

  • 函数和/或活动分解不准确。

  • 用于估算技术的历史数据不适用于该应用程序,已过时或已被错误地使用。

步骤5-确定差异的原因,然后调和估计值。

估算精度

准确性表明事物离现实有多近。每当您生成估算值时,每个人都想知道数字离现实有多近。考虑到生成时的数据,您将希望每个估计值都尽可能准确。当然,您不希望以一种会激起人们对数字的信心的方式来提出估计。

影响估计准确性的重要因素是-

  • 所有估计的输入数据的准确性。

  • 任何估算计算的准确性。

  • 用于校准模型的历史数据或行业数据与您要估算的项目的匹配程度如何。

  • 组织的软件开发过程的可预测性。

  • 产品需求和支持软件工程工作的环境的稳定性。

  • 实际项目是否经过仔细的计划,监视和控制,没有发生导致意外延迟的重大意外。

以下是一些获得可靠估计的准则-

  • 基于已经完成的类似项目的基础估算。
  • 使用相对简单的分解技术来生成项目成本和工作量估算。
  • 使用一个或多个经验估计模型进行软件成本和工作量估计。

请参阅本章中有关“评估准则”的部分。

为确保准确性,始终建议您至少使用两种技术进行估算并比较结果。

估计问题

通常,项目经理会使用估算进度表跳过估算规模。这可能是由于最高管理层或营销团队设定的时间表。但是,无论出于何种原因,如果这样做,那么在以后的阶段就很难估计时间表以适应范围的变化。

在估计的同时,可以做出某些假设。重要的是要在估算表中记录所有这些假设,因为有些假设仍未在估算表中记录。

即使是很好的估计也具有内在的假设,风险和不确定性,但通常会将它们视为准确的。

表示估计的最佳方法是通过一系列可能的结果,例如说该项目将需要5到7个月而不是声明该项目将在特定日期完成或以固定编号完成。个月。提防提交的范围太窄,因为这等同于提交确定的日期。

  • 您也可以将不确定性作为伴随的概率值。例如,项目有90%的概率将在确定的日期或之前完成。

  • 组织没有收集准确的项目数据。由于估计的准确性取决于历史数据,因此将成为一个问题。

  • 对于任何项目,都有尽可能短的时间表,使您能够包括所需的功能并产生高质量的输出。如果管理和/或客户有时间表限制,则可以就要交付的范围和功能进行协商。

  • 与客户就处理范围爬网达成协议,以避免计划超支。

  • 未能在最终估计中容纳应急费用会引起问题。例如,会议,组织活动。

  • 资源利用率应小于80%。这是因为这些资源仅在其80%的时间里都可以生产。如果分配的资源利用率超过80%,则肯定会出现滑点。

估算准则

在评估项目时,应牢记以下准则-

  • 在估算过程中,请询问他人的经验。另外,将自己的经验放在任务上。

  • 假设资源只能在其80%的时间内生产。因此,在估算过程中,资源利用率应低于80%。

  • 在多个项目上工作的资源需要花费更长的时间才能完成任务,因为在它们之间进行切换会浪费时间。

  • 在任何估算中包括管理时间。

  • 始终为解决问题,开会和其他突发事件做好准备。

  • 留出足够的时间进行适当的项目估算。估算过高是不准确的高风险估算。对于大型开发项目,估计步骤应真正视为一个小型项目。

  • 在可能的情况下,使用组织中类似项目的文档化数据。这将导致最准确的估计。如果您的组织没有保留历史数据,那么现在是开始收集历史数据的好时机。

  • 使用基于开发人员的估算,因为由将要从事工作的人员以外的其他人准备的估算将不太准确。

  • 使用几个不同的人来估计和使用几种不同的估计技术。

  • 核对估计值。观察估计之间的收敛或分布。收敛意味着您有一个很好的估计。宽带德尔福技术可用于使用一群人来收集和讨论估计值,目的是产生准确,无偏的估计值。

  • 在整个生命周期中多次重新评估该项目。