作为Gatekeeper,请守好交付质量关口(Quality Gate)
作为Gatekeeper,请守好交付质量关口 (Quality Gate)
质量保证(QA)包括三个不同的领域:
- 分析质量保证:根据标准检查软件产品的质量。如果软件产品不能达到特定的期望值,将采取适当的措施(很可能是返工)。
- 建设性质量保证:建设性质量保证包括为预先构建无错误软件提供帮助的所有方法。
- 组织质量保证:组织质量保证的任务是提供一个可以建立质量保证的环境。组织质量保证包括质量管理组织、培训课程和开发过程。
许多软件公司通过质量关口(Quality Gate,有的翻译为质量门)来分析其软件产品的质量并及时采取行动。
质量关口(Quality Gate)
质量关口(Quality Gate)是项目中的重要里程碑和决策点。
在每一个质量关口上,产品都根据预先确定的、以质量为中心的标准进行评估。在满足这些标准的基础上,看门人(Gatekeeper,通常是QA)决定一个项目是否可以进行。因此,项目的质量状况可以向管理层揭示,并及时采取行动。
质量门通常用于某些领域,例如汽车开发或工业品的批量生产。在软件开发领域,质量门在过去的几年中开始不断被使用。
软件项目使用质量关口的策略(Quality Gate Policy)
软件公司可以通过两种方式使用质量门(我们将其称为策略):
- 质量关口作为质量指南:相同的质量关口(和标准)适用于所有项目,从而在所有这些项目中产生可比且至少相等的最低质量水平。
- 质量门作为一种灵活的质量策略:在每一个项目中应用一个合适的质量门过程,以精确地满足项目的需要。
质量门参考过程封装了特殊的结构、活动、方法、角色和文档,软件公司可以单独实现这些结构、活动、方法、角色和文档,以满足其质量和业务目标。这种质量门参考过程,可以量身定做,以满足特殊项目的需要。行动的结果是一个质量门过程,包含一组标准和一组质量门。
软件公司如何实现质量门(Quality Gate)概念并不重要,因为实际实现取决于公司的规模和领域。
Scrum 开发常见的Quality Gate
在Scrum开发中,团队或者QA通常会设定一些开发质量检查标准,下面举一个例子:
某一个开发团队和QA协商后,根据公司的质量管理策略,设定的Quality Gate如下表格所示。
但是在实际Sprint迭代中,团队总是按照低水平交付,甚至某些指标的度量结果都达不到低水平的要求。
Items | 低水平标准值 | 高水平标准值 | 说明 |
Sprint中 Unit Test Coverage |
50%~60% |
>85 |
使用JUnit或者Sonar检测结果 |
Sprint Test 测试用例执行通过率 |
>90% |
= 100% |
JIRA XRay统计数据或者Excel文件手工管理 |
Sprint Test 缺陷率 | < 10% | < 5% | 根据缺陷率计算公式实施 |
Sprint Test 缺陷修复率 |
>95% |
= 100% |
JIRA XRay统计数据或者Excel文件手工管理 |
Sprint中 Code Inspection |
Bug数为0 Vulnerabilities少量存在 |
Bug = 0 Vulnerabilities=0 |
检查工具:Sonar、FindBugs等 |
Sprint中 User Story开发完成率 与Sprint Planning对比无延期的User Story |
> 90% | = 100% | 管理工具:JIRA或者Redmine |
User Story对于产品需求的覆盖率 | > 90% | = 100% | 管理工具:JIRA或者Redmine |
Sprint 规定的必要交付物 按照预设标准检查 [文档] |
交付物数量基本满足 交付物内容评审后基本通过 |
交付物数量正确 交付物内容评审后符合要求[达到目标] |
文档管理工具: 文件服务器SVN JIRA或者Confluence |
Gatekeeper 为什么不能守好交付质量关口
Sprint开发中,QA进行定期的质量检查,结果发现Scrum团队的开发质量不能满足Quality Gate的要求,大多数度量指标甚至连低水平都不能满足。但是产品交付期已经到了,产品必须在Deadline之前要进行Release。
这个时候整个组织或者团队开始进入“黑色地狱周”,不停的加班,夜以继日的工作。各种管理人员开始关注产品开发质量,各种会议,报告不断。最后实在没有办法时,只能有条件通过产品质量检测,实行上线发布。然后在实施紧急Hot Fixing。
QA是不是需要和管理者、干系人、Scrum团队等一起来分析为什么产品开发质量不能满足要求?
原因到底出现在哪里?从五个维度进行分析:结构、活动、方法、角色和文档。
- 质量意识薄弱,检查不及时、不到位。
- QA无力推动Scrum团队及时做出必要的改善,话语权不够(在组织中的地位不高,不能得到管理层的支持)
- 组织的开发过程本身存在流程和活动的缺陷,QA没有能够及时发现。
- ……
但是无论怎样,QA作为Gatekeeper,当产品交付产生质量问题时,肯定是存在责任的。为什么不能守好交付质量关口呢?
100个人会有100中说法。QA自身需要首先做出有效的改善
- 做到“两个坚持”:坚持原则,坚持标准
- 做到“三不怕”:不怕问题,不掩盖问题,不怕在工作中“得罪人”
- 按照组织级的Quality Management Plan按时实施Quality Check活动
- 不断改善组织的开发过程和Quality Gate,使其符合组织的实际情况(标准不能降低,要找到达到标准的办法)
- 诊断开发过程,找到问题,逐一提出改善意见
- 及时和相关管理者、干系人、项目团队进行有效的沟通,积极解决问题
- 定期发布质量ISSUE报告
- 参加Scrum团队的Retrospective活动,收集反馈质量管理意见和建议
- 取得管理层的有力支持
- 通过质量改善活动,分析效果,及时形成报告并共享给管理层和相关干系人
作为Gatekeeper,请守好交付质量关口(Quality Gate)相关推荐
- 如何衡量一个项目的交付质量???
昨天与部门开会讨论项目的完整规范交付流程,参会的涉及到项目相关的所有人员,总结一下供大家讨论交流: 1.小插曲:我们把客户的干系人.自己的干系人对项目的影响做了一个排名并打分,结果很有意思:客户的领导 ...
- 编写单元测试代码遵守BCDE原则,以保证被测试模块的交付质量,那么下列说法正确的是
多选 编写单元测试代码遵守BCDE原则,以保证被测试模块的交付质量,那么下列说法正确的是:答案在文末 A. Border,边界值测试,包括循环边界.特殊取值.特殊时间点.数据顺序等. B. Corre ...
- 空气质量(air quality) 简称:AQI 计算AQI等笔记
空气质量(air quality) 简称:AQI, 根据污染物浓度高低判断,负氧离子浓度是空气质量好坏的标志之一,浓度高于每立方厘米1000-1500个. 空气污染物:烟尘.总悬浮颗粒物.可吸 ...
- Jenkins SonarQube Quality Gate质量门禁检查
文章目录 Jenkins SonarQube Quality Gate质量门禁检查 安装SonarQube Quality Gate插件 配置SonarQube Instance 在Jenkins j ...
- 小诀窍:不妨尝试从交付质量上打败对手
小诀窍:不妨尝试从交付质量上打败对手 关于作者:小姬,某知名互联网公司产品专家,对数据采集.生产.加工有所了解,期望多和大家交流数据知识,以数据作为提出好问题的基础,发觉商业价值. 0x00 前言 我 ...
- Unity质量设置 Quality Settings
公司项目的 设置. Unity allows you to set the level of graphical quality it will attempt to render. Generall ...
- 软件交付质量复盘与注意事项
软件交付质量 在日常的工作流程中,比较通用的流程如下图所示: 从质量保障和交付的角度来讲,软件交付生命周期中大体可分为如下三个阶段: 需求设计质量 这个阶段包括原型图.PRD文档.交互设计.技术方案. ...
- 从产品经理的角度如何提升项目的交付质量?
提高交付质量 ,对于每个IT公司都是永恒的话题. 交付质量其实包含2重意义, 一是交付的高质量(客户角度),即客户的满意度:二是高质量的交付(交付团队的角度),这里是指如何多快好省的完成项目的上线. ...
- 预约清单ui设计_持续交付质量设计所需的UI清单
预约清单ui设计 重点 (Top highlight) Over the past few months, my design team at StreetEasy has started exper ...
最新文章
- 2021年大数据Spark(十二):Spark Core的RDD详解
- hdu6376 度度熊剪纸条 思维
- linq.designer.cs学习笔记
- 模型参数优化(四):交叉验证、网格搜索
- 向 Fiddler 告别,拥抱 Fastest 吧!
- xp修改时间同步服务器地址,xp时间同步服务器地址更换
- 手机自带计算机的功能,手机上的这3个小功能,比电脑方便好用,你知道吗?...
- 区块链软件公司:食品溯源+区块链
- 日常学习笔记-RGB配色和颜色转换
- 什么是mysql数据字典_数据字典是什么?
- python 微商城_微商城是自己开发好还是用第三方平台好?
- oracle lead() over,Oracle数据库之lead over 和 lag over
- 升级到JUnit5的7个理由
- ppt转.exe文件小技巧(超链接含视频)
- 夜曲编程PPT,EXCEL课(侵删)
- 2020-11-23
- 云服务器无法远程连接常见原因如下:
- matlab图像处理英文文献,数字图像处理英文文献翻译参考.doc
- mysql中的汉字怎么转换_Mysql中文汉字转拼音的实现(每个汉字转换全拼)
- uniapp手机端图片缓存方案
热门文章
- 大型OA协同办公系统 - 利用力软工作流引擎实现复杂业务流程
- WHISTLE特征提取
- JZ73 翻转单词序列
- 利用selenium实现淘宝双十一抢购商品
- win10和win7游戏测试软件,绝地求生win7和win10哪个不卡?绝地求生系统要求测试-游侠网...
- 判断银行卡号归属银行和卡类型
- LPC2478(15)drv8711
- 【POJ No. 3275】奶牛排序 Ranking the Cows
- 中国有些东西不是给人吃的,劝大家都看看,为自己为家人
- Ruoyi-Vue若依前后端分离版 2022年5月 基于代码生成器的新模块添加