架构思维:从程序员到CTO

978-7-115-63275-3
作者: 郭东白
译者:
编辑: 孙喆思
分类: IT人文

图书目录:

第一部分 架构师的思维模式

第1章 互联网时代的架构师 3

1.1 架构师的定义 3

1.2 架构师的职责定位 4

1.3 互联网软件架构的特点 5

1.4 看压力,人人都是架构师 8

1.5 小结 9

1.6 思维拓展:通过领域模型提升思考的结构性 9

1.7 思考题 9

第2章 互联网架构师的思维定式 10

2.1 最大化企业生存的王道 10

2.2 从企业生存的王道到架构师的价值思维 10

2.3 从个人生存的王道到架构师的思维定式 12

2.3.1 实证思维 12

2.3.2 成长思维 14

2.4 成长思维、实证思维和价值思维的关系 16

2.5 小结 17

2.6 思维拓展:以去中心化的工作方式践行实证思维 17

2.7 思考题 19

第3章 架构活动中的思维模式 20

3.1 架构活动的生命周期 20

3.2 想法形成阶段——全方位思维 21

3.3 架构规划阶段——批判思维 22

3.4 实施阶段——实用主义思维 23

3.5 复盘阶段——分析思维 24

3.6 架构活动不同阶段的思维模式组合 26

3.7 小结 27

3.8 思维拓展:学习切换思维模式 27

3.9 思考题 28

第二部分 架构师的生存法则

第4章 互联网架构活动的抽象模型 31

4.1 架构活动领域模型 31

4.2 影响架构活动成败的 6 个要素 32

4.3 架构师的 6 条生存法则 34

4.4 小结 36

4.5 思维拓展:永远不能犯同样的错误 36

4.6 思考题 37

第5章 生存法则一:有唯一且正确的目标 38

5.1 架构活动中的目标 38

5.1.1 业务目标和技术目标对一个软件系统的价值 38

5.1.2 研发资源充足的环境更需要精准的目标 40

5.2 目标缺失的根因 40

5.2.1 技术场景之一:单纯由好奇心驱动的技术探索 41

5.2.2 技术场景之二:出于个人原因发起架构活动 41

5.2.3 技术场景之三:个人决策失误导致设错目标 42

5.2.4 业务场景之一:决策者远见不足导致目标太多 42

5.2.5 业务场景之二:企业内部斗争导致目标摇摆不定 44

5.2.6 业务场景之三:企业缺乏立项流程而导致目标缺失 44

5.3 架构师如何帮助团队逼近正确目标 44

5.3.1 价值思维:对目标正确性的判断 45

5.3.2 架构师如何影响技术项目的目标 46

5.3.3 架构师如何影响业务项目的目标 48

5.4 如果有一个正确但太过超前的目标该怎么办 50

5.5 小结 51

5.6 思维拓展:从反抗权威中获取决策自信心 52

5.7 思考题 53

第6章 生存法则二:架构设计要顺应人性 54

6.1 理解人性,从马斯洛的动机跃迁理论讲起 54

6.1.1 不是需求有层次,而是动机有优先级 54

6.1.2 一个人任何时候只有一个主导动机 56

6.1.3 主导动机会抢占一个人的全部意识 56

6.2 架构设计中对人性因素的考虑 57

6.2.1 案例一:没有人性的技术架构就没有生存空间 58

6.2.2 为什么会有人设计和坚持没有人性的架构 60

6.2.3 案例二:从研发人员心理安全感的角度来思考微服务的粒度 61

6.3 从用户心智开始架构设计 62

6.3.1 案例三:从人性角度来分析拼多多是怎么赶超阿里的 63

6.3.2 从用户心智角度理解增长飞轮 63

6.3.3 案例四:心智定位是长期战略,不是靠直接的统计 65

6.4 远离邪恶的心智 66

6.5 小结 67

6.6 思维拓展:从源头学习,缩短认知差距 67

6.7 思考题 68

第7章 生存法则三:最大化经济价值 70

7.1 关于商业模式和经济价值 70

7.2 每个人都要有自己的商业模式 72

7.3 理解一家企业或一个团队的商业模式 73

7.3.1 深度理解一家企业的商业模式 73

7.3.2 一种商业模式公式化表达 73

7.3.3 商业模式的本质 75

7.4 架构师是如何创造经济价值的 76

7.4.1 通过合理取舍保证商业模式的构建 76

7.4.2 优化商业模式的效率 76

7.4.3 加速一种商业模式的收敛速度 78

7.5 从一个性能优化案例看最大化经济价值 80

7.5.1 案例背景与分析 80

7.5.2 案例剖析 82

7.5.3 故事的番外 84

7.6 小结 84

7.7 思维拓展:认知之旅是基于实证主义的知行合一 85

