SQA 部门

SQA 部门的结构因组织类型和规模而异。下图显示了标准结构的示例以及 SQA 部门下的所有组件。在本章中,我们将讨论每个子部门的角色和职责。

SQA 部门

SQA 部门负责人执行的任务

SQA 部门负责人负责 SQA 部门及其子部门执行的所有质量保证任务。这些任务可分为以下类别 −

  • 规划任务
  • 单位管理
  • SQA 专业活动

规划任务

  • 编制单位年度活动计划和预算

  • 规划和更新组织的软件质量管理体系

  • 编制软件开发和维护部门建议的年度 SQA 活动计划和 SQA 系统开发计划

管理任务

  • 管理 SQA 团队的活动

  • 监控 SQA 活动计划的实施

  • 提名团队成员、SQA 委员会成员和 SQA 受托人的职责

  • 准备特殊和定期报告,例如组织内软件质量问题的状态和每月绩效报告

SQA 专业活动

  • 参与项目联合委员会
  • 参与正式设计评审
  • 审查和批准与规范的偏差
  • 与项目经理和团队负责人协商
  • 参与 SQA 委员会和论坛

项目生命周期 SQA

与项目生命周期子单元相关的 SQA 任务可分为两组 −

  • "纯"管理跟进和批准任务(项目生命周期控制任务)

  • "亲自动手"或积极参与需要专业贡献的项目团队 SQA 活动(参与任务)

项目生命周期控制任务

  • 跟进开发和维护团队对 SQA 程序和工作说明的遵守情况

  • 根据相关程序批准或推荐软件产品

  • 监控向内部和外部客户提供的软件维护服务

  • 监控客户满意度并与客户的质量保证代表保持联系

参与任务

这些任务包括参与 −

  • 合同评审
  • 项目开发和质量计划的准备和更新
  • 正式设计评审
  • 分包商的正式设计评审
  • 软件测试,包括客户验收测试
  • 分包商软件产品的软件验收测试
  • 新软件产品的安装

SQA 基础设施运营任务

SQA 系统采用各种基础设施组件来顺利运行,即 −

  • 程序和工作说明
  • 支持质量设备(模板、清单)
  • 员工培训、指导和认证
  • 预防和纠正措施
  • 配置管理
  • 文档控制

更具体地说,SQA 子部门关于这些组件的任务包括 −

  • 发布程序、工作说明、模板、检查表等的更新版本,并以硬拷贝和/或电子方式分发

  • 向新员工和现有员工传达有关遵守和应用 SQA 程序、工作说明和类似项目的培训和指导

  • 向 SQA 受托人提供有关新程序和修订程序以及开发工具和方法等组件的指导

  • 监控和支持新程序和修订 SQA 程序的实施

  • 跟进员工认证活动

  • 提出需要采取预防和纠正措施的主题,包括参与 CAB委员会

  • 跟进配置管理活动,包括参与 CCA 委员会

  • 跟进文档程序和工作说明的合规性

SQA 内部审计和认证任务

软件组织内部或由软件组织执行的 SQA 审计类型可分为以下几类 −

  • 内部审核

  • 对分包商和供应商进行审核以评估其 SQA 系统

  • 认证机构执行的外部审核

  • 客户在接受组织作为供应商之前希望评估 SQA 系统而进行的外部审核

前两类审核由 SQA 子部门发起和执行,后两类审核由外部机构发起和执行。

SQA 部门执行以下内部 SQA 审核任务

  • 制定内部 SQA 审核年度计划

  • 执行内部 SQA 审核

  • 跟进受审核团队和其他人员进行的纠正和改进单位

  • 编制定期总结报告,报告审核结果的状态,包括改进建议

SQA 部门对分包商和供应商的审核执行以下任务 −

  • 编制分包商和供应商 SQA 审核年度计划

  • 执行分包商和供应商 SQA 审核

  • 跟进受审核的分包商和供应商进行的纠正和改进

  • 从内部和外部来源收集有关分包商和供应商绩效的数据

  • 根据审核报告以及从其他内部和外部来源收集的信息,定期评估组织的认证分包商和供应商的 SQA 系统。评估报告包括 −

  • 关于分包商和供应商认证的建议

  • 认证机构执行的外部审核涉及以下任务 −

    • 协调认证审核的内容和时间表

    • 准备认证机构指定的文件

    • 指导受审核团队并进行认证审核所需的准备工作

    • 参与认证审核

    • 确保执行所需的更正和改进

