分解

分解是解决问题的一种有效方式之一。分解这两个字是如此的显而易见,小学生一听都知道分解是什么意思, 以至于不需要解释太多。
这篇文章主要探讨三方面内容

  • 什么是分解?
  • 为什么要分解?
  • 如何分解一个系统?

什么是分解?


将一个事物按层次拆成层次1, 层次2,每个层次可以拆成要素1, 要素2,这就是分解。

一些具体的例子

  • 公司的组织架构。老板下面有很多经理, 经理下面有很多项目组长.
  • 公司的目标。 长期目标(愿景),中期目标,短期目标.
  • 社会大分工
  • 软件架构的分层。
  • 微服务的拆分。
  • 分布式
  • 算法分而治之的设计思想
  • 分子可以拆分成原子,原子可以拆分为质子和电子。
  • 经济研究可以分为宏观和微观。
  • 新产业可以分解为现有产业和新技术的组合。

简而言之, 分解是无处不在。

为什么要分解?

一个系统被分解之后, 它是:

  • 容易理解的
  • 容易解决的

一些具体的例子

  • 一个很复杂的任务,被分解为任务1, 任务2。。。,每一项任务只需要简单执行就能得到预期结果,以至于简单到不可能失败。这个例子很简单的,简单的会让人感觉“不过如此,这个没什么啊”。任务分解是职场里最有效的工作方式之一。 它的表现形式是如此的简单,以致于人们意识不到这种方法论的重要性。去观察一个团队的领导或者成员有没有搞清楚任务,一个重要的指标就是这个任务有没有拆解得很清楚。 换句话说,能不能将任务拆解得很清楚是团队成熟和稳定的标志之一. 为什么这么说?
    • 想明白 - 做事的前提就是想明白,搞清楚为什么。 如果一个任务能拆解的很细,说明这件任务是想明白了。
    • 可执行 - 可执行意味着能不能落地。人是天生讨论复杂和不确定的东西,任务分解的结果就是简单和确定的东西。 简单和确定意味着风险可控,结果可预期, 在规定时间内可以拿到结果。结果本质上是一种反馈和奖励机制,长期的反馈和奖励机制会形成良性循环.

并不是所有的系统都是可以拆解的,有些系统是非线性的,不遵守还原论.

如何分解一个系统?

  • 识别系统的要素
    • 不同的层次
      • 一个组织有领导层和执行层,领导层决定了执行层。
      • 一个软件有一个根本设计目标和设计原则,模式和方法。
      • 我们知道人的生命是基于碳基的,但是我们要是收集一拖拉机碳基物质,能不能创造出人类,当然是不能。碳基物质 -> 细胞 -> 器官,这是一个比较简单的描述人的物质组成图,很明显,每一层都不是下一层简单的堆砌就可以形成的,而是量变引起了质变,这种现象就称为层展现象.
    • 同一层次的不同维度
      • 如何证明美国比中国比美国强?可以从政治,经济,军事,文化,教育。。等角度出发, 这些维度是平等的。
  • 识别要素之间的关系
    • 比如在一个学校里,教师是管理学生的,而不是学生管理老师,如果是这样的话,那么系统的性质就发生变化了.
  • 识别系统的目的。
    • 系统有一个目的或者初衷。比如学校的目的是教书育人而不是从事商业化活动.
    • 有些系统的目的不是很明显。比如一个生态,它的目的就是活下来。

总结

分解是无处不在的思想, 具体落实到每个实际领域的时候,需要找到这个领域的层次和维度.

分解给我们的带来的一个启示是:
如果一个系统是可被分解的,那么它一定是可以被理解的。
如果一个系统是可以被理解的,那么它一定是可以寻求最优解的。