程序员必备的软技能-金字塔原理拆解(上)
原书 290千字,本文预计 14千字,拆解比 20:1,预计阅读时长 15分钟
序言
日常工作中,常常因为思维、表达方式不对产生不想要的结果:
写了一个小时的周报,领导却不满意?
跟团队讲了半天自己的想法,可别人就是没理解?
看了很多知识、信息,却一点也没记住?
...
“想清楚,说明白,知道说什么、怎么说”,是我们希望达到的境界。
本文适合的读者对象:所有希望提高思考、讲话、写作、管理、解决问题逻辑性、条理性、效果和效率的人。
第 1 篇 表达的逻辑
第 1 章 为什么要用金字塔结构
人类大脑思维天然的喜欢使用金字塔结构组织的信息


编辑
图1 思维结构
1.1 归类分组,将思想组织成金字塔
人一次能够理解的思想或概念基本大概是 7 ± 2 个,数量越少越容易理解。所以通过将信息分为小于 7 ± 2 个分类,然后递归展开,就形成了一个信息的金字塔。
1.2 自上而下表达,结论先行
人的大脑会假定一同出现的思想在逻辑上存在某种关系。如果作者不挑明这种关系,读者就会自己从中总结归纳总结分类,以便理解各个组合的含义。但是读者知识背景和理解能力千差万别,很难对你想表达的内容形成一致的理解,所以我们需要理清表达思想的顺序:先总结,后具体,即自上而下表达,结论先行(不就是总分结构嘛~)


编辑
图2 递进逻辑
1.3 自下而上思考,总结概括
思想、概念的外在结构化表示,伴随着的是内在曾经历过的无数次的抽象概括、改造重组。作者面对着大量非结构化或结构错乱的元数据,通过对各元数据的分类概括、抽象总结,形成一颗有序思想树。这些元数据就是枝叶,而最终形成的树根就是主要思想、概括总结。
通常,最后形成的思想要符合:
文章中任一层次上的思想必须是对其下一层思想的总结概括
每组中的思想必须属于统一逻辑范畴
每组中的思想必须按照逻辑顺序组织


编辑
图3 金字塔
第 2 章 金字塔内部的结构
金字塔结构中每个方框就是一个主题思想,思想是位于不同的抽象层次的。
2.1 纵向关系
主题与子主题之间形成了纵向关系,纵向关系层层递进揭示主题,符合人类的疑问/解答的逻辑反应。
2.2 横向关系
各子主题之间形成了横向关系,横向关系需要通过归纳或演绎方式来对父级思想进行组织。
组织思想基本上只可能有 4 种逻辑顺序:
演绎顺序:大前提、小前提、结论
时间(步骤)顺序:第一、第二、第三
结构(空间)顺序:沈阳、大连、哈尔滨
程度(重要性)顺序:最重要、次重要,等等
2.3 序言
序言(前言、引言)用来针对初始问题连接作者和读者的一种结构,是读者和作者思想的初始交汇点。
通常,基于故事结构的序言能够使人容易接受。
第 3 章 如何构建金字塔
3.1 自上而下法
通常,自上而下的方法比自下而上的方法更容易。自上而下的逻辑类似说“我怀疑你在开车,却没有证据”的证据收集过程。