组织客户执行的 SQA 审核涉及以下任务 −

  • 协调审计内容和时间表

  • 准备客户审计员指定的文件

  • 指导受审计团队并执行组织客户进行 SQA 审计所需的准备工作

  • 参与审计

  • 确保执行所需的更正和改进

SQA 支持任务

SQA 支持服务的大多数消费者位于组织内部。他们包括项目经理、团队负责人和 SQA 受托人。他们的任务包括 −

  • 制定项目计划和项目质量计划

  • 安排评审小组人员

  • 选择措施解决已确定的软件开发风险

  • 选择措施解决进度延误和预算超支

  • 选择 SQA 指标和软件成本组成部分

  • 使用 SQA 信息系统

  • 选择开发方法和工具,以反映 SQA 部门积累的故障经验数据

SQA 标准和程序任务

SQA 子部门密切参与决定采用哪些 SQA 标准以及开发和维护组织的程序。为履行相关义务,SQA 部门需要−

  • 制定新程序和程序更新的年度计划

  • 负责新程序和程序更新的开发,并参与适当的委员会和论坛

  • 跟进 SQA 和软件工程标准的发展和变化;引入与组织相关的附加程序和变更

  • 根据专业标准的变化启动程序的更新和调整,包括采用或删除组织所采用的标准

SQA 工程任务

跟进专业进步、解决操作困难和专家分析故障是此 SQA 子部门的直接目标。

因此,主要工程任务涉及以下内容 −

  • 针对新开发工具和当前使用的开发工具的新版本测试质量和生产力方面

  • 评估新开发和维护方法以及方法改进的质量和生产力

  • 开发解决当前使用的软件开发工具和方法应用中遇到的困难的解决方案

  • 开发用于测量软件质量和团队的方法生产力

  • 在分析软件开发故障和制定解决方案的过程中向 CAB 委员会提供技术支持

SQA 信息系统任务

SQA 信息系统旨在促进和改善 SQA 系统的运作。所涉及的任务包括 −

  • 为软件开发和维护部门开发 SQA 信息系统

    • 收集活动数据

    • 处理,例如,定期报告、列表、异常报告和查询

    • 处理,例如,定期报告、列表、异常报告和查询

  • 开发 SQA 信息系统,以方便 SQA 部门处理软件开发和维护部门提供的信息,包括软件质量指标和软件质量成本的估算

  • 更新 SQA 信息系统

  • 开发和维护组织的 SQA 互联网/内联网站点

SQA 受托人及其任务

SQA 受托人是主要参与促进软件质量的成员。这些成员提供成功实施 SQA 组件所需的内部支持。

他们的任务可能因组织而异。因此,它可能与部门相关和/或与组织相关的任务。

与部门相关的任务

  • 支持同事解决软件质量程序和工作指令实施过程中的困难

  • 协助部门经理执行相关的 SQA 任务

  • 促进合规性并监督同事对 SQA 程序和工作指令的实施

  • 向 SQA 部门报告重大和系统性不合规事件

  • 向 SQA 部门报告严重的软件质量故障

与组织相关的任务

  • 触发组织范围内 SQA 程序和工作指令的变更和更新

  • 触发开发和维护流程的改进组织

  • 向 CAB 提出关于在各个部门观察到的反复出现的故障的解决方案的申请

  • 确定整个组织的 SQA 培训需求,并提出由 SQA 部门进行的适当的培训或指导计划

SQA 委员会及其任务

SQA 委员会可以是永久性的,也可以是临时性的。不同组织的任务可能存在很大差异。

  • 常设委员会通常处理 SCC(软件变更控制)、CA(纠正措施)、程序、方法开发工具和质量指标。

  • 特设委员会通常处理一般感兴趣的具体案例,例如更新特定程序、分析和解决软件故障、制定针对目标流程或产品的软件指标、更新软件质量成本和特定问题的数据收集方法。

常设 SQA 委员会是 SQA 组织框架的组成部分;其任务和运作通常在组织的 SQA 程序中定义。

特设委员会是针对每个问题短期设立的,其成员由负责软件质量问题的高管、SQA 部门负责人、SQA 子部门、常设 SQA 委员会或发起成立并对工作感兴趣的任何其他机构提名。该机构还定义了特设委员会的任务。