书刊介绍
《高效研发:硅谷研发效能方法与实践》内容简介
数字化时代,提升研发效能是组织的共同期望和挑战,而这需要系统方法的支持。
最近这十几年,国内互联网产业的发展速度不亚于硅谷,在商业模式创新方面甚至完成了超越,但是我们在研发效能方面始终比较落后。难以否认的是,在互联网行业繁荣发展的背景下,国内很多公司采用了“拼工时”的做法,却忽略了最应该关注的研发效能。
葛俊,资深研发效能专家,17年技术研发和管理经验。曾任职于Microsoft、Facebook、华为,以及硅谷和国内的两家创业公司,担任研发效能团队负责人及CTO等职位。
在Facebook(Meta)任职期间,担任内部工具团队Tech Lead,负责知名开源开发工具集Phabricator的研发项目。在华为任职期间,担任华为内部工具团队的首席架构师,高级产品总监兼执行总监。有丰富的研发经验和带团队的经验,有主导推进研发效能的丰富经历。
曾多次被“全球架构师峰会”等大型会议邀请,做互联网技术研发效能方面的专题报告。作品目录
推荐语
作者简介
前言
什么是研发效能,为什么要关注研发效能
第一部分
研发效能综述
第1章:高效学习、实践方法论
1.1、使用黄金圈原则
1.2、如何有效落地实践
小测试
第2章:研发效能定义及模型
2.1、为什么要关注研发效能
2.2、研发效能定义
2.3、提高研发效能的“坑”
2.4、研发活动的本质
2.5、研发效能模型
小测试
第3章:效能度量谜题
3.1、研发效能度量的定义和作用
3.2、效能度量的三个失败案例
3.3、效能难以度量的三大原因
3.4、效能度量的正面案例
3.5、使用效能度量的根本原则
3.6、正确使用效能度量的方法
小测试
第二部分
个人高效研发实践
第4章:精准打击目标:通过提高准确性来提高投入产出比
4.1、以终为始,寻找最重要的任务
4.2、追根究底,寻找最高效的解决方案
4.3、高效沟通,利用信息的准确传递来寻找、调整目标
4.4、管理者视角
第5章:唯快不破:如何利用速度提高个人研发效能
5.1、应用高效实践提高完成任务的速度
5.2、应用快速迭代的思路获取快速反馈
5.3、管理者视角
第6章:不仅是当下的成功:持续地提高个人研发效能
6.1、精力管理
6.2、使用80/20原则寻找研发活动中的关键因素
6.3、对关键活动进行优化
6.4、目标驱动和兴趣驱动相结合
6.5、管理者视角
第7章:高效选用工具提高研发速度
第8章:工程师常见工作任务的系统性工具优化
8.1、第一个任务类别:操作系统上的通用操作
8.2、第二个任务类别:输入和编辑
8.3、第三个任务类别:知识管理
8.4、第四个任务类别:浏览网页
8.5、第五个任务类别:编程
8.6、小结
第9章:高效Git基本操作
9.1、Git和代码原子性
9.2、Git支持原子性的五种基本操作
9.3、小结
第10章:实现代码提交的原子性的Git工作流
10.1、工作流一:使用一个分支完成所有需求的开发
10.2、工作流二:使用多个分支完成所有需求的开发
10.3、小结
第11章:每个开发人员都应该学一些Vim
11.1、Vim简介
11.2、Vim的前世今生
11.3、Vim的两大特点
11.4、小结
第12章:高效学习Vim的实用技巧
12.1、学习Vim的命令模式和命令组合方式
12.2、学习Vim最常用的命令
12.3、在更广泛的工作场景中应用Vim技能
12.4、小结
第13章:高效命令行环境选择和设置
13.1、为什么要使用命令行
13.2、命令行配置的四个步骤
13.3、小结
第14章:研发场景的有效命令行工具
14.1、日常操作中的工具和技巧
14.2、开发中的常见工作
14.3、小结
第15章:工具的高效集成
15.1、工具集成
15.2、提高工具一致性
15.3、小结
第三部分
研发流程优化
第16章:研发流程优化的基本目标和原则
16.1、寻找用户价值
16.2、提高用户价值的流动效率
16.3、小结
第17章:代码入库之前的流程优化
17.1、规范化、自动化核心步骤
17.2、提供快速反馈,促进增量开发
17.3、小结
第18章:代码入库之后的流程优化
18.1、三个“持续”的定义和作用
18.2、CI/CD流水线的原则及具体实践
18.3、案例:Facebook如何落地CI/CD来提高效能
18.4、小结
第19章:选择适当的分支管理策略提高流程和产品质量
19.1、共主干分支管理和发布策略
19.2、共分支管理策略的优点
19.3、其他主要分支方式
19.4、如何选择、应用分支管理策略
19.5、小结
第20章:使用全栈思路打通开发和运维
20.1、DevOps和SRE的异同
20.2、DevOps和SRE的目标、原则
20.3、落地实践
20.4、小结
第21章:研发流程中的高效信息流通
21.1、团队成员愿意共享是有效沟通的前提
21.2、设计流程和使用工具,推动研发信息高效沟通
21.3、沟通工具的选用技巧
21.4、小结
第四部分
团队高效研发实践
第22章:研发环境:让开发人员不再操心环境
22.1、开发机器
22.2、IDE
22.3、本地环境与联调环境
22.4、开发过程中使用的各种工具、数据和配置
22.5、测试环境与类生产环境
22.6、提供高效研发环境的原则
22.7、小结
第23章:代码审查:高效代码审查实践
23.1、代码审查的作用
23.2、代码审查方法的分类
23.3、代码审查方法选择的三个成功案例
23.4、小结
第24章:代码审查:如何有效引入、执行代码审查
24.1、引入代码审查的步骤和方法
24.2、推进代码审查的两个关键操作
24.3、推行代码审查的两个关键原则
24.4、小结
第25章:合理处理技术债:让快速研发可持续
25.1、技术债的成因
25.2、技术债的影响
25.3、处理技术债的两个基本原则
25.4、控制技术债的四个步骤
25.5、小结
第26章:开源:从Phabricator的开源历程看开源利弊
26.1、Phabricator开源过程的关键步骤
26.2、开源对公司的利弊
26.3、小结
第27章:高效上云:运用云计算提高效能
27.1、云计算的优势
27.2、云计算的挑战及解决方法
27.3、小结
第28章:测试左移:测试如何应对新的开发模式
28.1、测试左移的定义
28.2、测试左移的四个原则
28.3、小结
第29章:测试右移与高效部署:应对频繁发布带来的挑战
29.1、三种部署方式的定义
29.2、目标
29.3、原则
29.4、具体实践
29.5、小结
第30章:持续进步:研发流程、工程方法趋势解读和展望
30.1、协作方式的发展趋势
30.2、云计算平台的发展趋势
30.3、应用开发的发展趋势
30.4、AI方面的发展趋势
30.5、小结
第五部分
管理和文化
第31章:业务目标和技术目标两手抓:打造高效团队的三个步骤
31.1、寻找目标
31.2、目标管理
31.3、任务执行
31.4、小结
第32章:从奈飞的著名PPT谈硅谷公司文化
32.1、定义核心价值观
32.2、在招聘、流程方面设计方案推动文化建设
32.3、持续推动文化建设
32.4、关于奈飞公司文化的思考
32.5、小结
第33章:Facebook创造力引擎:工程师文化
33.1、Facebook的工程师文化
33.2、Facebook推行工程师文化的具体实践
33.3、个人角度感受Facebook工程师文化带来的效果
33.4、小结
第34章:Facebook工程师文化实践三大原则之一:让员工做感兴趣的事
34.1、Facebook工程师文化落地的三大原则
34.2、让员工做感兴趣的事
34.3、Hackathon落地经验
34.4、小结
第35章:Facebook工程师文化实践三大原则之二:让员工拥有信息和权限
35.1、让员工拥有信息
35.2、让员工拥有权限
35.3、Facebook之外的落地经验
35.4、小结
第36章:Facebook工程师文化实践三大原则之三:绩效调节
36.1、360度绩效考评系统
36.2、360度绩效考评系统的两个原则
36.3、360度绩效考评系统的问题
36.4、绩效考评落地实践
36.5、小结
结束语
超越昨天的自己,享受成长的快乐