7.8 思考题 85

第8章 生存法则四:架构选型必须顺应技术趋势 87

8.1 消除阻碍自己探索新技术的性格弱点 87

8.2 如何发现颠覆性的技术趋势 89

8.2.1 通过技术成熟度曲线看技术生命周期 89

8.2.2 从经济角度看软件技术增长的推动力 91

8.3 由硬件技术突破推动的软件技术进化 91

8.3.1 硬件技术革新是软件技术革新的前置指标 91

8.3.2 从出货量预测硬件厂商中的赢家 92

8.4 软件行业的常见演化过程 92

8.5 由商业模式突破拉动的软件技术进化 94

8.6 全力投到一个颠覆性的技术上 95

8.7 小结 96

8.8 思维拓展:在大尺度上思考问题 97

8.9 思考题 98

第9章 生存法则五:通过架构手段为企业注入外部适应性 99

9.1 什么是外部适应性 99

9.1.1 架构师独立为企业注入外部适应性的手段 101

9.1.2 研发活动的 3 个层次 102

9.2 削弱一个软件系统外部适应性的因素 103

9.3 架构师如何为企业注入外部适应性 104

9.3.1 业务尝试和产品尝试:以最小的架构代价获得有效结论 104

9.3.2 架构改造和战略转型:彻底改造,不留后患 106

9.3.3 技术产品抽象:让架构抽象为一个理智行为 106

9.3.4 一个架构师注入外部适应性的具体案例 107

9.4 做一个比业务人员更懂业务的架构师 109

9.4.1 建立业务、产品和技术的平权世界 109

9.4.2 认知的突破靠持续的竞争对抗 111

9.5 小结 112

9.6 思维拓展:以成长思维来最大化认知的提升 112

9.7 思考题 113

第 10章 生存法则六:在一个友善的企业文化中成长 114

10.1 为什么企业文化对架构师很重要 114

10.1.1 架构师视角的企业文化 114

10.1.2 识别企业的真实企业文化 115

10.1.3 架构师的乌托邦:一个可以践行实证主义的企业文化 116

10.2 如何在小范围内打造一种友善的企业文化 117

10.2.1 靠良知换取决策机会 118

10.2.2 践行过程正义 118

10.2.3 有勇气做违反共识的决策 119

10.3 拼图的最后一块:一致的价值理念 120

10.4 良禽择木而栖 120

10.5 小结 121

10.6 思维拓展:实践从发现行动点开始 122

10.7 思考题 122

第三部分 架构活动中的挑战、根因和应对

第 11章 架构师持续发挥的作用 125

11.1 建立共识 125

11.1.1 如何在利益冲突的情况下建立共识 126

11.1.2 如何在不同视角的一群人中间建立共识 127

11.1.3 如何在不同知识背景的人群中建立共识 128

11.1.4 建立长期共识靠长期的投入和信用 128

11.2 控制风险 129

11.2.1 对风险逐渐形成量化认知 129

11.2.2 在有准备的情况下首先选择冒险 129

11.2.3 在风险失控的情形下迅速沟通 130

11.3 注入理性思考 130

11.4 小结 131

11.5 思维拓展:从僵化到内化的学习过程 132

11.6 思考题 132

第 12章 环境搭建 134

12.1 为什么要做环境搭建 134

12.2 环境搭建前的准备工作 134

12.3 如何搭建一个安全、高效且有针对性的决策环境 135

12.4 以最小必需原则获取环境资源 137

12.5 对环境的持续监控 138

12.6 小结 138

12.7 思维拓展:从换位思考到换心思考 138

12.8 思考题 139

第 13章 目标确认 140

13.1 目标确认的 3 种不同视角 140

13.2 目标确认前的准备工作 141

13.3 架构师在目标确认过程中的工作 142

13.3.1 确认核心角色 142

13.3.2 对正确目标的逼近过程 143

13.3.3 在模糊的场景下发现正确的目标 144

13.3.4 目标的合理性和可达性的初步验证 146

13.4 完成目标确认 147

13.5 小结 147

13.6 思维拓展:天下没有免费的午餐 148

13.7 思考题 148

第 14章 可行性探索 149

14.1 什么是可行性探索 149

14.2 可行性探索前的准备工作 150

14.3 可行性探索的过程 151

14.3.1 重大风险发掘 151

14.3.2 风险敞口预估 152

14.3.3 风险沟通 154

14.3.4 风险决策 154

14.4 完成可行性探索 155

14.5 小结 155

14.6 思维拓展:用好风险这个筹码 156

14.7 思考题 156

第 15章 规划确认 158

15.1 统一语义:追求不同角色间的无损交流 158

15.1.1 为什么要统一语义 158

15.1.2 由语境差异带来架构挑战的示例 159

