按照架构的定义,架构的第一步就是识别问题,界定问题。所以如何识别问题是架构中的首要任务。
通过切土豆的笑话,告诉我们只有真正投入思考问题是什么的工程师,才可能会真正的成长为架构师,并引出我们在处理问题时会犯的错误:
被告知要处理一个问题,但是交过来的实际上是一个解决方案,不是问题本身。
被告知要处理一个问题,直接通过直觉就有了一个解决方案,马上考虑解决方案如何落地,或者有几种解决方案,选哪个合适。
对于识别问题,最大的前提就是要搞清楚:是谁的问题。找出问题的主体,是做架构的首要问题,很多时候大家在面对问题,都会忽略主语,而找不到是谁的问题,沟通的时候也都认为知道对方的主语是谁,这时就会发生一半土豆的问题。通过锤子、设计师、施工队的简单例子,说明了问题的主体对问题的边界确定有多么的重要。
当明白了问题的主体,我们才可能真正的认识问题是什么。因为问题的主体是问题的隐含边界,边界不确定下来,问题就是不确定的。一旦确定了主体,剩下的就是去搞明白主体有哪些问题。
一般来说,从问题暴露的点,一点点去溯源查找,一定会找出来谁的问题,以及是什么问题。最坏情况就是当我们时间或者能力有限,实在是无法定位出是谁的问题的时候,比如系统出故障,也就意味着我们无法根本解决问题。这时最好的办法就是去降低问题发生所带来的成本,尽量去隔离问题影响的范围。给我留出时间和空间去识别真正的问题。
要正确的认识问题,需要问两个问题:
这是谁的问题?
有什么问题?
在问题一上花费的时间通常是最多的,因为架构解决的是人的问题,但是一旦确定了主体,问题二就会变得非常简单。所以作者总结:架构师的能力大部分会体现在问题1的识别上。