|
按:两会上,人大代表和政协委员们正就科技投入不足与科技投入低效同时存在的问题进行热烈讨论。其实,比投入效率 (单位投入导致多少论文、专利之类的产出?)更重要的是投入的效果(研发投入到底为经济社会发展做出了多大贡献?)。当然,测度效果比测度效率要难得多。
本所翻译的《政府研发的经济影响评估》(科学技术文献出版社,2005,本人审校)一书,反映了美国学者如何回答效果测度的问题,还是很值得我们参考的。以下是该书的第五章。
对于评估技术基础设施(在本例中指基础技术)的成本进而评估其潜在的经济利益,一个很好的例子是国际RTI公司为国家标准与技术研究院进行的一项因软件测试能力不充分给国民经济带来的成本的研究。有效的假说是,对软件测试研发的投资不足给软件供应链和利用软件的大产业都造成了重大的经济损失。下文对这项研究做了总结,以阐明需要哪些方法学步骤才不仅能完成想做的经济分析,而且能以方便政策制订者和产业利害相关者利用的方式来组织和提交研究成果。
几乎没有一种产品像软件那样在发货时带有如此多的缺陷。虽然媒体中充斥着软件失效造成了灾难性影响的报道,但这些事件也只是冰山的一角。软件开发商和用户都认为,软件失效会带来巨大经济损失。[1]
零零星星的证据表明,导致嵌入式错误或“病虫”的罪魁祸首是测试不充分。事实上,据国家标准与技术研究院的研究估计,软件开发过程中识别和纠正缺陷的过程约占开发成本的80%。而且,复杂性在不断增加,这不仅导致更多的错误,而且使检错和排错更加困难。软件产品的大小不再能以几千行源代码来量度了,而是百万行源代码。复杂性的不断增加和平均产品期望寿命的不断降低使得这些错误造成的经济损失也在增大。目前有半数以上的软件缺陷直到开发过程的“下游”才被发现,从而导致高得多的经济成本。[2]
因为测试方法和相关标准具有基础设施的特征,所以这个问题注定对研发政策分析很重要。事实上,行业观察家已经断言过,普遍问题是缺少测试基础设施,这是单个公司(无论是开发商还是用户)甚至众多公司都难以提供的。所以,进行一项研究来表征软件错误及其性质,进而评估造成的损失是适当的。
在为向政策制订者提供信息而进行的研究中,分析工作必须完成以下三步:(1)仔细地描述和表征引起经济损失的障碍的技术特性,以便最终制订出有效的研发计划(如果经济损失估计值很大,就表明确有必要上这样的研发计划);(2)评估行业遭受的经济损失,这种损失可能是由被研究的基础设施的一个主要子类所带来的;(3)证明为什么私营部门不能有效地克服引起损失的技术障碍。
因为不广泛利用一次数据源就不可能对一项特定技术进行经济影响研究,而且因为这些数据的收集比较昂贵,所以必须就经济分析的广度和深度做出重要决定。如何解决这个问题,将决定利害相关者对研究成果的关注程度,以及成果在影响政策反响方面的可信度。在与所研究的技术相关的供应链中选择哪些具体行业将影响数据收集的效率,因为各行业对研究参与请求的反应是不同的。而且,将案例研究的结果最终外推至国民经济层次的能力与所研究的行业的规模和代表性以及软件测试在不同应用领域的一致程度是强相关的。
在NIST的研究中,不充分的测试被定义为不能实时识别和排除软件错误。[3]选定了两个大的案例进行分析。在制造部门中选择了运输设备(汽车和航空航天),这是因为它对经济的重要性,而且有关供应链是自动化(计算机化)程度高的制造业的典型。在构成这些供应链的各行业中,不管是具体的制造工艺,还是增强了的纵向一体化,都高度依赖于软件。金融服务被选中作为服务部门的案例,不过这项研究还包括路由器和交换机制造商,因为其高度计算机化的设备和相关的复杂软件为金融服务提供了至关重要的主干。
成本差异构成了基础技术评估中的基本影响变量,而这些差异可以用几种不同的方式来构造。构造过程是识别产品或服务的有意思的特征,然后设计有促进基本数据收集之效的测度指标。在软件测试研究中开发测度指标时,首先考察国际标准化组织关于软件质量(质量显然受缺陷的影响)六大特征的清单,还有美国电气电子工程师学会(IEEE)关于潜在技术测度指标的清单。从一般的清单中选择测度指标,取决于特定的质量特征在多大程度上表现出来了,取决于对什么构成了一个好的测度指标的认识程度。对于软件测试,电气电子工程师学会提供了5种“有效性测度”来确定哪种测度指标对特定的开发领域或分析最有效。这些技术测度指标推动了成本估计。
无论最终选择了哪种经济测度,它们都须尽可能地与案例研究中的行业的实际能力相匹配,以便对数据收集工作做出响应。在软件测试案例中,质量测度指标的缺乏(或者至少对质量测度指标应当是什么的问题缺乏行业共识)使得大多数公司仅仅对测试时出现的缺陷数进行统计。这种状况大大妨碍了成本影响估计[4]。
这种状况引发了一个决定,即定义一些总体性的成本测度指标,它们表示与一般测试结构相联系的成本的加总,而不是定义与具体测试方法或活动相联系的成本。例如,成本被分为“软件发布前的劳动力成本”,“硬件成本”,“软件成本”,“外部测试成本”和“售后服务成本”。这样,所选择的成本处理方法与公司的成本数据的保存或汇编方式更加相容。
首先,要求被调查的行业对象根据目前的做法(基线场景)为指定的成本类别提供数据,在目前的做法中,错误的出现与这些错误的识别和排除之间有延误。为了获得所需要的与测试不充分相关联的成本差异之估计值,设计了一种反事实的情景,即要求被调查者估计一下假定检错和排错在软件开发的同一阶段发生,能削减多少成本,最后的这一步很重要,因为它有可能允许对第二节中描述的三个财务比率(影响测度)进行估计。
对运输设备案例研究而言,数据是从软件开发商(计算机辅助设计/计算机辅助制造/计算机辅助工程和产品数据管理软件商)和用户(主要是汽车公司和航空公司)搜集到的。对于服务部门案例,金融服务分析所用的数据也是从软件开发商(路由器和交换机,金融电子数据交换,结算所)和用户(银行和信用合作社)收集的。[5]
这项研究得出的结论是,提高软件质量之路是大大改进软件测试,而不是进行更多的测试。[6]然而,测试方法具有极为显著的基础设施特点,因为必须采用广为接受的(标准化的)方法,以向买方保证确实已达到了较高的质量水平。这种广泛使用(标准)的要求,加之不断缩短的技术生命周期,以及随后产生的将新一代软件比竞争对手更快地推向市场的压力,导致对支持软件测试的基础技术的投资严重不足。
如表8所示,如果没有标准化的和全面的先进测试基础设施,则软件测试基础设施不充足给这两大产业群带来的年度成本估计会达到58.5亿美元。由于各行业在软件开发与利用方面的相似性,尤其是软件测试劳动力成本的相似性,可以对美国整个经济蒙受的成本费用进行预测。利用两个案例中的雇员人均影响值,外推至其它制造业和服务业,则因软件测试基础设施不完备而发生的年度成本估计为595亿美元。
这项研究成果看似很容易证明开展这项研究的合理性。然而,这样一种先验动机一般是基于零星的观察证据,而这种证据往往是不很准确的。在这个案例中,可以得到大量的信息来支持这样一种命题:设施不足带来巨大的经济成本。另外,零星观察证据表明,先进的测试方法不易获得,不易充分验证,要配备测试套件,然后才能作为行业标准被接受。据称,标准化测试工具、套件、原件、参考数据、参考手段和经历了严格证明过程的测度指标,均有可能对目前困扰软件市场的测试不足问题产生很大影响。
然而,成功地证明测试不足带来了巨大的经济成本之后,又会产生决定政府或行业的适当反应问题。理想的情况是,如果所有的软件缺陷能够在其出现的开发阶段被识别和排除(即实时地),给这两个产业群以及给经济所带来的总体经济利益将分别是58.5亿美元和595亿美元。完全清除复杂的技术基础设施障碍是不可能的。由于意识到这样一种“理想的基础设施”是无法获得的,分析人员在数据收集阶段请行业专家就软件错误之识别和排除的时滞量能合理减低多少做出估计。根据此项信息,一个“可行的、改进了的基础设施”场景就被构建出来。这个改进了的基础设施场景估计:会给所研究的这两个产业群带来共计21亿美元的年度效益,给整个美国经济带来222亿美元的年度效益。
表8 软件测试基础设施的经济分析(单位:10亿美元) |
||||||
|
软件测试基础设施不足 所带来的成本 |
基础设施改进所带来的 潜在的成本降低 |
||||
供应链环节 |
美国经济 |
运输 设备 |
金融 服务 |
美国经济 |
运输设备 |
金融 服务 |
软件供应商 |
21.2(36%) |
0.37 |
2.34 |
10.6(47%) |
0.16 |
1.20 |
软件用户 |
38.3(64%) |
1.47 |
1.01 |
11.7(53%) |
0.43 |
0.31 |
合计 |
59.5(100%) |
1.84 |
3.34 |
22.2(100%) |
0.59 |
1.51 |
注意:(1)运输设备主要包括汽车和航空航天工业;(2)软件开发商包括运输设备制造业中的计算机辅助设计/计算机辅助制造/计算机辅助工程和产品数据管理,以及金融服务业中的金融电子数据交换,票据交换所软件,路由器和交换机软件。 |
这项研究估计,一项技术目标合理、财政成本适中的研发计划可望降低经济成本220亿美元,它就是政府的政策反应可能带来的总效益。应该对阻止充分的软件基础设施问世的技术和经济障碍进行详尽分析,然后在此基础上评估消除估计出的总成本所需要的研发计划,从而可以对研发投资不足进行评估。
对政府作用的需求源自所需的测试基础设施的公共产品特性。已纳入标准的这些基础设施,只有被广泛而普遍地使用时,才能产生巨大价值。普遍利用意味着,相互竞争的供应商及其顾客拥有共同的所有权,这样,公司就没有积极性进行所需的投资。通常会成立公司联合体来颁布标准,但这些合作通常缺少技术专长和资源,不能为那些标准提供基础性技术的基础。
这项案例表明,要设计和开展针对特定技术基础设施的前瞻性分析,并用政策制订者和其他利害相关者易消化理解的方式解释结果,就需要多学科方法。在微观经济学层面上对技术指标和影响的恰当测度进行严格设计,并对一次数据进行审慎的、系统化的收集,这是提供与决策相关的可靠成果的唯一方式。测度指标必须被看作是对整个技术,尤其是对其基础设施要素的复杂性的正确捕获。所选的影响测度必须被广泛接受,并且被认为适合于所分析的经济活动的集总层次水平。
随着更多的此类研究的进行,方法论将得到改进,其成果也将更多地被决策者所接受。特别是,由于这些研究的复杂性,所以开展这些研究的频度必须足够高,这样不仅能使其一般方法论被接受,而且能使决策者在理解和使用这些研究成果方面,达到较高的接受水平。
NIST近期进行的前瞻性经济研究的一个例子如表9所示。正如测度体系的类型所估计的,这些研究的范围(行业覆盖面)大小不一。表中的第一项研究,即对汽车供应链中互操作能力不足所带来的成本的分析,估计该供应链蒙受的年度成本为10亿美元。由于这项研究只从一条供应链(实际上只是那条供应链的一段)收集数据,所以其成本估计不能像软件测试研究那样外推至国家层面。然而,由于这项分析的质量较高,并且各方利害相关者认识到,其它制造业供应链(如航空航天业)同样具有成本高昂的互操作问题,促使美国国会于2002年通过了企业集成法。这项法律授权NIST帮助产业界开发基础技术并制定相关标准,以降低数据文件格式不兼容所带来的成本,从而提高供应链中各行业之间电子数据交换的效率。
表 9 基础设施投资不足所造成的成本之研究 |
|||
研究的重点 |
所覆盖的行业 |
所研究的 基础技术 |
年度成本 估计值 |
互操作性成本 |
·汽车供应链 |
·电子产品设计数据格式标准 |
10亿美元 |
取消管制 |
·电力公用事业 |
·测度方法 ·系统监测和控制技术 |
31-65亿美元 |
软件测试 |
·运输设备 ·金融服务 |
·测试工具和技术 |
600亿美元 |
医学测试 |
·医学测试实验室(3个案例之一) ·医院 |
·测度方法和质保技术 |
4-13亿美元 |
表9中其它研究的覆盖范围各不相同,因此所估计的成本也各不相同。医学测试不足的成本估计来自三个计划中的案例研究(血液含钙量测试)的第一个。显然,当所有三个案例研究都完成时,估计出的成本将要大得多,可能引起利害相关者的更多关注。
对发电业取消管制的含义之研究主要是对有效建立新市场时所产生的技术问题的评估(现在,纵向一体化的公用事业公司只允许从事电力服务三个基本阶段——发电、输电和配电中的一项或两项业务)。这些市场的接合部位需要解决交易成本的新标准,而行业与垂直供应链之间的市场交换中总有交易成本发生。然而,这项研究没有重视量化分析,所以,估计出的成本在研究报告中被适当地描述成近似值。
[1] 显然,缺陷软件给最终消费者带来了巨大成本。生产率和收入的大大下降乃是源自效率的降低或经济活动事实上的中止。然而,由于定义和估计的困难,这些最终成本(例如,一个制造工厂停工或一个证券交易所停止交易)未包含在研究之中。
[2] 现在,产业界每年要花费10亿多美元用于软件测试工具,预计这项开支到2004年将达到26亿美元。大约有30.2万名员工在从事测试和调试活动,他们约占计算机编程人员和软件工程师总数的1/4。
[3] 注意,这种对检错和高效排错的重视,与减少软件错误的数量,是截然不同的思路。
[4] Research Triangle Institute〔2002年,第1—7页〕。似乎没有几家组织在应用先进的测试技术,诸如根据测试数据来预测字段的可靠性,计算缺陷密度以便将自己产品的质量与其它公司的产品质量作比较。
[5]数据收集手段的基本形式和相关技术在第三章第三节已经讨论过。
[6] 总之,这项研究估计,有80%的软件开发成本已经被分配到测试活动中,所以,单单进行更多的测试看来不是一项高回报的战略。反之,通过开发可被产业界用作标准的更好的测试方法来提高测试基础设施的效率,倒不失为合理的对策。
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-11-24 09:58
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社