15.1.3 语境的差异的认知根源 161

15.1.4 架构师在统一语义过程中的价值 162

15.1.5 如何在分布式的工作状态下消除语义的分歧 163

15.2 建立架构信条:建立一个安全的决策环境 164

15.2.1 信条一:任务划分可以打破现有执行团队的组织边界 164

15.2.2 信条二:通过客观的判断标准比较多个候选方案 164

15.2.3 信条三:最小化架构目标之外的技术投入 164

15.2.4 信条四:最大化系统的灵活性 165

15.2.5 信条五:架构决策要面向未来最优 165

15.3 确认需求:验证需求的充要性 166

15.3.1 从问题域到执行域的映射 166

15.3.2 最小必要需求的筛选 167

15.3.3 需求的充分性验证 167

15.3.4 处理问题域和执行域中的冲突 168

15.4 划分边界:在架构活动中重组执行域边界 170

15.4.1 市场竞争决定最优执行域边界 170

15.4.2 任务分配过程中要关注系统最软肋 171

15.4.3 锁定所有最小必要需求的交付资源 171

15.5 确认规划:通过建设反馈闭环提升交付确定性 172

15.5.1 通过保障文档到现实映射的真实性提升交付确定性 172

15.5.2 通过用例文档保障分解和传递的无损 173

15.5.3 通过提升项目数据的及时性来保障交付节奏 174

15.5.4 通过统一的领域模型来保障需求侧语义无损 174

15.5.5 通过正式的 API Spec 提升软件架构的长期合理性 174

15.5.6 通过优化数据流转提升项目结果的可观测性 175

15.5.7 通过测试用例梳理确保最终的交付质量 176

15.5.8 通过文档的完整性保障整体交付的确定性 176

15.6 小结 177

15.7 思维拓展:从细节上做宏观决策 177

15.8 思考题 178

第 16章 项目启动 180

16.1 项目启动前的准备工作 180

16.1.1 架构方案的正式确认 181

16.1.2 核心资源的官方确认 182

16.1.3 问题预警机制和冲突解决机制建设 182

16.2 项目启动 183

16.3 小结 184

16.4 思维拓展:用合同来保障命运 184

16.5 思考题 184

第 17章 价值交付 185

17.1 什么是原子价值单元 185

17.2 以用户价值为终极目标的交付方式 186

17.3 阶段性价值交付面临的挑战 187

17.4 从价值交付的角度做原子价值单元拆分 188

17.4.1 依照用户价值点拆分交付目标 188

17.4.2 以实用主义思维发现最短交付路径 189

17.4.3 从结构性和成本出发优化的交付路径 190

17.4.4 交付进度反馈和交付路径调整 191

17.5 完成阶段性交付 192

17.6 小结 192

17.7 思维拓展:持续发现并交付原子价值单元 193

17.8 思考题 193

第 18章 总结复盘 194

18.1 复盘的目的和视角 194

18.2 复盘的三大误区 195

18.3 建设一个包容且视角平衡的复盘环境 196

18.4 明确复盘的目标 197

18.5 从多个平衡的视角回放整个架构活动 198

18.6 以发掘有效行动点为目标来引导复盘路径 198

18.7 挖掘根因 200

18.8 寻找新的模式与机制 201

18.9 产出跟进项 202

18.10 完成复盘和整个架构活动,释放资源 202

18.11 小结 202

18.12 思维拓展:从实践发现新的理论 203

18.13 思考题 203

第四部分 架构师的职业规划和能力成长

第 19章 结构化设计的能力 207

19.1 结构化设计的能力是架构师成长的必要条件 207

19.2 如何提升程序员的结构化设计的能力 208

19.2.1 意识到结构化的价值 208

19.2.2 培养对软件结构性的鉴别能力 209

19.2.3 找到结构化的客观度量和逻辑 209

19.2.4 做到在业务成长周期下思考合理取舍 210

19.3 日常研发中的结构化设计行为规范 212

19.4 小结 213

19.5 思维拓展:成长的关键在于发现障碍 213

19.6 思考题 214

第 20章 解决横向问题的能力 215

20.1 跨越执行域到基础域的障碍 215

20.2 程序员提升基础域能力的策略 216

20.2.1 架构师成长策略:先优化宽度还是先优化深度 216

20.2.2 学习解决横向问题,该从哪里开始 216

20.3 从稳定性开始提升自己的横向能力 217

20.4 小结 217

20.5 思维拓展:从兴趣中放大自己的稀缺性 217

20.6 思考题 218

第 21章 解决跨领域冲突的能力 219

21.1 跨域架构师的缘起 219

21.2 从背锅来分析跨域架构师面临的领域冲突 221

21.3 如何为割裂的多个子域注入全局架构视角 223

