继续交付能力
1. 对所有生产工件应用版本控制
版本控制是将所有生产工件纳入版本控制系统(例如 GitHub 或 Subversion)治理,包含利用程序代码,应用程序配置,系统配置以及用于主动构建和配置环境的脚本。
2. 自动化部署过程
部署自动化是指部署齐全自动化且不须要人工干预的水平。
3. 施行继续集成
继续集成(CI)是实现继续交付的第一步。这是一种开发实际,其中的代码会定期检入,每次检入都会触发一组疾速测试,以发现重大的回归问题,开发人员会立刻对其进行修复。CI 流程将创立标准的构建和程序包,并最终进行部署和公布。
4. 应用基于骨干开发方法
基于骨干的开发模式已被证实能够实现软件开发和交付中的高性能。它的特点是在代码存储库中少于三个流动分支。在合并入主干分支之前具备十分短的生命周期(例如,少于一天)的分支;应用程序团队很少或素来没有“code lock”期,因为合并抵触,代码解冻或稳固阶段,没人能签入代码或执行拉取申请。
5. 施行测试自动化
测试自动化是一种在整个开发过程中主动(而非手动)间断运行软件测试的实际。无效的测试套件是牢靠的,也就是说,测试会发现真正的失败,并且只能通过可公布的代码。请留神,开发人员应次要负责创立和保护自动化测试套件。
6. 反对测试数据治理
测试数据须要认真的保护,并且测试数据治理已成为自动化测试中越来越重要的局部。无效的做法包含领有足够的数据来运行您的测试套件,按需获取必要数据的能力,在管道中对测试数据进行条件调整的能力以及不限度能够运行的测试数量的数据。然而,咱们的确要正告,团队应尽可能减少运行自动化测试所需的测试数据量。
7. 左移安全性
将安全性集成到软件开发过程的设计和测试阶段是进步 IT 性能的要害。这包含对应用程序进行平安审查,包含在应用程序的设计和演示过程中的信息安全团队,应用事后批准的安全性库和程序包,以及将安全性性能作为自动化测试套件的一部分进行测试。
8. 施行继续交付(CD)
CD 是一种开发实际,其中软件在其整个生命周期中都处于可部署状态,并且团队优先思考使软件放弃在可部署状态,而不是钻研新性能。所有团队成员都能够疾速取得无关零碎品质和可部署性的反馈,当他们收到无关零碎不可部署的报告时,能够疾速进行修复。最初,能够依据须要随时将零碎部署到生产或最终用户。
架构能力
9. 应用松耦合的架构
这影响了团队能够按需测试和部署其应用程序的水平,而无需与其余服务进行协调。涣散耦合的架构使您的团队可能独立工作,而无需依赖其余团队的反对和服务,从而使他们可能疾速工作并为组织发明价值。
10. 受权团队的架构师
咱们的钻研表明,能够抉择要应用哪些工具的团队在继续交付方面会更好,进而能够推动更好的软件开发和交付性能。没有人比从业者更分明他们须要什么能力无效。
产品和过程能力
11. 收集并施行客户反馈
咱们的钻研发现,组织是否定期被动地寻求客户反馈,并将此反馈纳入其产品设计对软件交付性能很重要。
12. 通过价值流使工作流程可见
团队应该对从业务始终到客户的工作流程有很好的了解和可视性,包含产品和性能的状态。咱们的钻研发现,这对 IT 性能有踊跃影响。
13. 小批量工作
团队应该将工作分成小块,能够在一周或更短的工夫内实现。要害是将工作合成为容许疾速开发的小性能,而不是在分支上开发简单的性能并很少公布它们。这个想法能够利用于性能和产品级别。(MVP 是产品的原型,具备足够的性能以使人们可能无效地理解产品及其商业模型。)小批量工作可缩短交货工夫并放慢反馈循环。
14. 造就和启用团队试验
团队试验是开发人员在开发过程中尝试新想法并创立和更新标准的能力,而无需团队内部的批准,这使他们可能疾速翻新并发明价值。当与小批量工作相结合,合并客户反馈并使工作流程可见时,这特地有影响。
精益治理和监控能力
15. 进行轻量级变更批准流程
咱们的钻研表明,与应用内部变更批准委员会(CAB)相比,基于同级审查(对编程或团队外部代码审查)的轻量级变更批准过程可产生杰出的 IT 性能。
16. 跨应用程序和基础架构进行监督以告诉业务决策
应用来自应用程序和基础架构监督工具的数据来采取行动并制订业务决策。当呈现问题时,这不仅仅能够传呼他人。
17. 被动查看零碎运行状况
应用阈值和变化率正告来监视系统运行状况,以使团队可能领先发现和缓解问题。
18. 改良流程并治理在制品(WIP)限度的工作
在精益社区中,应用在制品限度来管理工作流程是家喻户晓的。无效应用后,可进步流程效率,进步吞吐量并在零碎中显示束缚。
19. 可视化工作以监督品质并在整个团队中进行沟通
已显示用于监督品质和在制品的视觉显示,例如仪表板或外部网站,有助于软件交付性能。
文化能力
20. 反对生成文化
掂量组织文化的根据是社会学家罗恩·韦斯特鲁姆(Ron Westrum)开发的一种类型学,他在航空和医疗保健畛域钻研了对平安至关重要的简单零碎。咱们的钻研发现,这种文化水平能够预测 IT 绩效,组织绩效和缩小倦怠。此措施的标记包含良好的信息流,高度的单干与信赖,团队之间的桥梁以及无意识的询问。
21. 激励和反对学习
在您的文化中,学习被认为对继续提高至关重要吗?学习被视为老本还是投资?这是对组织学习文化的一种掂量。
22. 反对和促成团队之间的单干
这反映了传统上孤立的团队在开发,经营和信息安全方面的互动水平。
23. 提供使工作有意义的资源和工具。
这项工作满意度的非凡衡量标准是从事具备挑战性和有意义的工作,并有权锤炼您的技能和判断力。这还与取得做好工作所需的工具和资源无关。
24. 反对或体现改革型领导
改革型领导反对并扩充了 DevOps 中至关重要的技术和流程工作。它由五个因素组成:视觉,智力刺激,鼓励性沟通,支持性领导和集体认可。
起源:DevOps 云学堂
摘自 Nicole Forsgren 博士,Jez Humble 和 Gene Kim 的 Accelereate 摘录
4 月每周四晚 8 点,【冬哥有话说】DevOps 之庖丁解牛,拆解 DevOps 的工具及具体实战。公众号留言“解牛”可获取地址
- 0401《数据库继续交付流水线分享与演示(Azure DevOps+Flyway)》
- 0408《继续交付中的版本治理与基于 Azure DevOps 扩大框架的插件开发》
- 0428(周三)《微服务,多团队合作中的 API 测试怎么做 – Pact 契约测试》
- 0429(周四)《BoatHouse 端到端流水线展现》