编辑
图4 软件故障解决分析金字塔
3.2 自下而上法
很多时候你会发现你还没想清楚,无法构建金字塔结构的顶部。譬如,有时你无法准确确定要讨论的主题,有时尚不清楚读者头脑中的疑问,有时则无法确定读者了解什么、不了解什么。遇到这些情况时,可以向下移动一个层次,从关键句层次入手。
自下而上的思考主要适用于手里有一大堆证据,却不知道能得出什么结论的情况,是怀疑你在开车还是啥呢,没有结论,所以需要各个要点(证据),然后找出各个要点之间的逻辑关系,得出结论。
以书中排版公司定价高没有竞争力为例,咨询顾问提出了一系列的问题和改善方法等要点。
3.2.1 列出所有要点
问题
1. 排版工作效率低
2. 每项排版任务均采用相同的工序
3.对简单任务的报价没有竞争优势
4. 无法按时完成
5.工资偏低
6. 员工短缺
7. 加班过多
8. 在排字和手工排版熵的效率低于平均水平
解决方案
1. 简化价格便宜的排版任务的工序
2.改变工作方法,提高生产效率
3.2.2 找出逻辑关系
工资低 ->员工短缺 -> 无法按时完成 ->加班过多 -> 成本过高 -> 价格没有竞争优势
工序没有区分 ->效率低于平均水平 -> 生产效率地下 ->成本过高->价格没有竞争优势
3.2.3 得出结论
如何降低排版成本 <- 简化工序 + 提高工资
初学者注意事项
1. 一定先搭结构,先尝试自上而下
2. 序言先写背景,将背景作为序言的起点
3. 先多花时间思考序言,不要省略
4. 将历史背景放在序言中
5. 序言仅涉及读者不会对其真实性提出质疑的内容
6. 在关键句层次上,更宜选择归纳推理法而非演绎论证法
第 4 章 序言的具体写法
文章的序言(前言、引言、导言)概述读者已知的信息,并将这些信息与文章将要回答的疑问建立联系,然后作者就可以将全部精力放在提供回答疑问的答案上。如果是写文章,就是“序言”;如果是演讲,就是“开场白”。
文章的序言必须用讲故事的形式,也就是说,序言必须先介绍读者熟悉的某些“背景”,说明发生的“冲突“,并由此引发读者的”疑问“,然后针对该”疑问“给出”答案“。这种讲故事的形式对于组织读者已知的信息非常有用。你一旦掌握了这种方法,就能迅速构思出较短文章的结构。文章的序言通常只有很少的几种模式。
4.1 序言的讲故事结构
文章开头的序言可以用位于金字塔顶端、文章思想结构以外的一个圆圈表示。序言总体向读者说明其已知的信息,其意义是:序言说明某种”背景“,这种”背景“中发生了某种”冲突“,从而引发了某种“疑问”,而整篇文章的目的就是回答该“疑问”。
序言要用讲故事形式,是为了让读者抛开复杂的思想,专注于你的话题。激发读者兴趣,吸引注意力:新奇、悬念、与读者本人有关。
所有引出“背景”的句子都具有一个重要特征,即能够将你“锁定”在特定的时间和空间,从而为讲故事做好准备。
“冲突”类似于讲故事时推进情节发展的因素,能够促使读者提出“疑问”。比如:
背景 = 需要从多种资本投资方案中选择风险最小的方案
冲突 = 不知道如何评估不确定性风险
疑问 = 是否有可以计算相关风险的使用方法
答案 = 有
背景 = 希望员工才气期望的行为
冲突 = 需要应用激励心理学
疑问 = 如何做到
答案 = 应用本文的观点
背景 = 需求主要产业易经停止发展或受到衰退的的威胁
冲突 = 有人认为产业发展收到威胁是由于市场饱和
疑问 = 这种看法正确吗?
答案 = 不正确,原因是由于管理失误
什么是“冲突”:“冲突”是推动故事情节发展,并引发读者提出问题的因素。
由此可以看出序言的基本结构“背景、冲突、疑问、答案”,结构顺序的不同代表不同的文章风格。
标准式:背景-冲突-答案
开门见山式:答案-背景-冲突
突出焦虑式:冲突-背景-答案
突出信息式:疑问-背景-冲突-答案
关键句要点(要点、核心观点、一级结论、一级论点、重要结论)不仅要回答由文章主题思想引起的受众的新疑问,还要呈现文章的框架结构。列出关键点可以让读者在开始阅读的最初 30秒内就能了解你的全部思路。
一般情况下,序言需要 2~3 段,无须过分使用图表,能够确保引导读者按照你的思路思考之前,读者和你站在同一个位置上即可。
关键句的每一个要点,都应该按照与全文序言相似(但简单得多)的背景-冲突-疑问的结构逐个引出。也就是说,当读者对任何一个关键句要点提出疑问时,你应该告诉读者一个简单的故事,以确保读者和你站在同一个位置上。(看上去就是结构嵌套哦~)
编写序言的 3 大原则:
1. 序言的目的是“提示”读者而不是“告诉”读者某些信息
2. 序言必须包含讲故事的 3 个要素,即“背景”、“冲突”、和“答案”。
3. 序言的长度取决于读者和主题的需求
4.2 序言的常见模式
我们写文章的目的通常是回答以下 4 类问题之一:
1. 我们应该做什么?
2. 我们应该如何做?
3. 我们是否应该做?
4. 为什么发生这种情况
本文的目的是回答读者应该做什么、如何做?
在商务文章中常见的 4 种模式:
1. 发出指示式(针对“我们应该做什么”等问句)
2. 请求支持式(针对“我们是否应该做”等问句)
3. 解释做法式(针对“我们应该如何做”等问句)
4. 比较选择式(针对“我们应该做什么”等问句)
4.2.1 发出指示式
这种模式的目的式要求或告诉某人做某事:
背景(S) = 我们打算在会议上叫你们管理货架的新方法
冲突(C)= 为了收到效果,需要你们提供你们所在地区一家存在问题的连锁店的相关信息
疑问(Q)= 我们如何想你提供信息
即:
背景(S) = 我们打算做X
冲突(C)= 需要你们做 Y
疑问(Q)= 我们如何做Y
另一个例子可以简化为:
背景(S) = 你做X
冲突(C)= 必须按 Y 方式进行
疑问(Q)= 什么是 Y 方式
4.2.2 请求支持式
背景 = 我们遇到了一个问题
冲突 = 我们的解决方案需要经费支持
疑问 = 我该批准吗?
答案 = 应该批准此申请,因为
解决该问题刻不容缓
此方案能够解决该问题
采用该方案后节约的成本
我们还可以得出其他好处
4.2.3 解释做法式
经常的,尤其在提供咨询时,你的写作目的时因为某人遇到了问题而你要告诉他如何解决这个问题,即向读者解释解决问题的方法。解释方法式文章的关键句要点结构式有关“步骤”。
背景(S) = 必须做 X
冲突(C)= 还未做好做 X 的准备
疑问(Q)= 如何做好准备
或
背景(S) = 我们目前的市场预测系统是 X
冲突(C)= 该系统不能正常工作
疑问(Q)= 如何改进,使其正常工作
此例中我们应该分析目前的流程是什么,然后确认正确的流程。通常我们会以为我们已经完全了解问题在哪而,但是如果不将这两个流程做对比,你会遗漏某个重要因素。
这里举了一个市场预测流程的对比,表明了过早的预测导致的问题。
4.2.4 比较选择式
管理者们经常让下属就某一问题进行分析并提出解决方案,还要求提供替代方法。通常,替代方案值的是在没有彻底解决问题的方案时提出的几种供选择的替代方案,这样的序言类似:
背景(S) = 我们希望做 X
冲突(C)= 我们有各种不同的做 X 的方案
疑问(Q)= 哪一种方案最合理
一旦选择了某种方案就可以围绕评估标准来写关键句要点,进一步的说明选择一种方案以及放弃其他方案的原因。
总结
金字塔原理就是一种重点突出、逻辑 清晰、主次分明的逻辑思路、表达方式和规范动作。
金字塔的基本结构是:中心思想明确,结论先行,以上统下,分类归组,逻辑递进。先重要后次要,先全局后细节,先结论后原因,先结果,后过程。
金字塔训练表达者:关注、挖掘受众的意图、需求、利益点、关注点、兴趣点和兴奋点,想清内容说什么、怎么说,掌握表达的标准结构、规范动作。
金字塔帮助达到沟通效果:重点突出,思路清晰,主次分明,让受众有兴趣、能理解、能接受、记得住。
搭建金字塔的具体做法是:自上而下表达、自下而上思考、纵向疑问回答/总结概括,横向归类分组/演绎归纳,序言讲故事、标题提炼思想精华。
皮格马利翁效应心理学指出,赞美、赞同能够产生奇迹,越具体,效果越好~
“收藏夹吃灰”是学“器”练“术”非常聪明的方法,帮助我们避免日常低效的勤奋~
相关文章:

