Staged rollout is a strategy of incrementally releasing software updates to portions of the user population in order to accelerate defect discovery without incurring catastrophic outcomes such as system wide outages. Some past studies have examined how to quantify and automate staged rollout, but stop short of simultaneously considering multiple product or process metrics explicitly. This paper demonstrates the potential to automate staged rollout with multi-objective reinforcement learning in order to dynamically balance stakeholder needs such as time to deliver new features and downtime incurred by failures due to latent defects.
翻译:分阶段推出的战略是逐步向部分用户群体发布软件更新,以加速发现缺陷,而不会造成系统大停用等灾难性结果。过去的一些研究已经研究过如何量化和自动化分阶段推出,但并没有同时明确考虑多种产品或工艺指标。本文件表明,有可能以多目标强化学习方式使分阶段推出自动化,以动态平衡利益攸关方的需求,如交付新功能的时间和因潜在缺陷造成的故障造成的故障造成的故障。