之前面试一家互联网电商企业时,和他们技术负责人聊过一个话题:质量保障的最高优先级是什么?
这个问题上,当时我们达成的共识是这样的:
- 生产环境不要出bug(理想状态);
- 生产环境的问题可以快速发现并解决,问题影响范围可控;
围绕这两点来开展质量保障工作,才能保证我们的行动和目标是一致的,所做的产出也是有效的。
那么,生产环境的质量保障工作该如何开展?它的重要性又体现在哪里?
这篇文章,结合自己的实践经验和总结,来聊聊我对生产环境质量保障重要性的看法。
质量保障要解决什么问题
质量保障这个词,不单单IT行业,其实在很多行业都存在类似的工作和岗位,比如汽车生产行业、建筑工程行业。
我们要完成一个项目,开发交付一个完整的软件产品,本身就是一个复杂的工程。
相较于传统的建筑和汽车生产行业,IT行业要完成的这个复杂工程,具备这些特点:
- 业务迭代快:业务和需求的迭代速度更快,技术需要更快的实现业务需求;
- 人员变化快:项目中人员变动的可能更大,需要合理的机制来保障整体的进度推进;
- 技术变迁快:IT行业相关技术的变化速度更为迅速,需要考虑不同版本的上下游兼容以及技术选型;
这几个特点证明,软件产品的质量是受到多种因素影响的,且如果不对其进行控制,随着业务迭代、人员更替和技术升级等因素,软件产品的质量会下滑,这也是软件工程这门学科出现的原因。
从软件工程的角度来说,要做好线上的质量保障工作,需要将目光聚焦于线上的交付质量,控制研发过程的质量,同时想办法提升整个过程的研发交付效率,才能提高最终的线上质量。
这也从侧面映证了影响软件质量的三要素:范围、时间、成本。
范围决定了做什么的问题,影响工时评估;时间决定了优先级排序问题,哪个重要先做哪个需求;而成本则决定了投入的资源和预期结果是否匹配,以及风险控制问题。
总结来说,质量保障要解决的问题是:平衡范围、时间和成本,尽可能保障最终线上交付的软件产品质量达到预期目标,且风险可控。
关键字:风险可控、平衡投入产出。
生产环境质量保障的核心是什么
技术同学对于线上故障应该都挺熟悉,毕竟线上出了问题,总逃不开故障定级、复盘总结,甚至是背锅。
那么问题来了,如何提高线上软件产品的质量,保证线上少出问题,或者出了问题也能快速解决,降低故障带来的影响和损失。这其实就是持续的质量运营要做的事情。
持续的质量运营,首先要做的是线上的持续巡检。通过自动化等手段,针对重点的业务场景和流程进行实时巡检,及时发现问题;
然后通过应急响应流程,及时修复解决问题,并且做好事后的问题复盘和优化方案跟进。优化方案在落地过程中会倒逼整体的技术体系进行改进,这种持续改进的过程,其实就是提高技术效率和过程。
总的来说,生产环境的质量保障,最核心的是及时的发现和控制风险,将风险的爆炸半径控制在可接受范围内。这个可接受的范围,对应的是成本、时间和业务可接受。
要做好生产环境的质量保障工作,一方面需要明确目标,即问题的快速发现解决,并且控制风险影响范围;
另一方面则是持续的进行质量运营,快速发现不足并持续改进,然后持续验证持续交付,最终达到不断提高线上质量的目的。
标签:软件产品,保障,环境质量,问题,线上,重要性,生产,质量 From: https://www.cnblogs.com/imyalost/p/17409701.html