技术开发 频道

QA力保软件外包安全

   通过沟通形成共识

   有效的应用软件开发需要持续的、大量的正式和非正式的沟通,尤其是在与分散于各地的第三方进行合作开发时。这种情况下建立和利用非正式的关系交换意见的可能性是非常小的。

   另外,对于很多软件开发者来说,英语并非他们的母语,在定义、语言和用法上的细微之处通常会引起沟通的障碍。

   应用软件开发外包需要外包服务提供商同时具备行业和业务知识,这又给开发工作增加了一些难度,大大增加了由于不切实际的预期而产生沟通错误和彻底失败的可能性。

   IT人员应该通过正式的沟通日程表严格控制与外包服务提供商之间的沟通,包括每周与应用软件开发人员进行讨论,每两周或每个月与项目经理进行工作总结。

   这些讨论应该包括项目总体进展、任务澄清和项目时限等内容,总结应采取书面的形式,并经过确认,以避免含糊不清。

   由于外包服务提供商总是倾向于仅仅按照合同书面意思而非合同实质内容来工作,因此,IT人员应该尽可能将所有的要求和细节都写入合同中,以避免不必要的误解、额外的成本和时间的拖延。

   加强质量的监督和控制

   除了沟通,适当的监督和控制对得到规定质量的编码来说是必须的。应该根据最优做法提前为外包服务提供商、测试人员和质量保证人员制定相关的政策和流程。

   另外,还应该采用自动化技术支持合作和追踪工作。集中的进度报告、特例报告、问题追踪、建议和决定、责任制、坚持标准和版本控制等都是所需要的。

   质量保证人员的中心任务是建立有利于应用软件开发的监测、流程、技术和质量控制体系,确立实体间的合作方式,管理应用软件的开发,遵循相应的规范。

   这些问题的界定在项目开始时常常没有明确地列在合同中,一些IT人员错误地认为服务水平协定是惟一应该遵循的标准。服务水平协定主要集中于预算和成本方面,没有考虑流程监测和质量的评价。

   为了保证开发人员的工作进展,确保应用软件和数据在物理和逻辑方面都安全,每一开发阶段都需要自我控制和监督。

   敏感数据不可外泄

   不管外包服务提供商是在国内还是国外,与外包服务提供商共享知识产权都会给企业带来不必要的风险。一个值得推荐的解决方法是如果有可能的话尽量避免与第三方分享任何敏感数据。

   要做到这一点就要在企业内部进行所有的测试。事实上,在内部完成所有的开发和测试工作不仅仅有助于企业数据的安全性,而且能确保质量。

   有效地降低外包的风险同样需要物理安全性、系统隔离和技术安全性。很显然,外包环境和企业内部环境应该设置相应的权限,限制进入某些应用开发所使用的区域、数据库和系统。

   IT人员可能需要采用一些保密的程序,将电脑的软驱去除、禁止使用USB接口和打印机。

   另外,IT人员可能需要限制某些或所有外包服务提供商应用软件开发人员进入企业系统,仅仅允许某些特定的人员进入系统查看敏感数据,而且在查看数据的时候要采用一些特定的客户端工具。

   及早制订测试计划

   一旦应用软件接受功能测试,应用软件开发人员应该将编码交给系统构建人员。系统构建人员将负责建立数据库和进行版本控制、配置管理、测试数据和输入以及测试系统。

   质量保证人员应该负责监测所有的构建和测试活动,确保所有工作的有效性、保密性、可量测性、安全性。开发和测试会耗费大量的时间,因此,在项目早期制订一个测试计划是非常重要的。

   这个计划应该围绕所有的内容,而且用于硬件、软件、人力和执行时间方面的预算也应该充足。许多项目往往是由于测试上的预算不足才导致整个项目超出预算和时间期限的。

   最后,为了尽量降低系统出现BUG所带来的风险,通常会专门安排开发和测试小组中的某些人员解决BUG问题。

   质量保证部门要把好关

   质量保证人员应该负责所有的变更管理和版本释放管理。因为质量保证人员负责这些内容,所以有些公司的系统构建和测试人员都属于质量保证部门。

   然而,这不是必须的,而且从职业发展角度来看也不是很好。比如开发人员、测试人员应主要提高应用软件开发和系统方面的技能,一段时间之后,这些岗位上的人员可能就会转换角色。

   另一方面,质量保证人员主要应具备流程、版本释放和变更方面管理的能力。

   有些公司错误地让质量保证部门直接向开发部门汇报,原因是他们认为质量保证部门是应用软件开发生命周期上的一个环节。这样的组织结构会造成利益上的冲突。

   质量保证部门应该独立于开发和测试部门。这样做有助于更好地满足业务需求,有效地授权使用编码,确保保密性和安全性,对质量保证的额外要求也能够很好地重视。

   质量保证部门应当是公司的看门人,避免企业过早地把编码外泄。

   IT人员应该在企业内部履行所有的质量控制职能,为了避免利益冲突,应该让质量保证部门向企业运作部门汇报,而不是向应用软件开发部门汇报。

   除此之外,IT人员还应该确保在整个项目执行期间沟通渠道的开放和畅通,质量控制措施高于标准的服务水平协议,同时预算和费用标准在合同中认真界定。

   信息安全管理BS7799

0
相关文章