5.5.3 持续交付
经过对传统软件交付问题的分析和总结,持续交付应运而生,持续交付是一系列开发实践方法,用来确保代码能够快速、安全地部署到生产环境中。持续交付是一个完全自动化的过程,当业务开发完成的时候,可以做到一键部署。持续交付提供了一套更为完善的解决传统软件开发流程的方案,主要体现在:
- · 在需求阶段,抛弃了传统的需求文档的方式,使用便于开发人员理解的用户故事;
- · 在开发测试阶段,做到持续集成,让测试人员尽早进入项目开始测试;
- · 在运维阶段,打通开发和运维之间的通路,保持开发环境和运维环境的统一。 持续交付具备的优势主要包括:
- · 持续交付能够有效缩短提交代码到正式部署上线的时间,降低部署风险;
- · 持续交付能够自动地、快速地提供反馈,及时发现和修复缺陷;
- · 持续交付让软件在整个生命周期内都处于可部署的状态;
- · 持续交付能够简化部署步骤,使软件版本更加清晰;
- · 持续交付能够让交付过程成为一种可靠的、可预期的、可视化的过程。 在评价互联网公司的软件交付能力的时候,通常会使用两个指标:一是仅涉及一行代码的改动需要花费多少时间才能部署上线,这是核心指标;二是开发团队是否在以一种可重复、可靠的方式执行软件交付。 目前,国内外的主流互联网组织部署周期都以分钟为单位,互联网巨头组织单日的部署频率都在8000次以上,部分组织达20000次以上。高频率的部署代表着能够更快更好地响应客户的需求。