架构师是如何工作的

我认为的“架构师如何工作”

首先阐述一下我对“架构”的认识与了解。

通过对“架构漫谈”的阅读,我首次对“架构”有了自己的认识——“一个整体会有很多小任务要去做,这个整体同时也会包含很多个体。如果我们能把整体需要做的种种任务进行划分,划分之后把每块任务一一分配给擅长此任务的个体,个体高效地完成这项任务。而个体之间也会有信息的交流使得彼此之间能有联系体现出一个整体的概念,就像是一个大型机器里的无数个齿轮一样,共同运转,负责各自的任务,在一起便实现了一个大机器的任务。”我对架构产生的原因也有了认识——“沿用我上面说到的整体和个体完成任务的关系。组成这个整体的每个个体所能完成的任务以及完成某些任务的效率是不一样的,因此我们需要对整体需要的大任务进行划分,并且将每块小任务分配给适合完成此项任务的个体,这样会提高总任务完成的效率。也即是,当我们对质量和效率有了更高的要求时,架构便会如上所述的产生了。”同时要能明确“架构解决的是谁的问题”——一个架构要解决的问题一定都是人的问题。比如妈妈让我去买酱油,“买酱油”实际上是一个解决方案,而不是问题,真正的问题是“我们家的人吃饭需要酱油,而我们家没有酱油了”。因此,解决的都是“人”的问题。

有了上面的认识之后,我逐渐对架构师的工作有了一定的认识。当我对“架构要解决的是谁的问题”这个一方面有了自己的了解之后我认识到了——找出问题的主体是做架构的首要问题。架构漫谈作者王概凯说到——“我们要解决的问题,一定都是人的问题。更进一步,架构师要解决的,基本都是别人的问题,不是自己的问题。再进一步,我们一定要明白,任何找上架构师的问题,绝对都不是真正的问题。为什么呢? 因为如果是真正的问题的话,提问题过来的人肯定都能够自己解决了,不需要找架构师。架构师都要有这个自觉:发现问题永远都比解决问题来的更加重要。”因此,作为一个架构师,首先要可以找到问题的主体,确定了问题的主体之后就要去弄明白主体有哪些问题。关于如何弄明白主体有哪些问题,架构漫谈作者王概凯说到——“常用的方式就是直接面对主体进行访谈,深入到主体的工作生活当中,体验并感受这些问题,甚至通过数据的反馈来定位问题。”当我们发现出现了问题之后,从问题出现的地方一步步深入找下去是可以找出“是谁的问题”的。如果由于时间和能力的问题实在确定不了“是谁的问题”,我们要能及时止损,降低这个问题带来的成本。

因此,首先,作为一个架构师要可以明确“要解决的问题是谁的问题”进而明确“有问题的主体都有哪些问题”。

若可以明确“问题的主体”,我们已经可以很自然地解决大部分的问题了,因为很多时候问题是因为沟通不畅而产生的,这部分的问题当我们弄明白“主体”后,自然而然地就解决了。出去上述类型地问题,还有一些真实存在的问题需要架构师去解决。通过阅读我了解到,这一部分的调整称之为“架构的切分”。

通过阅读我了解到,切分指的是——“把时间上连续的动作,切分成时间上可以并行的动作,在空间上横向扩展。”作者对切分的原则进行了阐述——“必须在连续时间内发生的一个活动,不能切分。比如孕妇怀孕,必须要 10 月怀胎,不能够切成 10 个人一个月完成;切分出来的部分的负责人,对这个部分的权利和义务必须是对等的。比方说妈妈 10 月怀胎,妈妈有权利处置小孩的出生和抚养,同样也对小孩的出生和抚养负责。为什么必须是这样呢? 因为如果权利和义务是不对等的话,会伤害每个个体的利益,分出来执行的效率会比没有分出来还要低,实际上也损害了整体的利益,这违背了提升整体利益的初衷;切分出来的部分,不应该超出一个自然人的负载。当然对于每个人的能力不同,负载能力也不一样,需要不断的根据实际情况调整,这实际上就是运营;切分是内部活动,内部无任怎么切,对整个系统的外部应该是透明的。如果因为切分导致整个系统解决的问题发生了变化,那么这个变化不属于架构的活动。当然很多时候当我们把问题分析的比较清楚的时候,整个系统的边界会进一步的完善,这就会形成螺旋式的进化。但这不属于架构所应该解决的问题。进化的发生,也会导致新的架构的切分。”

综上所述,我对“架构师如何工作”有了如下认识——首先要明确“问题的主体”,进而明确“主体都有哪些问题”,最后对“除了由沟通不畅造成的问题进行调整”,“调整”指的便是“架构的切分”。

猜你喜欢

转载自www.cnblogs.com/ruangongyouxi/p/12333290.html