审计功能点估算
审计功能点估算(上)—收集和评估证据
51CMM.COM 编译 翻译:邹凤 [2004/06/17]
简介
一说起审计师和审计,我们中的许多人都会感到不安。如今,许多行业都有独立的监察员和审计师。随着功能点算法应用日渐广泛,并成为决策支持的重要组成部分时,那些使用功能点估算的结果需要被独立复审和审计。审计是一个由权威、独立的专业人士,收集和评估特定实体的大量信息证据,并根据这些大量信息和已建立的标准之间的吻合程度进行决策和汇报的过程。
和其他有既定指导方针的行业(如会计业)一样,独立的审计师可以对实际功能点估算和整个功能点估算过程提供很有价值的反馈。原则上审计师应该是独立的,但仍可来自企业内部,可以是你的度量团队中的一部分,也可以来自是独立的第三方团队。
任何一项审计都必须有可证实的信息和一些标准(最好是IFPUG 4.0)做为评估的依据。审计师可能会做一些商业假设来审核记录,并获取功能点估算的可靠性信息,另一方面,审计师也需要足够多的信息,以便离开评估点现场后仍可以复审。
收集和评估证据
审核功能点估算过程以确保其遵守了IFPUG 4.0 估算指导方针被称之为兼容性审计。兼容审计的目的是审核功能点估算是否遵守IFPUG 估算实践委员会制定的每个程序和操作规程。其结果通常被汇报给被审计的组织单位里的某个人,而不是大多数用户。
证据即审计师用于决定被审计的功能点估算是否遵守IFPUG 指南的所有信息。证据有很多种表现形式,如功能点数据,系统文档,和开发人员、用户的交谈信息,和执行最初估算的人的面谈信息等。审计师收集证据并由此分析出结论。
当然,功能点数据本身也可以做为证据,但只使用功能点数据是远远不够的。想单纯使用功能点数据而不评估其他证据就得到正确的功能点估算是不确实际的。
比如, 如果一个审计师接到一个有500000个功能点的公司的审计任务,那他就不可能逐一审计每个功能点。这时候,审计师会只选择20到30个应用去做实际审计。实际审计样本的大小因人而异,且每次审计都会有所不同。其数量必须由每个审计师针对每次审计决定。样本大小选取的合理性取决定于几个因素,其中最重要的两个因素是审计师对错误数量的预期和客户内部功能点估算程序的有效性。本文最后建议的20步曲可以有效帮助你决定这两个因素。
另外,证据必须依附于审计或和审计相关。审计师必须擅长发现那些要进行验证或进一步复审的区域。比如,审计师在交谈中发现外部输入和外部接口文件有混淆,在这种情况下,审计师应复审实际系统文档和功能点估算,以确认所有的外部输入和外部边界文件都正确处理。另一个例子,可能功能点估算人员从没做过GUI 应用估算,这时,审计师应复查一系列的页面屏幕,以保证如radio boxes,check boxes等这些项都估算正确。
证据必须是可信的或令人信服的。如果证据被认为高度可信,将大大有利于审计师的功能点。另一方面,如果证据是可疑的,比如不充分的文档记载或旧的文档,则审计师将不得不深入仔细地审核这些地方。另外,审计师应在最终报告中说明有哪些证据是他们要求,而客户不能提供的。
所有证据都应该在评价(valuation )、完整性(completeness )、分类(classification )、分级(rating )、机械准确性(mechanical accuracy )和类比分析(analytical analysis )
的基础上被评估。
评价(Valuation ):目的是确定功能点估算中包含的检查项是否该包含。有可能最初的功能点估算包含了多余的事务或不应包含的文件。
完整性(Completeness ):目的是将所有事务和文件包含进最终的功能点估算。应用小组复审最终的功能点估算以确保包含了所有的事务和文件, 这点非常重要。评价和完整性分别强调审计的两个相反的关注点。评价处理那些可能出现的多余事务或文件,而完整性则处理不被包含的事务和文件。
分类(classification ):分类决定所有的事务和文件是否被正确分类。比如说确保所有的外部输入和外部接口文件都已经被正确分类就非常重要。
分级(rating ):分级决定所有的事务和文件是否被正确的划分为低、中、高三个等级。为达到这一目标,详尽的数据元素和文件的检查是值得借鉴的手段。
机械准确率(echanical Accuracy):检测机械准确率包括审核样本的计算结果是否正确及信息各文档中的传递是否正确。复查计算结果包含最初功能点数学计算正确性的验证,如果在计算功能点的时候没使用自动计算工具,这个验证就必不可少。
类比性分析(analytical Analysis):这个步骤是另一种验证功能点估算的方法。举个例子,外部输入、外部输出、外部查询、部逻辑文件,和外部借口文件的比率是可以和其他相近商业目的的应用进行类比。同样,通用的系统功能的复审也可以和相似的应用进行比较。该步骤应在审计的早期进行,以便审计师可以决定哪些关键区域需要更透彻的审查。 在审计或功能点估算验证进行之前,都应该有一套程序支持。这套程序最低限度应该涵盖以上提到的四个领域。它不必是一个人人必须遵守的严格文档,但它是审计师执行审计的指导方针。在本文最后提供的“功能点估算审计20步曲”可以帮助审计师编写自己的指导方针,也可以协助他们执行功能点估算审计。
审计功能点估算(下)—审计功能点估算20步曲
51CMM.COM 编译 翻译:邹凤 [2004/06/21]
审计师
审计师必须有资质理解将要使用到的标准,有能力知道要收集哪些证据类型、数量大小,以便在审查完这些证据后可以得出正确的结论。同时,审计师必须能保持中立的态度,一个有能力但不能保持立场中立的审计师对整个审计来说帮助不大。
保持中立不能一概而论,但必须是一个目标。比方说,虽然审计师受人酬金,但他仍然能够保持足够的中立去执行让用户认可的审计。然而如果他们也是公司的雇员之一,也可能不能保持足够的中立。
报告的类型
审计过程的最后阶段是交付审计报告---即把发现的信息反馈给用户。各类报告虽有本质不同,但都必须告诉用户报告和IFPUG 估算指导方针的吻合程度。审计师可以有以下三种类型的报告。
和所有的审计一样,最常用的报告是“标准不合格项审计报告”。它在90%的审计中使用,功能点审计也不例外。标准不合格项报告在以下条件符合的情况下使用:
1.最初的功能点估算包含所有系统和用户文档。
2.遵守了IFPUG 估算实践指南
3.功能点估算被详尽记录且没有大的问题。
另一个审计报告是“需拆离情况报告”。以下两种情况需要从标准不合格项审计报告中拆离出来:
1.审计师的范围受限。当审计师没有收集足够的证据来判定功能点估算是遵守IFPUG 4.0估算指南完成时使用。
2.功能点估算不遵守IFPUG 4.0估算指南完成。在这种情况下,最终报告中要包含一份详细分析报告,分析哪些关键域不遵守估算指南。
另外,如果审计师确信整个功能点估算中存在材料虚假或者让人容易误解的情况,以致于估算结果无法公正地体现被评估应用的功能范围时,审计师也会提出不利的结论。这种情况下, 审计师应该非常明确的知道他们为什么做出这样的结论。
审计功能点估算20步曲
1.功能点估算任务是否被包含在总体项目计划内?所有项目团队成员参与的活动都应列入项目计划,确保投入了足够的工时来完成估算任务。
2.执行功能点估算的人可曾接受功能点估算培训?他们有证书么?
很多功能点估算是由没经过功能点估算培训的人完成。正规的课堂培训虽然不一定是必须的,但执行功能点估算的个人应该熟悉IFPUG 4.0估算原则。
所以, 最好是完成估算的人是通过IFPUG 认证考试的。通过验证考试并不保证估算的准确性,但它一定程度上保证了个人能力。
3.是否遵守IFPUG 4.0估算实践手册?
4.功能点估算者使用了当前项目文档去估算功能点?如果不是,文档有多旧?
5.项目组成员是否参与功能点估算
项目组成员应该是最透彻理解将要交付给用户的系统功能的人, 因此, 他们是提供项目信息的最好资源。但实际情况是常常一个功能点估算都完成了,项目组成员还被蒙在鼓里。功能点估算者只是收集一些文档,然后在一个房间里坐几天就出来一个功能点数字,这样项目组成员难免会质疑该数字的正确性。
6.是否遵守内部开发的功能点估算指南?
7.应用是否从用户的角度进行估算?
8.系统是否从一个逻辑而不是纯粹物理的角度估算?
9.为功能点估算建立的边界是否与其他度量(时间报告,缺陷跟踪)的边界匹配?如果不,为什么?
10.如果是对一个优化功能的估算,则它的边界和一个应用系统的边界是否一样,如果不是,为什么?
11.边界改变过么,如果改变过,为什么?
12.是否使用工具进行估算,还是手工完成?
如果是手工完成,则需要复审数学计算的正确性。
13.每个单独的功能点元素(ILF,EIF,EI,EO, 和EQ )的比率是否符合行业均值,如果不是,是否有合理的理由?如果审计几个应用,事务和文件的比率是否相似?
14.事务(EI,EO 和EQ )和文件(ILF 和EIF )清单是否被项目组成员评审过。功能点估算最大的错误是疏漏(没有包含所有东西),所以,项目组对功能点估算的完整性和准确性进行复审就非常重要.
15.总的数值调整参数是否和其他项目一致?总的数值调整参数应落在所有被评审的应用的平均调整参数的正/负5%之间。如果超出这个范围,需要有书面文档说明。举个例子,
如果VAF 的平均值是1.05,则VAF 应该在1.0和 1.10间。
16. 是否14个通用系统特性中的每一个都落在其他项目的范围内? 是否每个通用系统特性都在平均 GSC的一个点内。比如,如果一个特定的GSC 被定级为2.0,则该GSC 必须是1,2或3。如果GSC 超出这个范围,则需要有一个书面说明。
17.是否所有和功能点估算有关的假设条件都被文档化了?所有假设条件都应当文档化以便日后需要的时候备查。
18.这些假设条件是否与其他项目一致?
19.是否所有的影响功能点估算的假设条件都被提交给一个中心功能点团队?所有的假设都应被中心功能点团队评审。
20.估算是否被一个独立的功能点认证专家组评审?
结论
在几乎所有大企业里,都有审计师和监督员,功能点分析员也不例外。我们没必要去惧怕审计或审计师。因为如果他们审计正确,将会给功能点估算过程提供非常有价值的反馈。审计报告允许你去纠正任何不正确的功能点估算,并按最新结果修正原来的结论。 注释:
1. IFPUG--The International Function Point Users Group,即国际功能点用户组,该组织在1994年发布了 IFPUG 4.0估算实践手册。
2. GSC---General System’s Characteristics,即系统通用功能特性。
3. VAF---Value Adjustment Factors,即参数调整因子。