持续交付的本质

春哥叨叨

共 836字,需浏览 2分钟

 · 2021-11-04


开发速度是一项团队运动,最佳的工作流程需要借助于模块化的架构进行持续集成;


对新特性通过功能开关的方式才能尽早的隔离特性;


使用灰度部署策略,解决设备多样性、用户多样性的影响广度问题;


尽可能采用类生产环境做发布验证,否则,上线之后可能发现预期之外的故障;


任何监控和隔离都是有成本的,需要评估成本与收益,只发布对用户有价值、有用的功能;


引入CI和持续交付策略,在所有变更之前实现更快、具有数据策略的决策;


应尽量小批量、频繁的发布,降低单次大批量功能发布引发的风险、更加安全,同时可以大幅缩短上线时间;


两个版本之间的变更越少,问题和风险也就越小,解决问题的成本也就更低;


组织长期成功的关键在于能将产品想法快速交付到用户手中,并对用户反馈进行快速响应,形成价值闭环;


软件工作最大的风险,是交付的东西是无用的,当我们将一个有用户价值的产品更早、更频繁的交付到用户面前时,就可以越早的得到反馈,从而实现它的真正价值;


那些长时间处于进行中高成本、高风险的任务,如果不能尽早给用户交付出用户价值,会消耗士气;


缩短代码完成到用户反馈之间的时间,可以最大限度的降低正在进行中工作的成本;


为更快的交付有用户价值的需求,我们需要管理风险,并行交付,评估每个功能的成本与价值;


持续交付敏捷方法的核心原则是,小批量变更、交付会带来更高的质量,也更安全,当然还包括自动化测试;


敏捷说的是:频繁小批量的发布;

自动化说的是:降低或避免重复的开销;

隔离说的是:采用模块化架构隔离变更,使得隔离与排查故障更容易;

可靠说的是:关注于度量模块的核心健康指标,并不断优化;

数据驱动说的是:对核心指标相关能力进行ab测试,确保质量;

灰度发布说的是:新功能先对少数用户发布;

浏览 20
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报