从软件开发成本度量的角度来看,在完成了对软件项目的规模、工作量和成本的估算后,并不意味着度量工作的结束。相反,在整个软件项目的生命周期中,还需要持续不断地对软件成本进行测量和分析。这些测量和分析的工作,不仅仅是单个软件项目成功的关键因素,也是组织软件开发能力提升的基础。
因此,在软件项目前期完成项目的规模、工作量的估算后,为满足项目计划和监控的要求,在项目过程中应该对实际规模、工作量进行测量;为满足项目收尾的要求,在项目结束后对项目进行决算时,也需要对项目的实际规模、工作量进行测量。
规模测量
软件项目的规模一般会随着需求的逐渐清晰而不断明确,规模测量的时间点可以在软件项目的里程碑点进行。常见的项目里程碑点包括:
a) 需求完成:需求调研和分析完成,形成基线化的需求文档。需求完成后,功能规模理论上已确定,但考虑到实际的需求文档质量,可能要在设计完成后才可以进行详细功能点计数。
b) 设计完成:设计人员根据用户需求文档,完成设计文档并形成基线,以便提交开发人员进行编码和开发。
c) 编码完成;开发人员根据设计完成编码。
d) 内部测试完成;一般可选择系统测试完成时。
e) 项目结束后:系统上线并通过试运行,或通过用户验收测试等活动,得到用户可以结项的确认之后。
在各个里程碑点进行规模测量时,所采用的方法建议与规模估算所采用的方法一致。如规模估算阶段采用IFPUG方法,则后续各个里程碑点进行规模测量时,也应采用IFPUG方法。
此外,除了上述项目里程碑点之外,当项目发生正式的需求变更时,也有必要对规模进行测量。测量结果既是变更评估的依据,也将是之后项目计划调整的输入。
工作量测量
当项目的规模发生变化的情况下,典型情况如发生需求变更后,毫无疑问要对工作量进行测量,以保证规模变化之后工作量的准确性。
很多项目,在软件规模不发生大的变化的情况下,项目在具体执行过程中的工作量仍可能受到技术和人员等多方面的影响。如一个软件在开发过程中遇到重大技术问题需要攻克,即便软件规模本身没有大的变化,仍需要对工作量进行调整。
由于工作量受影响的因素较多,因此需要较为频繁地对实际工作量进行测量。一般来说,可以按下述两种时间点对工作量进行测量:
a) 定期。随着项目的进行,可定期对工作量进行测量,常见的频率为每周、每半月或每月。如项目管理过程中本身有定期的报告制度,如项目周报、月报等,可随项目报告的周期进行工作量的测量。其测量的结果也会对项目报告、以及后续项目计划造成影响。
b) 事件驱动。除定期地对工作量进行测量之外,如在项目过程中出现较为重大的事件,也应随着事件的发生而对工作量进行重新测量。需求变更之后的工作量测量就是典型的事件驱动。除此之外,如上文提到的例子,在软件开发过程中突遇重大技术问题,可能需要投入人力加以解决,势必对工作量造成影响,需要重新测量工作量。
此外,除了需要对项目总体的工作量进行测量之外,宜对项目的不同活动、不同阶段的工作量分别进行测量。例如:对不同类型的活动如需求活动、设计活动、开发活动等进行单独测量,也可以对策划阶段、设计阶段、开发阶段等不同阶段进行单独测量。这样做的目的,一方面是为了支持项目管理工作,为项目计划的调整带来更准确的输入;另一方面可以积累各个活动和阶段的度量数据,为组织级的度量分析工作做数据的准备,进而可以指导后续项目的策划工作。
以上就是软件造价评估公司中基数联为您带来的“软件开发成本测量之软件项目规模和工作量测量”所有内容,更多软件开发成本估算知识敬请关注中基数联!