长文图解:详解金字塔原理如何应用于架构设计

科技资讯 投稿 6100 0 评论

长文图解:详解金字塔原理如何应用于架构设计


0 文章概述

上述情况的出现大概率是因为表述者没有使用结构化方法进行阐释,信息看似非常丰富但是杂乱无章,让人很难抓住重点,所以我们需要引入结构化思维方法论。


1 怎么样提好一个问题

那么应该如何阐释清楚问题呢?我们可以使用金字塔原理提出的结构化表达SCQA工具,这四个字母分别代表背景、冲突、疑问、回答。

冲突(Complication)是在上述背景下出现了哪些矛盾,常见的类型有三种:哪些预期未达标、哪些流程不顺畅、哪些隐患还存在。

回答(Answer)是针对上述四类问题给出的答案,而回答就是金字塔结构的中心思想。

背景:业务数据量越来越大

疑问:应该做什么才能够支撑后续业务

此时技术方案准备解决什么问题就清楚了,而对这个问题的回答就是金字塔结构的中心思想。下面我们就要对这个中心思想使用金字塔原理进行结构化组织。


2 结构化方式组织回答


2.1 纵向结构

金字塔的纵向结构体现了两个原则:结论先行和以上统下,我们分别进行分析。

2.1.1 结论先行

    先重要后次要
  • 先框架后细节
  • 先总体后细分
  • 先论点后论据
  • 先结论后原因
  • 先结果后过程

假设一个同事代码发布上线后导致系统故障,如果不使用结构化方法是这么表述的:

这位同事中心思想是问题原因比较难排查,应该先回滚代码再分析问题,但是他把最重要的观点放在最后,不听到最后不知道他要做什么,而如果结论先行应该怎么表述呢?

我们比较两段表述不难发现,第二段表述结构清晰很多,信息传达效率显著提升,这就是结论先行的优势所在。


2.1.2 以上统下

第一步我们要对菜品自下而上进行聚合归纳,这是一个找规律的过程。第二步再以上统下进行结构化表达从而帮助记忆。


上述实例比较简单,因为元素之间的关联性比较容易寻找,但是真实场景是不会这么简单的,元素之间关联性并不容易建立,那么我们应该如何从中心思想展开至第二层?

    What:是什么、做什么

  • Where:在哪里、从哪开始

  • Who:谁负责、谁来做、谁验收

  • How Much:做多少、各项指标是多少

2.1.3 实际应用

我们看看结论先行和以上统下的实际应用。根据第一章节我们使用SCQA工具得到了回答,这个回答就是金字塔结构中心思想,那么根据结论先行原则在金字塔顶端就要开门见山地展示中心思想。然后我们再用2W1H模型组织论点,到这里一个金字塔的基本结构就已经搭建完成:


2.2 横向结构

2.2.1 归类分组

(1 归纳推理

我们一般用归纳推理和演绎推理两种方法进行归类分组,我们先看归纳推理。

欧洲人看到的天鹅都是白色的,那么他们就归纳总结说所有的天鹅都是白色的。当一只黑天鹅出现时,这个结论就被证明是错误的,这就是黑天鹅事件。

金字塔原理归纳推理一般有以下四种维度:时间维度、结构维度、程度维度、经验维度。时间维度是根据天然时间线进行归纳,结构维度根据组织结构进行归纳,程度维度是根据程度级别进行归纳,经验维度是根据已有经验进行归纳。我们分别来看上述四种维度的几种常见类型:

时间维度
    事前、事中、事后
  • 短期、中期、长期
结构维度
    信息部、行政部、人力部
  • 开发组、测试组、运维组
程度维度
    高级、中级、初级
  • 重要、次要、不要
经验维度
    市场战略3C理论
  • 市场决策4P理论
  • 高扩展、高可用、高性能

(2 演绎推理

演绎推理是指根据公理、定理或者自己相信的观念,做出推理或者判断,得到结论。

需要注意在逻辑上严谨,不是说结论一定是正确的。例如自己相信的观念最终被证明是错误的,那么得到结论也就是错误的。

演绎推理还可以分为现象、原因和解决方案三个要素:现象是开发代码质量不高,原因是没有统一代码规约,解决方案是制定统一代码规约。


2.2.2 逻辑递进

逻辑递进是指每种思想需要按照一定顺序进行排列,例如时间维度按照事前、事中、事后进行排列,程度级别按照高级、中级、初级进行排列,这样排列的优点是符合理解和记忆的习惯。


3 综合实例

3.1 提出问题

我们还是以系统优化案例进行说明,第一步是使用SCQA提出问题从而引出回答。背景是业务数据量越来越大,冲突是响应经常超时现有系统难以支撑,疑问是应该做什么才能够支撑后续业务,回答是我们应该优化系统,而回答就是金字塔结构的中心思想。


3.2 给出回答



高可用强调对系统的保护,面对大流量可能带来的非线性压力,我们要做好降级、延时、隔离、冗余、告警和响应防止系统崩溃。

因为需要组织和表达信息较多,我们可以选择将金字塔旋转90度,这样做只是为了展示信息更加方便,在逻辑上并不改变金字塔结构。


3.3 落地执行

团队(Team):有多少人可以投入这个项目,人员构成是什么,例如有几个服务端和几个前端,人力投入量直接影响执行节奏。

节奏(Rhythm):受限于开发人数和项目排期等因素,系统优化很难一步到位,所以我们可以设置几个里程碑节点,规划短期、中期、长期目标,这样大目标就被拆成几个小目标逐一实现。

我们把SCQA和上述四个维度进行合并,组成SCQATPRR闭环工具,这个工具可以助力方案减少缺失环节,从而形成闭环。


4 文章总结

需要说明的是结构化思考工具只是一个工具,解决问题的关键还是我们要在本专业领域钻研和精进,也要在平时注意将零散的专业知识进行归纳整理,这样专业知识和工具相结合才会发挥更大的作用,希望本文对大家有所帮助。欢迎大家关注公众号「JAVA前线」查看更多精彩分享文章,主要包括源码分析、实际应用、架构思维、职场分享、产品思考等等,同时欢迎大家加我微信「java_front」一起交流学习

编程笔记 » 长文图解:详解金字塔原理如何应用于架构设计

赞同 (29) or 分享 (0)
游客 发表我的评论   换个身份
取消评论

表情
(0)个小伙伴在吐槽