程序员必备的软技能-金字塔原理拆解(上)
原书 290千字,本文预计 14千字,拆解比 20:1,预计阅读时长 15分钟序言日常工作中,常常因为思维、表达方式不对产生不想要的结果:写了一个小时的周报,领导却不满意?跟团队讲了半天自己…...

关于我利用python开发的PC端标注软件及目标检测软件
如何利用python快速开发PC端目标检测及数据标注软件概述开发软件背景开发第一步:功能需求分析开发第二步: 前端分区设计开发第三步:功能开发开发第四步:程序功能的打包与检查开发第五步:程序的反馈与改善一个例子的展示…...

Git导出增量包的操作步骤
前言在项目开发部署中,通常是将一个Git项目全量打包发布,但有的场景只需要导出有变更的那部分文件,增量发布,此时就需要使用Git导出增量包了。一、查看提交记录拿到提交ID码①例如使用的gitlab使用方法参考下图(一目了然) 【推荐】…...

JavaWeb--JavaScript
JavaScript1 JavaScript简介2 JavaScript引入方式2.1 内部脚本2.2 外部脚本3 JavaScript基础语法3.1 书写语法3.2 输出语句3.3 变量3.4 数据类型3.5 运算符3.5.1 \\ 和 区别3.5.2 类型转换3.6 流程控制语句3.6.1 if 语句3.6.2 switch 语句3.6.3 for 循环语句3.6.4 while 循环语…...

