文章目录
前言
按需交付服务从来都不容易。成功的交付是以一种符合客户预期的一致性、可靠性、安全性、隐私性和成本效益的方式交付客户所需的服务。无论服务提供商提供的是 IT 服务,还是更传统的快递或电力公用事业服务,这都同样适用。
与传统服务相比,IT 服务提供商因具有快速可部署的工具和云能力,在组织规模或物理位置方面受到的限制要少得多。现在小型 IT 服务提供商也能立即扩展规模,应对全球几乎任何已识别的市场需求。然而,由于在交付服务和管理服务方面存在认知差距,IT服务提供商很难做到可预测和可靠地交付符合客户期望的服务。
随着 IT 服务体系变得越来越复杂,确定服务组件和交付生态系统之间的动态关系是否符合客户预期便越发困难,更别提确保这些动态关系完全符合预期了。交付团队没有采取措施提高对这些动态关系的认识和理解,而是将重点放在了其他因素上,如提高交付速度、使用最新的云技术和架构方法,或采用当前最流行的流程或方法。这样做反而造成了上述动态关系和客户预期的进一步脱节。
随着脱节日益严重,交付团队声称所能提供的服务与实际交付的服务之间的差距越来越大,团队也不再能做出有效决策。为了弥合差距,交付团队又会进一步增加流程,使用更多的工具,然而这对于有效弥合差距并没有太大帮助,反而会形成一个恶性循环,使得交付团队提供的服务离满足客户期望的目标越来越远。这时交付团队就需要学会洞察。
学会洞察是为了提高交付团队的态势感知能力,这能让团队中的每个人仿佛获得了一种从未知晓的新感官或超能力。《精益DevOps》 的首要目标就是帮助交付团队弥合认知差距,交付能让客户实现预期目标的服务。
本书在内容逻辑上分为三部分。
第1、2章为第一部分,介绍了如何应对IT服务交付中的问题。该部分描述了IT服务从业者过于关注消除交付摩擦和降低交付风险的问题,这反而使得他们的态势感知能力,以及学习和改进的能力下滑。了解这个问题对于任何IT服务交付组织都很重要,尤其对于那些希望实现DevOps承诺的组织。
第3~7章为第二部分,详细讲解了服务交付中每个关键要素及其所起的作用,该部分探讨了这些要素的重要性、要素被误用的场景,以及误用对服务交付和团队的后果。我个人认为这是本书中最重要的部分。
第8~14章为第三部分,该部分是提高服务交付效果的实用指南。这部分内容包括如何判断团队的成熟度,确保关键要素到位以实现连贯有效的交付;还提供了一些建议,关于如何组织和管理工作流程、构建与部署仪表化和自动化解决方案,以及采用法律法规要求的治理方式。
购买链接 https://item.jd.com/10096155707250.html
DevOps落地与转型:提升研发效能的方法与实践
这本书将指导读者如何从0到1组建DevOps团队、搭建DevOps全链路平台、应用DevOps工程方法、实践DevOps文化理念,从而解决各种软件交付效率难题和提升研发效能,蕞终全方位实现DevOps的落地和转型。
在方法层面,本书基于作者多年的研发效能经验和成功的DevOps落地经验,提炼出了一套可复用的蕞小可行方案和行动路线,涉及研发效能、敏捷管理、项目管理等多个领域,让读者的实践有"套路"可循。
在实践层面,以真实的产研场景为主线,通过丰富有趣的故事情节带领读者身临其境地理解和掌握?DevOps?转型和研发效能提升的方法,并提供大量真实的场景案例和实践方法,读者可直接应用到团队实践中。
全书8章,逻辑上可分为三部分:
第 一部分 工程能力实践(第1-2章)
重点分析了技术团队需要具备的基础工程实践能力以及如何驱动团队提升这些能力,比如保障代码质量的制度和规范,以及产研团队如何通过测试左移实现高效协作和能力提升。
第二部分 平台体系实践(第3-5章)
重点阐述了如何利用 DevOps 全链路平台间的联动性,通过度量、监控、预警等消息触达手段反馈团队的问题,通过事件管理驱动团队问题的解决。
第三部分 管理模式实践(第6-8章)
重点阐述了如何通过不断提升团队影响力,结合不同的管理模式和平台管理属性功能,联动具有共同目标的部门开展有效的项目管理,并在蕞后通过总结与行动部分为读者勾勒一幅 Devops 转型和研发效能提升的全景图。
目录
DevOps落地与转型:提升研发效能的方法与实践
推荐序一
推荐序二
推荐序三
前言
第一篇 工程能力实践
第1章 如何提升技术团队代码质量2
1.1 故事开启2
1.1.1 故事背景2
1.1.2 故事内容3
1.1.3 故事结论4
1.2 为什么要先做代码质量提升4
1.2.1 站在开发者视角4
1.2.2 站在技术负责人视角4
1.2.3 站在CTO视角5
1.2.4 站在旁观者视角5
1.3 怎么启动项目5
1.3.1 快开始,慢启动6
1.3.2 站个台,明目标6
1.3.3 观现状,探预期6
1.3.4 扣本质,强烙印7
1.3.5 重过程,有效果8
1.4 如何可视化管理代码质量9
1.4.1 静态代码质量量化指标9
1.4.2 搭建可视化数据分析平台11
1.4.3 代码质量可提升的故事15
1.5 统一代码分支策略20
1.5.1 往往简单的问题复杂20
1.5.2 适合自己的才是重要的22
1.6 怎么运转项目24
1.6.1 频繁构建,持续发现25
1.6.2 找方法,定原则26
1.6.3 分层会议,周期性运转30
1.6.4 构成生态,养成习惯31
1.7 效能团队实施策略32
1.7.1 项目前期:学会走,建立团队
信任33
1.7.2 项目中期:小步快跑,增强团队信心33
1.7.3 项目收益期:降增量,
顾存量34
1.8 效能团队落地实践成果总结34
1.8.1 落实工作框架,形成制度和
规范34
1.8.2 趋势图分析,少而精36
1.8.3 基于"211问题",伺机而动40
1.9 深度思考42
1.9.1 知识工作者的管理方法42
1.9.2 高效能团队模式43
1.10 本章小结44
第2章 如何驱动测试左移45
2.1 故事承接45
2.1.1 第一天欢喜45
2.1.2 第二天思考46
2.1.3 第三天计划48
2.1.4 第四天行动49
2.2 测试人员如何适配新的开发
模式50
2.2.1 测试人员还在夹缝中生存吗50
2.2.2 不进则退50
2.2.3 测试左移的原则51
2.2.4 选择合适的工程实践方法52
2.3 如何让测试人员融入开发和产品人员
的需求实现过程53
2.3.1 产研协作流程现状、问题及
改进54
2.3.2 开发和测试人员间的承诺58
2.3.3 开发和测试人员间的扶助61
2.4 如何解决开发提测质量低和延期
问题62
2.4.1 在哪里失败就在哪里找原因63
2.4.2 抓核心,定框架,找场景,
上平台63
2.5 如何实现频繁测试和快速验证65
2.5.1 自动化测试前的"黑暗"
时刻65
2.5.2 一个脚本自动化调度平台的
故事66
2.5.3 定规范,解阻碍,提能力,
上平台67
2.6 如何通过改变研发习惯来驱动
测试左移76
2.6.1 开发自动化代码模板生成
插件76
2.6.2 在线接口文档接入在线测试
平台77
2.6.3 提交代码联动工作项状态
变更77
2.6.4 交互式代码审查工具77
2.6.5 脑图用例多人在线协作78
2.7 效能团队落地效果79
2.7.1 研发效率和协作效率提升79
2.7.2 研发质量和交付效率提升80
2.7.3 制定测试左移解决方案82
2.8 深度思考83
2.8.1 持续测试思考83
2.8.2 团队工程实践之单测和自动化
测试84
2.9 本章小结84
第二篇 平台体系搭建实践
第3章 如何实现频繁构建、
随机部署88
3.1 故事转折88
3.1.1 上云心态89
3.1.2 技术团队面临的挑战89
3.1.3 效能团队面临的挑战89
3.1.4 上云过程精彩纷呈90
3.2 平台改造之前的准备工作91
3.2.1 先让研发人员正常工作91
3.2.2 约束是为了更高质量的升华92
3.2.3 自运维管理平台的改造和实践
理念思考94
3.3 如何让研发人员只关注技术
问题97
3.3.1 改造自运维管理平台的两个
前提97
3.3.2 工程实践能力建设99
3.3.3 解决扩展问题109
3.3.4 解决多版本无法并行验证的
问题111
3.4 如何让研发团队实现自运维
管理118
3.4.1 制定稳定性检查规范标准118
3.4.2 研发人员融入自运维管理
体系121
3.5 深度思考123
3.5.1 研发效能的思考123
3.5.2 Kubernetes声明式API124
3.5.3 为什么Kubernetes需要Pod124
3.6 本章小结125
第4章 如何通过度量指标驱动团队
改进127
4.1 故事承上启下127
4.1.1 两个有趣的故事127
4.1.2 度量的反模式129
4.1.3 大厂怎么做130
4.1.4 我们之前怎么做133
4.2 如何搭建度量指标体系134
4.2.1 研发效能的度量原则134
4.2.2 研发效能度量的实践框架135
4.2.3 研发效能度量指标的设计143
4.3 如何选择效能度量指标来反映
团队现状144
4.3.1 开展效能度量的背景144
4.3.2 效能仪表盘145
4.3.3 进一步效能分析148
4.4 如何通过消息闭环驱动团队
改进150
4.4.1 平台间的割裂性151
4.4.2 内建质量后的消息触达152
4.4.3 RPA工具加持155
4.5 深度思考156
4.5.1 团队常规管理156
4.5.2 团队深度管理157
4.5.3 站在巨人的肩膀上158
4.6 本章小结159
第5章 如何降低故障率160
5.1 故事推进161
5.1.1 一段与技术支撑团队的
对话161
5.1.2 效能团队发现的问题162
5.1.3 DevOps能力分析164
5.1.4 DevOps能力加强建设167
5.2 云时代下的CMDB169
5.2.1 以服务为核心的配置管理169
5.2.2 运维思维的转变173
5.2.3 如何在CMDB中落地服务配置
管理178
5.3 如何通过精益运维项目提升团队
稳定性保障能力182
5.3.1 "插足"别人的管理世界183
5.3.2 怎么开展项目184
5.3.3 怎么运作项目187
5.3.4 项目的成果189
5.4 如何通过故障管理提升团队
自信心191
5.4.1 我们对故障的理解191
5.4.2 通过制定部署流程规范降低
故障率192
5.4.3 通过事件管理平台驱动故障闭环管理198
5.5 搭建质量保障体系202
5.6 深度思考204
5.6.1 Kubernetes带来的运维能力
变革204
5.6.2 团队管理之教练与赋能205
5.7 本章小结206
第三篇 管理模式实践
第6章 如何改善现有的管理模式208
6.1 故事波澜208
6.1.1 刻板印象209
6.1.2 关于平台的故事210
6.1.3 管理理念的碰撞211
6.2 如何通过搭建在线协作平台改善
产研协作关系212
6.2.1 梳理技术中心项目管理方式212
6.2.2 梳理平台承载项和工作流217
6.2.3 梳理不同视角下的功能模块220
6.3 如何通过平台自动化提高项目
管理效率225
6.3.1 输入自动化226
6.3.2 输出自动化228
6.4 如何通过项目制提升价值交付
有效性232
6.4.1 通过项目制解决资源协调
问题232
6.4.2 通过流程制度让项目制项目有据可依233
6.4.3 通过各职能职责让项目制项目
运转起来236
6.5 深度思考239
6.5.1 全栈式敏捷思考239
6.5.2 有关VSM的思考240
6.6 本章小结241
第7章 如何向团队引入DevOps243
7.1 故事升华243
7.1.1 工具团队的问题244
7.1.2 如何做得不一样245
7.2 如何通过实施Scrum进行团队
管理247
7.2.1 让效能团队忘记Scrum的"3355"原则248
7.2.2 守住WIP上限和完成标准250
7.2.3 做好估算,不纠结故事点252
7.2.4 过程管理一定要度量254
7.3 如何持续提升团队影响力255
7.3.1 通过团队规划和目标通晒让技术团队知其然256
7.3.2 通过DevOps技术沙龙让技术团队知其因257
7.3.3 通过平台佳实践让技术团队知其所以然258
7.4 如何打造DevOps文化260
7.4.1 共创团队阶段性目标260
7.4.2 打造团队符号261
7.4.3 共建工程实践社区262
7.4.4 引进来,走出去262
7.5 深度思考263
7.5.1 思考碎片263
7.5.2 利用DevOps模式快速上云264
7.6 本章小结265
第8章 总结与行动266
8.1 我们的研发效能提升之旅266
8.2 持续探索星辰大海270
8.3 做正确的事271
8.4 站在巨人的肩膀上行动起来271