从事软件质量保证工作已有几个年头,经常有朋友问起软件质量保证到底是干什么的?每次总回答就是辅导和监督项目开发按照公司研发过程执行的,仔细想想实际并没有这么简单,为了让更多朋友了解质量保证这个岗位,在此结合这几年的工作经验进行如下总结,若有不对的地方欢迎大家指正与交流,谢谢!
1、什么是质量保证?
在CMMI中,质量保证的英文全称是Process and Product Quality Assurance,即过程与产品质量保证。一般大家更习惯叫质量保证或QA,它的目的是为员工和管理层提供过程和相关工作产品的客观洞察。之所以说它客观是因为:
1)质量保证人员是一个独立于项目组之外的第三方审计人员,不能是直接参与开发、测试和项目管理的人(当然实际也有例外,有些公司QA可能是兼职的);
2)质量保证人员不受监督对象部门的绩效评价;
3)质量保证人员具有独立的问题汇报渠道(可以跨级上报——QA很重要的特权)。
2、软件质量保证工作内容?
一般设有软件质量保证岗位的公司都有一套依据自己公司实际研发现状制定的完整研发过程体系,所有的软件质量保证人员入职一家新公司,首先需要做的事情就是学习和深刻了解该公司研发过程体系,否则后续工作是无法开展的。
一般软件质量保证工作内容主要分三大块:
1)过程辅导
依据研发过程体系辅导所有开发项目/版本前期及项目过程各个环节及各环节具体活动执行(含流程、方法、模板及过程中相关工具的使用)。
辅导时机:
● 到达项目/版本计划中计划的时间点
● 触发事件驱动(如:邮件)
辅导方式:
● 口头
● 邮件
● 电话
● 通讯工具(如:QQ、RTX等)
● 必要时可以开展正式的课堂培训(一般很少)
2)过程检查
所有开发项目/版本开发过程中,依据当前的研发过程体系客观的对实际执行情况进行检查与评价。
检查的方式:
● 参加项目会议(评审会、周会)
● 与各个环节人员沟通
● 触发事件驱动(如:邮件)地进行检查
● 检查工作产品