21.4 尾声:这个锅谁来背 225

21.5 小结 226

21.6 思维拓展:社交能力对架构师也很重要 226

21.7 思考题 227

第 22章 构筑技术壁垒的能力 228

22.1 总架构师的核心能力:构筑技术壁垒 228

22.2 跨越不确定性的障碍 229

22.3 通过正确的职业选择获取高质量的决策机会 230

22.3.1 从技术型企业的生命周期来思考职业选择 230

22.3.2 从行业的生命周期来思考职业选择 234

22.4 小结 235

22.5 思维拓展:要不停地看机会 236

22.6 思考题 236

第 23章 为企业创造生存优势的能力 237

23.1 CTO 到底是做什么的 237

23.2 成长为 CTO 要跨越的障碍 238

23.3 CTO 的双重人格 239

23.4 如何提升自己的商业嗅觉 240

23.5 小结 241

23.6 思维拓展:提升自己对人才的判断力 241

23.7 思考题 242

第 24章 架构师的职业成长 243

24.1 架构师成长过程的 5 个阶段 243

24.2 贯穿架构师职业生涯的结构性 244

24.3 架构师成长的必要条件 246

24.3.1 必要条件一:独立思考的能力 246

24.3.2 必要条件二:信息优势的内化能力 247

24.3.3 必要条件三:适应力 248

24.4 架构师成长的充分条件 250

24.4.1 充分条件一:大量高风险的决策机会 250

24.4.2 充分条件二:对架构师友善的企业文化 251

24.4.3 充分条件三:正确的目标 252

24.5 架构师成长的充分条件和必要条件的思考 252

24.6 小结 254

24.7 思维拓展:职业成长也需要战略取舍 254

24.8 思考题 255

第 25章 提升独立思考的能力 256

25.1 独立思考 256

25.1.1 否定现有假设或者设立新的假设 256

25.1.2 寻找独特的视角 257

25.1.3 寻找独特的证据组合 257

25.1.4 尝试独特的思维方式 257

25.1.5 对独立思考过程的正确性保障 258

25.2 如何判断一个人的思考质量 258

25.3 如何判断一个尚未验证的思考案例的质量 259

25.4 发现身边的独立思考者 260

25.4.1 想提升自己的思考圈,先要做一个伯乐 260

25.4.2 要能容忍一个思考者的性格缺陷 261

25.4.3 往来无白丁 261

25.5 小结 261

25.6 思维拓展:建立思考者间的信任网络 262

25.7 思考题 262

第 26章 关于中台的思考 264

26.1 为什么选择中台案例 264

26.1.1 什么是中台 265

26.1.2 中台的历史 266

26.1.3 业务中台被寄予的厚望 267

26.1.4 中台被诟病的地方 267

26.2 从不同维度继续剖析中台 269

26.2.1 从价值创造的角度看中台 269

26.2.2 从竞争角度看中台 270

26.2.3 从成本角度看中台 271

26.2.4 从构筑企业壁垒的角度看中台 272

26.3 中台失败的最大根因在于分封机制 273

26.3.1 中台在演进慢和通用性高的场景中的失败案例分析 274

26.3.2 国内中台各种弊端的根因 275

26.4 关于建设中台的正确路径的思考 276

26.4.1 中台的正确组织和运行机制 276

26.4.2 中台的启动时间和环境 277

26.4.3 中台的质量保障和交付要求 278

26.4.4 中台的退出机制 279

26.5 小结 281

26.6 思维拓展:从日常生活中寻找思考案例 281

26.7 思考题 282

详情

本书以架构师工作中的痛点问题为导向,结合大量真实、复杂的案例,帮助架构师提高架构设计能力,规划职业成长路径。本书共4部分,第一部分“架构师的思维模式”介绍3种架构师的思维定式和4种架构活动中常见的思维模式;第二部分“架构师的生存法则”介绍影响架构活动成败的6个要素,以及由其引出的架构师的6条生存法则;第三部分“架构活动中的挑战、根因和应对”介绍架构师在整个架构活动中持续发挥的作用以及架构活动不同阶段常见的问题;第四部分“架构师的职业规划和能力成长”介绍架构师的成长地图和对应角色的关键能力,以及提升思考力的方法。

图书摘要

相关图书

ChatGPT与AIGC生产力工具实践 智慧共生
ChatGPT与AIGC生产力工具实践 智慧共生
专利写作:从创意到变现
专利写作:从创意到变现
程序员的README
程序员的README
人人都是提示工程师
人人都是提示工程师
开发者关系实践指南
开发者关系实践指南
产品经理方法论——构建完整的产品知识体系(第2版)
产品经理方法论——构建完整的产品知识体系(第2版)

相关文章

相关课程