重点摘要
1. 软件交付性能推动组织成功
高绩效者在这些目标上超越低绩效者的可能性是其两倍。
竞争优势。 在当今的数字环境中,软件交付能力提供了显著的竞争优势。高绩效的软件交付组织在各项指标上始终优于同行:
- 盈利能力
- 生产力
- 市场份额
- 客户满意度
- 运营效率
- 组织目标的实现
可衡量的影响。 研究表明,高绩效的软件交付者在超越商业和非商业绩效目标方面的可能性是低绩效者的两倍。这表明有效的软件交付在推动各行业和部门的整体组织成功中起着关键作用。
2. 衡量和改进高绩效的关键指标
我们确定了四个:交付前置时间、部署频率、服务恢复时间和变更失败率。
关键绩效指标。 为了评估和改进软件交付性能,组织应关注四个关键指标:
- 交付前置时间:从代码提交到生产的时间
- 部署频率:部署发生的频率
- 服务恢复时间:问题解决的速度
- 变更失败率:导致失败的变更百分比
持续改进。 高绩效者在所有四个指标上表现出色,表明速度和稳定性之间没有权衡。通过跟踪和优化这些指标,组织可以识别瓶颈,简化流程,并推动软件交付能力的持续改进。
3. 培养生成型组织文化
Westrum对规则导向文化的描述或许最好被认为是一个遵循规则比实现使命更重要的地方。
文化类型。 组织文化在软件交付性能中起着至关重要的作用。Westrum的分类法识别了三种文化类型:
- 病态型(权力导向)
- 官僚型(规则导向)
- 生成型(绩效导向)
培养生成型文化。 生成型文化以高合作、共享风险、团队间桥梁以及关注询问和从失败中学习为特征,与高绩效密切相关。要培养这种文化:
- 鼓励开放沟通和信息共享
- 优先考虑使命和绩效而非僵化的规则遵循
- 创建一个无责备的环境,将失败视为学习机会
- 促进跨职能合作和打破孤岛
4. 实施持续交付实践
持续交付是一组能力,使我们能够将各种变更——功能、配置更改、错误修复、实验——安全、快速和可持续地投入生产或交到用户手中。
关键实践。 实施持续交付(CD)对于高绩效至关重要。核心CD实践包括:
- 所有生产工件的版本控制
- 自动化部署流程
- 持续集成
- 基于主干的开发
- 全面的测试自动化
- 主动监控和可观测性
CD的好处。 持续交付实践有助于:
- 更快的市场推出新功能
- 改善软件质量和稳定性
- 减少部署痛苦和团队倦怠
- 提高员工满意度和生产力
5. 设计松耦合架构以实现可扩展性
拥有松耦合架构使您的团队能够独立工作,而无需依赖其他团队的支持和服务,从而使他们能够快速工作并为组织提供价值。
架构原则。 松耦合、良好封装的架构使团队能够:
- 独立测试和部署
- 在不需要广泛协调的情况下进行更改
- 随着组织的增长扩大开发工作
逆康威定律。 组织应发展其团队结构以匹配所需的架构,称为“逆康威操作”。这种方法:
- 减少沟通开销
- 增加团队自主性和生产力
- 实现更快、更频繁的部署
6. 采用精益管理原则
在精益社区中,使用在制品限制来管理工作流是众所周知的。当有效使用时,这推动了流程改进,增加了吞吐量,并使系统中的约束可见。
精益实践。 软件交付的关键精益管理原则包括:
- 限制在制品(WIP)
- 可视化工作和关键指标
- 使用数据来指导决策
- 实施轻量级变更审批流程
对绩效的影响。 采用这些精益实践可以导致:
- 改善的软件交付性能
- 增强的组织文化
- 减少倦怠和增加工作满意度
- 更好地将工作与组织目标对齐
7. 实践变革型领导
成为领导者并不意味着在组织结构图上有下属——领导力在于激励和激发周围的人。
领导维度。 变革型领导包括五个关键特征:
- 愿景
- 激励性沟通
- 智力激励
- 支持性领导
- 个人认可
赋能团队。 变革型领导者:
- 提供明确的方向和目标
- 鼓励创新和创造性问题解决
- 支持和发展团队成员
- 认可和庆祝成就
- 培养持续学习和改进的文化
8. 优先考虑员工满意度和多样性
在性别或代表性不足的少数群体方面更具多样性的团队更聪明,团队绩效更好,业务成果更佳。
满意度驱动因素。 影响技术角色员工满意度的关键因素包括:
- 有意义的工作和适当的挑战
- 工具选择和决策的自主权
- 学习和成长的机会
- 支持性的团队环境
多样性的好处。 多样化的团队优于同质化的团队。为了提高多样性:
- 积极招聘和留住女性和代表性不足的少数群体
- 创建一个重视多样化观点的包容性文化
- 解决招聘和晋升过程中的无意识偏见
- 为代表性不足的群体提供指导和支持
9. 在开发生命周期中整合安全性
我们的研究表明,将安全性构建到软件开发中不仅提高了交付性能,还提高了安全质量。
左移安全。 在开发过程中及早和全面地整合安全性:
- 减少解决安全问题所花费的时间
- 提高整体软件质量
- 增强交付性能
关键实践。 有效整合安全性:
- 对主要功能进行安全审查
- 在设计和演示过程中包括安全专家
- 提供预先批准的、易于使用的安全库和工具
- 将安全测试自动化作为CI/CD管道的一部分
10. 拥抱实验和学习
我们的目标应该是发现如何改善信息流,以便人们获得更好或更及时的信息,或找到更好的工具来帮助防止看似平凡操作后的灾难性失败。
持续学习。 通过以下方式培养实验和学习的文化:
- 鼓励团队尝试新想法和技术
- 分配时间进行探索和创新(例如,20%时间)
- 进行定期回顾并分享经验教训
- 将成功和失败都视为学习机会
数据驱动的改进。 使用数据和反馈来:
- 识别流程和实践中的改进领域
- 就技术投资做出明智决策
- 不断适应和发展您的软件交付方法
通过拥抱这些关键要点并实施相关实践,组织可以显著提高其软件交付性能,推动更好的业务成果,并在数字时代保持竞争优势。
最后更新日期:
评论
《Accelerate》获得了褒贬不一的评价,评分从1星到5星不等。正面评价赞扬了其基于研究的DevOps实践和组织绩效见解。批评者则认为内容重复、乏味,缺乏新信息。许多读者欣赏书中的科学方法,但觉得写作风格干涩且学术化。一些人认为这是技术领导者的必读书籍,而另一些人则觉得更适合对DevOps概念不熟悉的人。书的结构和内容组织在评论者中引发了争议。