mars3d加载建筑物白膜及简单建筑物样式
首先需要拥有shp格式的数据。可以通过水经微图下载,注意此软件是付费的将shp格式的数据处理为切片数据,可以使用cesiumlab处理完成得到json数据就可以在mars3d中加载了 function init() { // 判断webgl支持 if (!mars3d.Util.webglreport()) { …...

数据结构之顺序表
本章重点: 1.线性表 2.顺序表 3.链表 4.顺序表和链表的区别和联系 目录 1.线性表 2.顺序表 2.1概念及结构 2.2接口实现 2.2.1 SeqList.h 2.2.2 SeqList.c 2.3数组相关面试题 2.3.1移除元素 2.3.2删除有序数组中的重复项 编辑 2.3.3合并两个有序数组…...

【数据挖掘实战】——家用电器用户行为分析及事件识别
项目地址:Datamining_project: 数据挖掘实战项目代码 目录 一、背景和挖掘目标 1、问题背景 2、原始数据 3、挖掘目标 二、分析方法与过程 1、初步分析 2、总体流程 第一步:数据抽取 第二步:探索分析 第三步:数据的预处…...

肠道核心菌属——双歧杆菌属,了解并拥有它
双歧杆菌 双歧杆菌属(Bifidobacterium)是放线菌门严格厌氧的革兰氏阳性多形性杆状细菌。末端常常分叉,故名双歧杆菌。是人和动物肠道的重要核心菌群和有益生理菌群,也是母乳喂养婴儿中发现的第二大菌。 肥胖、糖尿病和过敏等各种疾…...

Python 之 Pandas 生成时间戳范围、Pandas 的时期函数 Period() 和时间序列 - 重采样 resample
文章目录一、生成时间戳范围1. 指定值2. 指定开始日期并设置期间数3. 频率 freq4. closed二、Pandas 的时期函数 Period()三、时间序列 - 重采样 resample在开始之前,我们先导入 numpy 和 pandas 库,同时导入 python 内置的模块。 import pandas as pd…...

利用Python和Sprak求曲线与X轴上方的面积
有n组标本(1, 2, 3, 4), 每组由m个( , , ...)元素( , )组成(m值不定), . 各组样本的分布 曲线如下图所示. 通过程序近似实现各曲线与oc, cd直线围成的⾯积. 思路 可以将图像分成若干个梯形,每个梯形的底边长为(Xn1 - Xn-1),面积为矩形的一半,…...

利用机器学习(mediapipe),进行人手的21个3D手关节坐标检测
感知手的形状和动作的能力可能是在各种技术领域和平台上改善用户体验的重要组成部分。例如,它可以构成手语理解和手势控制的基础,并且还可以在增强现实中将数字内容和信息覆盖在物理世界之上。虽然自然而然地出现在人们手中,但是强大的实时手感知力无疑是一项具有挑战性的计…...

【添砖java】谁说编程第一步是hello world
编程第一步明明是下载编译器和配置环境(小声逼逼)。 Windows下的java环境安装: java的安装包分为两类,一类是JRE(Java Runtime Environmental),是一个独立的java运行环境;一类是JDK…...

el-table大数据量渲染卡顿问题
1、场景描述 在项目开发中,遇到在表格中一次性加载完的需求,且加载数量不少,有几百几千条,并且每条都可能有自己的下拉框,输入框来做编辑功能,此时普通的el-table肯定会导致浏览器卡死,那么怎么…...

MyBatis-Plus 实现分页的几种写法
简介MyBatis-Plus (opens new window)(简称 MP)是一个 MyBatis (opens new window)的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。快速开始添加依赖全新的 MyBatis-Plus 3.0 版本基于 JDK8ÿ…...

记一次Binder内存不足导致的应用被杀
每个进程的可用Binder内存大小是 1M-8KB 也就是900多KB 事情的起因的QA压测过程发生进程号变更,怀疑APP被杀掉过,于是开始看日志(实际后来模拟的时候可以发现app确实被杀掉了) APP的压测平台会上报进程号变更时间点,发…...

Zabbix4.0架构理解-zabbix的工作方式
目录 1.1、zabbix4.0架构图 1.2、zabbix的进程 1、 zabbix server 2、zabbix agent 3、 zabbix proxy 4、 java gateway 5、zabbix get 1.3、zabbix的几种工作方式 1、通过zabbix agent 2、通过zabbix proxy 3、通过 zabbix java gateway 4、其他 1.3、zabbix 数据走…...

MySQL中的一些非常实用的函数、语法
前言我最近几年用MYSQL数据库挺多的,发现了一些非常有用的小玩意,今天拿出来分享到大家,希望对你会有所帮助。1.group_concat在我们平常的工作中,使用group by进行分组的场景,是非常多的。比如想统计出用户表中&#x…...

RT-Thread移植到STM32F407
文章目录第一步:获取RT-Thread源码第二步:项目结构介绍第三步:拷贝示例代码到裸机工程第四步:删除无用文件第五步:修改工程目录结构第六步:添加工程文件路径第七步:编译第八步:修改配…...

VR全景到底有多全能?为何屡受关注?
告别两年的“冰封”时期,现在疫情放开已经有一段时间了,各个行业的市场和经济已经逐步回暖,但是疫情对广大群众造成的心理阴影还是迟迟未有退散。就拿去电影院看电影来说,以前看电影是看心情,现在看电影则是看环境&…...

剑指 Offer 30. 包含min函数的栈
摘要 剑指 Offer 30. 包含min函数的栈 一、栈解析 package Stock;import java.util.Stack;/*** Classname JZ30min函数栈* Description TODO* Date 2023/2/24 18:59* Created by xjl*/ public class JZ30min函数栈 {/*** description 最小栈的含义是每次从栈中获取的数据都是…...

stm32f407探索者开发板(二十二)——通用定时器基本原理讲解
文章目录一、三种定时器的区别二、通用定时器特点2.1 功能特点描述2.2 计数器模式三、通用定时器工作过程四、附一、三种定时器的区别 STM32F40x系列总共最多有14个定时器 三种(4)STM32定时器区别 二、通用定时器特点 2.1 功能特点描述 STM3 F4的通…...

cmake 入门三 常用变量和指令
cmake常用变量 一、cmake 变量引用的方式: 前面我们已经提到了,使用${}进行变量的引用。在IF 等语句中,是直接使用变量名而不通过${}取值 二,cmake 自定义变量的方式: 主要有隐式定义和显式定义两种,一…...

Linux基础命令-find搜索文件位置
文章目录 find 命令介绍 语法格式 命令基本参数 参考实例 1)在root/data目录下搜索*.txt的文件名 2)搜索一天以内最后修改时间的文件;并将文件删除 3)搜索777权限的文件 4)搜索一天之前变动的文件复制到test…...

获取浏览器硬件资源的媒体数据(拍照、录音、录频、屏幕共享)
目录一、window.navigator 对象包含有关访问者浏览器的信息取二、MediaDevices1.使用麦克风2.使用摄像头(和音频一样)3.拍照4.录屏三、MediaRecorder(录制,可录制音频视屏)一、window.navigator 对象包含有关访问者浏览器的信息取 <!DOCTYPE html>…...

Java入门教程||Java 日期时间||Java 正则表达式
Java 日期时间java.util包提供了Date类来封装当前的日期和时间。Date类提供两个构造函数来实例化Date对象。第一个构造函数使用当前日期和时间来初始化对象。Date( )第二个构造函数接收一个参数,该参数是从1970年1月1日起的毫秒数。Date(long millisec)Date对象创建…...

详解八大排序算法
文章目录前言排序算法插入排序直接插入排序:希尔排序(缩小增量排序)选择排序直接选择排序堆排序交换排序冒泡排序快速排序hoare版本挖坑法前后指针版本快速排序的非递归快速排序总结归并排序归并排序的非递归实现:计数排序排序算法复杂度及稳定性分析总结前言 本篇…...

python库streamlit学习笔记
什么是streamlit? Streamlit是一个免费的开源框架,用于快速构建和共享漂亮的机器学习和数据科学Web应用程序。它是一个基于Python的库,专为机器学习工程师设计。数据科学家或机器学习工程师不是网络开发人员,他们对花几周时间学习…...

C/C++开发,无可避免的内存管理(篇一)-约束好跳脱的内存
一、养成内存管理好习惯 1.1 养成动态对象创建、调用及释放好习惯 开发者手动接管内存分配时,必须处理这两个任务。分配原始内存时,必须在该内存中构造对象;在释放该内存之前,必须保证适当地撤销这些对象。如果你的项目是c项目&am…...

在React项目中引入字体文件并使用
一、背景 设计稿里某些文字所用的字体,系统默认不支持。 比如设计需要的这个字体:EmerlandRegular,即使在css里将文字字体设置为他们,实际效果也显示不出来。 二、现象及原因 1、样式 2、期待效果 3、实际效果 实际上是因为这个…...

STM32 CubeMX按键点灯
本文代码使用 HAL 库。 文章目录前言一、按键原理图二、CubeMX 创建工程三、代码讲解:1. GPIO的输入HAL库函数:2. 消抖:3. 详细代码四,实验现象:总结前言 我们继续讲解 stm32 f103,这篇文章将详细 为大家讲…...